From 5ad75fb2296ea6ab839609d0b4362545b3513dbd Mon Sep 17 00:00:00 2001 From: JianFeeeee Date: Sat, 3 Oct 2026 08:00:14 +0800 Subject: [PATCH] =?UTF-8?q?chore(=E9=80=80=E5=9C=BA):=20opencode=20?= =?UTF-8?q?=E5=AE=BF=E4=B8=BB=E9=80=80=E5=9C=BA=20=E2=80=94=E2=80=94=20?= =?UTF-8?q?=E6=B8=85=20339MB=20=E5=BF=AB=E7=85=A7=20+=20=E7=99=BB=E8=AE=B0?= =?UTF-8?q?=E9=80=80=E5=9C=BA=E8=B1=81=E5=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 用户 2026-10-03 确认「opencode 已经卸载了,清除残余」。 ## 清除的(生产侧) `/opt/agentmail/plugins/opencode-mail-bridge/` 整个目录(4 个快照 + current, 339MB)。删前核实过无任何引用: · 进程无、/etc/systemd/system/opencode* 无、/root/.config/opencode 无 · 外部引用只剩三处**无关**命中:pi 单元里的注释、llmsproxy 的上游源、 ollama 的 PATH —— 都不是对这个插件的引用 数据库里的 Agent 身份与 373 封历史邮件**保留**:那是协作记录,不是部署残余。 ## 保留的(仓库侧) `plugins/opencode-mail-bridge/` 与 `deploy/systemd/opencode-serve.service*` 故意留在仓库里,与 zcode 退场同处理 —— 退场是「这台机器上跑什么」的事实, 代码保留是「还能不能恢复」的能力,两件事分开记。 ## 判据登记 `check-deploy-drift.mjs` 的 `RETIRED_HOSTS` 增加 opencode,并记下退场前实测到的 三件事,便于日后分辨「退场」与「半坏」: · 仓库里单元文件还在,但 git status 无删除记录 ⇒ 是主动卸载,不是部署事故 · 快照已清除 **三个单元项一个都不能漏**(services + 两个 drop-in)。实测漏登记 `zz-restart-backoff.conf` 时判据立刻报「缺该文件」——这个豁免是「全都没装」, 漏登记等于给退场宿主留一个假红。 **变异验证**:把 `opencode-serve.service` 放进 /etc 模拟半装 ⇒ 豁免失效、 判据报「1 个宿主需要重新部署」;移走 ⇒ 回到「四个宿主都在跑当前代码」。 ## 顺带清掉自己造成的一处污染 两个 dsh 快照里混进了 `package.json.bak-20261002-2015` —— 那是我改 peer 时建的 备份,被 `cp -a` 一起拷进了快照。仓库工作区那份早已删除,但快照里的被带上了, 漂移判据报「快照独有」。已清除(仓库无 .bak 文件,无需提交)。 --- deploy/check-deploy-drift.mjs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/deploy/check-deploy-drift.mjs b/deploy/check-deploy-drift.mjs index b453f56..fb4010e 100644 --- a/deploy/check-deploy-drift.mjs +++ b/deploy/check-deploy-drift.mjs @@ -134,6 +134,29 @@ const RETIRED_HOSTS = { plugin: 'zcode-mail-bridge', units: ['zcode.service', 'zcode-mail-bridge.service', 'zcode.service.d/10-dbus.conf'], reason: '宿主已在本机删除(用户 2026-09-28 确认);插件与单元故意留在仓库里以便恢复' + }, + + // ★ opencode 于 2026-10-03 退场(用户确认「已经卸载了,清除残余」)。 + // + // 退场前实测到的三件事,登记在此以便日后分辨「退场」与「半坏」: + // · 进程无、/etc/systemd/system/opencode* 无、/root/.config/opencode 无 + // · 但 deploy/systemd/opencode-serve.service* 在**仓库里**还在, + // 且 git status 无删除记录 ⇒ 是主动卸载,不是部署事故 + // · 4 个快照(339MB)已按用户指示清除 + // + // 代码与单元**故意留在仓库里**:与 zcode 同处理 —— 退场是「这台机器上 + // 跑什么」的事实,代码保留是「还能不能恢复」的能力,两件事分开记。 + opencode: { + plugin: 'opencode-mail-bridge', + // 两个 drop-in 都必须登记:只登记一个时判据立刻报「缺 zz-restart-backoff.conf」 + // (实测踩过一次)—— 这个豁免是「全都没装」,漏登记等于给退场宿主留一个假红。 + units: [ + 'opencode-serve.service', + 'opencode-serve.service.d/zz-failure-notify.conf', + 'opencode-serve.service.d/zz-restart-backoff.conf', + ], + reason: '宿主已卸载(用户 2026-10-03 确认「已经卸载了,清除残余」);' + + '4 个快照共 339MB 已清除;插件与单元故意留在仓库里以便恢复' } };