# workbuddy-plugin **Repository Path**: hualia2009/workbuddy-plugin ## Basic Information - **Project Name**: workbuddy-plugin - **Description**: workbuddy plugin - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-10 - **Last Updated**: 2026-09-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # OpenAgent WorkBuddy REL 插件 ## 修订记录 | 版本 | 日期 | 变更内容 | 作者 | | --- | --- | --- | --- | | V1.0 | 2026-09-08 | 新建复用 Codex 业务 Skills 和共享 MCP 的 WorkBuddy 分发源。 | Codex | | V1.1 | 2026-09-08 | 移除独立宿主 reference,适配内联到 Skills,并更新分发清单。 | Codex | | V1.2 | 2026-09-08 | 保持 Skill 标题结构,说明用英文并保留双语示例,浏览器统一为 master 的 present_files 协议。 | Codex | | V1.3 | 2026-09-08 | 衔接首次使用的自动 OAuth 安装,防止缺失 MCP 时误报已安装。 | Codex | | V1.4 | 2026-09-08 | 增加可独立下载的单文件卸载器和一条命令入口。 | Codex | | V1.5 | 2026-09-09 | 补充功能对等的 Python 单文件卸载器与一条命令入口。 | Codex | | V1.6 | 2026-09-09 | 合并自动 OAuth 与双语言卸载功能,准备发布 0.2.2。 | Codex | | V1.7 | 2026-09-09 | 增加 Bash 管道卸载入口,保留终端确认并简化命令。 | Codex | | V1.8 | 2026-09-09 | 删除 Node 卸载器及兼容模块,统一使用 Python 卸载器。 | Codex | | V1.9 | 2026-09-09 | 发布 0.2.3,更新 Bash 卸载入口版本说明。 | Codex | | V1.10 | 2026-09-09 | 发布 0.2.4,rel 载荷移除三个旧 Skill,仅分发五个新 Skill。 | Codex | | V1.11 | 2026-09-09 | 发布 0.2.5,接入共享异步执行、同任务结果恢复和附件文本兼容。 | Codex | | V1.12 | 2026-09-09 | 按用户要求移除 INSTALL 修订记录,统一十个共享工具的安装验收说明;运行版本保持 0.2.11。 | Codex | | V1.13 | 2026-09-10 | 0.2.12 改用 HTTP 直连与显式 Token 刷新,支持旧 REL stdio 配置迁移,停止分发代理。 | Codex | | V1.14 | 2026-09-10 | 0.2.13 将授权、HTTP 配置和连接验证拆成独立步骤,支持失败后续装。 | Codex | | V1.15 | 2026-09-10 | 安装与验证仅使用 ~/.workbuddy,保留旧目录卸载兼容。 | Codex | | V1.16 | 2026-09-10 | OAuth 细分为四步,连接验证不回读 MCP 配置,保留核心工具、附件和长任务能力。 | Codex | | V1.17 | 2026-09-10 | 0.2.14 卸载器自动查找用户入口和 macOS WorkBuddy 内置 CLI,修复 PATH 缺失时卸载中断。 | Codex | | V1.18 | 2026-09-10 | 安装改为逐步短命令和原生插件安装,对齐 curl/Python 分工、安装入口和验证范围。 | Codex | | V1.19 | 2026-09-10 | 准备发布 0.2.15 的短命令安装与 guide 衔接,按撤销后的现有方案分发。 | Codex | | V1.20 | 2026-09-11 | 发布 rel 后自动快进并推送 master,明确双分支一致性和部分失败恢复。 | Codex | | V1.21 | 2026-09-11 | 0.2.16 卸载按实际配置目录和原生登记清理设置、缓存与市场目录,保留旧安装兼容。 | Codex | | V1.22 | 2026-09-11 | 0.2.17 兼容缺少 resource 的旧 OAuth 刷新记录,保留来源冲突保护。 | Codex | | V1.23 | 2026-09-11 | 0.2.18 修复原生 CLI 替换配置权限导致的误报,并识别零退出码失败。 | Codex | | V1.24 | 2026-09-11 | 0.2.19 卸载子进程关闭宿主内置市场自动维护,避免删除其他市场登记。 | Codex | | V1.25 | 2026-09-11 | 用户引导对齐 Codex,删除安装处理及业务 Skills 的安装转交。 | Codex | | V1.26 | 2026-09-11 | 准备发布 0.2.20,引导职责分离与五个 Skills 同批分发。 | Codex | | V1.27 | 2026-09-11 | 0.2.21 修复 Finder .DS_Store 被误判为插件版本,保留元数据及原有清理边界。 | Codex | | V1.28 | 2026-09-11 | 0.2.22 安装说明和结果提示移除固定工具总数,按必需能力验收。 | Codex | | V1.29 | 2026-09-11 | 0.2.23 卸载增加三个已知浏览器关闭页面的校验与清理,保留其他工具文件。 | Codex | | V1.30 | 2026-09-11 | 0.2.24 补充 WorkBuddy.app 内置 CLI 查找,兼容旧应用名称。 | Codex | | V1.31 | 2026-09-12 | 0.2.25 发布旧 SSE 兼容标识与取消终止规则;精简 INSTALL,按用户授权移除插件内过时 README。 | Codex | | V1.32 | 2026-09-12 | 准备 0.2.26,卸载兼容 openagent_oauth.json 及 MCP 已移除后的凭据残留。 | Codex | | V1.33 | 2026-09-12 | 准备 0.2.27,补齐三个实测凭据文件别名,保留配置备份。 | Codex | | V1.34 | 2026-09-14 | 发布 0.2.29,选择返回 cancelled 时跳过关闭辅助页及清理门禁。 | Codex | | V1.35 | 2026-09-14 | 发布 0.2.30,账户余额与月消费固定四位小数。 | Codex | | V1.36 | 2026-09-14 | 0.2.31 公开安装模板明确启用 MCP,安装与刷新后改为新建任务验收;移除搜索 Skill 的安装排查提示。 | Codex | | V1.37 | 2026-09-15 | 撤回免重启安装方案,恢复原配置模板及重启后验收提示,保留超时和已发布版本。 | Codex | | V1.38 | 2026-09-15 | 安装配置改用内联 Python 合并 JSON 并单次原子写回,保留既有字段和流程。 | Codex | | V1.39 | 2026-09-15 | 安装增加 Python 合并 OpenAgent 信任记录及回读校验,明确宿主缓存与重启边界。 | Codex | | V1.40 | 2026-09-15 | 增加原生插件下载只读核验,区分下载完成与重启后的宿主加载。 | Codex | | V1.41 | 2026-09-15 | 准备 0.2.32,发布 Python 安装配置、信任与下载核验及引导链接显示兼容。 | Codex | | V1.44 | 2026-09-16 | 发布 0.2.35,撤回安装后自动重启与发送方案,恢复手动重启和新任务消息指引,删除对应辅助脚本。 | Codex | | V1.45 | 2026-09-16 | 增加固定 Shell 实现、分发和安装调用,完成 macOS 托管重启与单次任务提交;Windows 保留手动入口,版本不变。 | Codex | | V1.46 | 2026-09-16 | 准备发布 0.2.36,包含自动重启及指定任务发送脚本,并统一版本清单。 | Codex | | V1.47 | 2026-09-16 | 修复 ps 受限导致自动收尾失败:LaunchServices 识别主进程,ps 仅补充后代。 | Codex | | V1.48 | 2026-09-16 | 准备发布 0.2.37,交付 WorkBuddy 内 ps 权限兼容修复。 | Codex | | V1.49 | 2026-09-16 | 补充重启后台兼容、编辑器同步及真实沙箱验收边界,发布待验收闭环。 | Codex | | V1.50 | 2026-09-16 | 集成原生链接重启发送,补充默认沙箱验收与 0.2.38 发布门禁。 | Codex | | V1.51 | 2026-09-16 | 修复无确认框强制重启,记录原生发送附带预览的限制与实机验收。 | Codex | | V1.52 | 2026-09-17 | 准备 0.2.40,引导前轮询当前实例日志,未确认或调用失败时停止完成文案。 | Codex | | V1.53 | 2026-09-17 | 准备 0.2.41,安装后台按当前任务完成状态重启,不设等待超时,保留实机验收边界。 | Codex | | V1.54 | 2026-09-17 | 按用户要求恢复原 guide,撤销工具查询与日志轮询门禁。 | Codex | | V1.55 | 2026-09-17 | 重启后改为输入框预填,不自动发送或主动打开浏览器。 | Codex | | V1.56 | 2026-09-17 | 准备 0.2.42,合并发布原 guide 恢复与重启后只预填消息。 | Codex | | V1.57 | 2026-09-17 | 参考用户验证脚本改为调试启动及 CDP 自动发送,保留当前任务完成门禁。 | Codex | | V1.58 | 2026-09-17 | 准备 0.2.43,发布参考用户脚本的 CDP 自动重启与发送。 | Codex | | V1.59 | 2026-09-17 | 对齐用户实测脚本的 LaunchAgents 路径与 launchctl load 接管,补充清理和失败回执。 | Codex | | V1.60 | 2026-09-17 | 准备 LaunchAgent 接管修复的 0.2.44 提交与插件发布候选。 | Codex | | V1.61 | 2026-09-17 | 按参考脚本改为 Shell 独立后台链路,移除就绪握手并保留日志。 | Codex | | V1.62 | 2026-09-17 | 准备 Shell 后台链路的 0.2.45 精确提交和插件发布。 | Codex | | V1.63 | 2026-09-17 | 移除参考脚本没有的全局锁目录,修复后台在重启前因 WORKER_BUSY 停止。 | Codex | | V1.64 | 2026-09-17 | 准备全局锁门禁修复的 0.2.46 精确提交与插件发布。 | Codex | | V1.65 | 2026-09-17 | 直接复制用户验证脚本的 install 流程,恢复前台退出和原后台路径,私有 JSON 传递完整消息。 | Codex | | V1.66 | 2026-09-17 | 保留本地入口并在原后台流程加回当前任务完成门禁。 | Codex | | V1.67 | 2026-09-17 | 后台仅使用 nohup,不注册 LaunchAgent,保留本地测试与任务完成等待。 | Codex | | V1.68 | 2026-09-17 | 撤销仅 nohup 试验,恢复已验证的 LaunchAgent 启动及等待、本地入口。 | Codex | | V1.69 | 2026-09-17 | 改为独立 Python 后台及直接调试启动,由用户本地验收。 | Codex | | V1.70 | 2026-09-17 | 捕获本次新会话创建结果并确认界面跳转,避免仍选中旧会话。 | Codex | | V1.71 | 2026-09-17 | 撤销本地重启入口,统一下载 rel 脚本并准备发布 0.2.47。 | Codex | | V1.72 | 2026-09-17 | 发布 0.2.48,CDP 超时改为 60 秒,精简重启脚本及安装、核验说明,补充发送回归。 | Codex | | V1.73 | 2026-09-17 | 发布 0.2.49,重启入口跳过已有目录的重复创建,权限拒绝提示原生授权,安装调用显式使用前台模式。 | Codex | | V1.74 | 2026-09-18 | 合并 Token 交换、MCP 配置与初始化验证,凭据仅在内联程序及私有文件中流转。 | Codex | | V1.75 | 2026-09-18 | 信任登记合入 Token 程序,重启仅核验已有固定来源信任,不再读取 MCP 正文。 | Codex | | V1.76 | 2026-09-18 | 恢复本地文档同目录重启脚本入口,公开链接保留 rel 下载,本地失败不回退。 | Codex | | V1.77 | 2026-09-18 | 合并 macOS 设置、插件核验及重启安排为一次工具调用,保留本地测试入口。 | Codex | | V1.78 | 2026-09-18 | 合并调用内部等待插件下载最多 60 秒,禁止失败后自动重跑触发再次授权。 | Codex | | V1.79 | 2026-09-18 | 按用户要求回退本地重启脚本入口,统一下载线上 rel 脚本,保留合并调用与有限等待。 | Codex | | V1.80 | 2026-09-18 | 准备发布 WorkBuddy 0.2.50,交付合并安装、静态 Token 兼容及信任核验新协议。 | Codex | | V1.81 | 2026-09-18 | 移除模型额外输出的统一授权说明,保留宿主原生审批及安装流程。 | Codex | | V1.82 | 2026-09-18 | 第 4 步提取为下载执行的单进程脚本,保留私有凭据、恢复刷新与信任保护。 | Codex | | V1.83 | 2026-09-18 | 准备发布 0.2.51,分发第 4 步下载脚本及精简安装文档,移除额外授权文案。 | Codex | | V1.84 | 2026-09-18 | 准备 0.2.52,将 settings 合并与插件核验抽成独立 setup 脚本,固定 rel 下载执行。 | Codex | | V1.85 | 2026-09-18 | 0.2.53 自动发送改用输入状态与发送 API,移除模拟操作。 | Codex | 本目录是 OASN 中 WorkBuddy 插件的源码与发布事实源。安装入口为 [INSTALL.md](INSTALL.md);先发布 [workbuddy-plugin 的 rel 分支](https://gitee.com/hualia2009/workbuddy-plugin/tree/rel),再快进并推送 `master`,保持两分支提交与代码一致;原拼写的 `preveiw` 保留。 ## 复用和边界 - 五个 Skill 的业务基线为 `frontend/plugins/codex/openagent/codex/skills`,业务阶段层级和顺序保持一致,不新增宿主适配章节。保留中英双语回复模板;guide 的引导阶段改名为 `User Guide`,不承担安装职责。浏览器和附件规则在原有章节内按 WorkBuddy 约定调整,更新时逐文件对比 Codex。 - 共享 MCP 地址:`https://oasn-pre.haimawan.com/mcp/v1/open-agent`。工具列表和参数来自该服务,见 [执行 Skill](plugins/openagent/skills/openagent-run-agent/SKILL.md)。 - `0.2.5` 通过 `openagent_run(async=true)` 启动,再用 `openagent_get_agent_result` 分段查询同一任务;缺失句柄时通过 `openagent_list_recent_invocations` 恢复。后端须先提供共享查询工具和 `async` 参数;完整终态才进入产物交付,查询失败不更换幂等键重新生成。 - 不修改或删除 OASN 的 `open-agent-workbuddy` Resource、专属工具和测试,也不修改 Codex/Claude 插件。 - OAuth 注册使用 curl,PKCE 与固定 52961 端口的浏览器回调使用短 Python;Token 交换、MCP 配置、初始化验证和信任登记由一次下载执行的 Python 脚本调用完成,Token 不返回模型,保留随机 state 校验,参考 [ChatCut WorkBuddy 安装方案](https://chatcut.io/workbuddy),由第 4 步脚本和 restart_send 内联 Python 分别合并并原子写回 MCP 配置和插件设置;各文件通过一个工具调用完成,配置已满足要求则不重复写入。仅保留公开注册信息、PKCE 参数和授权码供后续步骤使用;Token 私有保存到 ~/.workbuddy/openagent-rel-oauth.json,模型不读取或输出 Token,禁止读取其他客户端令牌或复用 Preview Grant。 - guide 只处理用户引导和指定 Agent 转交:查询动画与可信新用户奖励,显示原双语引导模板;动画失败继续引导,奖励失败省略奖励行,不读取安装文档、运行脚本或判定安装成败。其他业务 Skill 缺少必要工具时报告不可用并停止,不转交 guide 安装。安装由独立 [INSTALL.md](INSTALL.md) 处理。 - 不复制 Codex 私有 `.mcp.json` 字段和浏览器缓存执行器。配置仅写入 `~/.workbuddy` 的原生插件设置和 `mcp.json` HTTP 直连配置,新流程使用私有凭据文件供恢复和刷新,不维护 OAuth 步骤状态机;插件目录不放同名 `.mcp.json`,避免覆盖登录配置。服务地址和 OAuth 仍为共享 MCP;Token 过期后显式将第 4 步下载执行命令改为 refresh 模式,内部刷新、更新配置并验证,再重启 WorkBuddy。 - 客户端工具超时为 86400000 毫秒,与 Codex 的一天上限一致;不是承诺宿主必定允许等待一天。 - 选择页和默认打开的结果页统一使用 master 的内置 `present_files`,必传原始 URL、当前任务绝对 `cwd` 和 `explanation`,仅接受非错误的 `present_files_result` 且 `previewed=1`。选择页打开失败即停,不输出含短时令牌的链接;结果页失败保留公开结果链接。MCP Apps 和附件仍须真实客户端验收。 ## 结构 `.codebuddy-plugin/marketplace.json` 为 Marketplace,`plugins/openagent/.workbuddy-plugin/plugin.json` 为载荷清单,`plugins/openagent/skills/` 为五个 Skills 和一个结果交付 reference。用户按 `INSTALL.md` 的短请求安装,第 4 步一次调用下载固定 rel 的 `scripts/openagent-workbuddy-exchange.py` 并执行;授权参数由标准输入 JSON 传入,下载/执行失败停止,临时脚本退出时清理。注册用 curl,PKCE 和浏览器回调用 Python;exchange 脚本合并换 Token、MCP 配置、初始化验证和信任登记,只输出状态,凭据私有保存。resume 模式恢复配置、验证或信任,不重复换码;refresh 模式内部读取 Refresh Token 并完成更新与验证。不维护本地 OAuth 步骤状态机。原生插件设置合并到 `~/.workbuddy/settings.json`,市场来源固定 `ref: "rel"`,由 WorkBuddy 获取五个 Skills/reference,需要 Git。`scripts/openagent-workbuddy-install.py` 仅保留旧版兼容用途,新主流程不调用它。macOS 使用 restart_send 整段命令,以同一次原生前台工具调用设置消息文件权限、下载执行 `scripts/openagent-workbuddy-setup.py` 合并 settings、只读核验插件并安排重启;不独立调用工具执行 settings、plugin_verify、chmod 或重启命令。setup 与重启脚本统一通过 curl 下载固定 rel 版本;临时副本在命令退出时清理。任一阶段失败停止;插件未就绪时在同一次调用内每秒只读检查,最多等待 60 秒,就绪后继续,超时不安排重启并禁止安装 Agent 自动重跑整段;JSON 损坏、权限错误、来源冲突及登记路径异常立即停止。Bash 显式 timeout=120000,避免下载等待被工具默认超时打断;宿主原生审批保持,实际弹框次数需实机验证。无论读取本地 INSTALL.md 还是公开链接,重启统一下载固定 rel 已发布脚本,不执行工作区版本;下载或语法检查失败停止,不换源重试。随后调用 `sh scripts/openagent-workbuddy-restart.sh install --require-existing-trust --wait-for-turn --message-file `,入口 Shell exec Python,使用 Popen 的独立会话创建纯 Python 后台;前台返回,后台等待当前宿主任务 completed 后强制退出 WorkBuddy,再直接运行 Info.plist 声明的可执行文件,并显式传入 9222 调试变量,经 CDP 启用服务并自动发送。不注册 LaunchAgent,不使用 nohup 或后台 Shell,不恢复独立注册器或额外交接。消息及当前任务 ID/PID 通过 0600 JSON 传递,不插入后台源文件或日志;后台完成或失败均清理正文。旧版 request-id、dry-run 和 status 参数明确拒绝;文件策略拒绝时停止,创建 PID 不证明重启或消息持久化,实机及工具加载单独核验。完整操作与手动入口见 INSTALL.md。Windows 保留手动收尾。日常请求由 WorkBuddy HTTP 客户端直接发送。 `scripts/openagent-workbuddy-uninstall.py` 是唯一卸载实现,仅依赖 Python 3.9+ 标准库;`scripts/openagent-workbuddy-uninstall.sh` 是下载并调用它的 Bash 管道入口。 `scripts/distribution.py` 是分发允许清单,`scripts/sync_plugin.py` 和 `tests/` 只供 OASN 维护,不分发开发文件、缓存或凭据。 macOS 安装收尾等待当前任务 completed 后,由后台按参考脚本退出并拉起应用,可能中断其他任务;随后经 CDP 自动发送,不主动打开右侧浏览器。文件授权、日志核验与手动入口见 [INSTALL.md](INSTALL.md)。 ## 一条命令卸载 推荐 Bash 入口(自 `0.2.3` 提供,需要 Python 3.9+):先完全退出 WorkBuddy,在系统终端执行。 ```bash curl -sSL https://gitee.com/hualia2009/workbuddy-plugin/raw/rel/scripts/openagent-workbuddy-uninstall.sh | bash -s ``` 脚本下载 Python 卸载器后列出计划,从终端读取 `uninstall` 确认;下载失败不执行,结束后清理临时文件。只预览时将末尾改为 `bash -s -- --dry-run`;明确跳过确认时使用 `bash -s -- --yes`。没有交互终端且未指定 `--yes` 时拒绝卸载。也可使用下面的 Python 直接入口。 以下远程命令在 `0.2.2` 发布到 `rel` 后可用。先完全退出 WorkBuddy,在系统终端执行;需要 curl 和可用的 WorkBuddy `codebuddy` CLI,不自动安装依赖。无需克隆仓库或下载辅助模块。 ### Python 版(Python 3.9+,无需 pip 包) ```bash (command -v python3 >/dev/null && uninstall_dir="$(mktemp -d "${TMPDIR:-/tmp}/openagent-workbuddy-uninstall.XXXXXX")" && trap 'rm -f -- "$uninstall_dir/uninstall.py"; rmdir -- "$uninstall_dir"' EXIT && curl --fail --location --silent --show-error --proto '=https' --proto-redir '=https' "https://gitee.com/hualia2009/workbuddy-plugin/raw/rel/scripts/openagent-workbuddy-uninstall.py" --output "$uninstall_dir/uninstall.py" && python3 "$uninstall_dir/uninstall.py") ``` 脚本先检查并列出范围,输入 `uninstall` 后才删除;非交互执行须在最后的 `python3` 命令后显式加 `--yes`。只预览时加 `--dry-run`,不会修改用户文件或调用 WorkBuddy CLI。下载失败不会执行,结束后自动清理临时脚本。 目录识别:优先使用已有 `WORKBUDDY_CONFIG_DIR`,其次 `CODEBUDDY_CONFIG_DIR`;均未设置时按当前用户主目录定位 `.workbuddy`,同时兼容当前用户的 `.workbuddy`、`.workbuddy-ai`。不写死用户名、磁盘或本机绝对路径。原生 CLI 仅在子进程中使用对应的实际配置目录,父进程环境保持不变;有自定义目录时,先在终端设置实际使用的宿主配置环境变量,路径须为明确的绝对目录。 清理范围:识别目录内的五个 `openagent-*` Skills、三个旧版 Skills、结果 reference,以及 REL/旧版 OAuth 状态、锁文件及 Token 代理;MCP 配置仅移除本插件的 `openagent` 项。原生卸载后,精确移除 `settings.json` 中本插件的启用项及市场来源、`installed_plugins.json` 和 `known_marketplaces.json` 中对应登记,再清理已核实的缓存与市场目录。目录来自登记中的 `installPath`、`installLocation`,并检查原生标准位置中的旧版本残留;只接受配置目录下 `plugins/cache`、`plugins/marketplaces` 内且清单归属匹配的目标。登记越界、与其他插件共用路径或存在非用户级安装时停止,不搜索整盘或删除共享插件父目录。 浏览器页面清理:同一配置目录下 `browser-tools/close-tab.html`、`close-now.html`、`close-all-tabs.html` 通过已知关闭页面内容特征检查后纳入计划,复用 CLI 失败停止和快照复核。其他文件(含 `.DS_Store`)保留,`browser-tools` 仅在清空后删除;同名内容冲突或符号链接停止清理。`--skip-cli` 也清理这些个人页面,仍不代表完整卸载。 自 0.2.17 起,旧 `openagent-oauth.json` 未记录 `resource` 时,仅在同目录已有通过归属校验的 OpenAgent HTTP MCP 配置、文件只含非空字符串 `client_id`/`refresh_token` 及可选字符串 `note` 时允许清理。显式错误、空或 null 的 `resource`、未知字段、缺少关联 HTTP 配置或 REL 凭据文件均不套用该兼容规则;不靠文件名直接删除未知凭据。 已知凭据别名 `openagent_oauth.json`、`oasn-openagent-credentials.json`、`openagent-client.json` 和 `.openagent-oauth.json` 纳入精确清理,兼容此前卸载已移除 MCP 配置、只剩这些文件的情况。显式 `resource` 必须是已知 OpenAgent 端点;没有 `resource` 时只接受非空字符串 `client_id`、`refresh_token` 及可选字符串 `note`。该例外只适用于上述确切文件名;来源或结构冲突、符号链接仍停止,其他文件和配置备份保留,预览和错误不输出凭据。原生 CLI 失败或快照变化时不继续清理。 有符号链接、未知 Skill 文件、其他服务的同名配置或归属冲突时,任何清理前停止,不提供 `--force` 绕过。当前源码中,CLI 依次从 PATH、`~/.local/bin/codebuddy`、系统 `/Applications`、用户 `~/Applications` 下的内置入口查找,每个应用目录依次兼容 `WorkBuddy AI.app` 与 `WorkBuddy.app`,不修改 PATH 或创建链接。内置 CLI 仍需其 Node.js 运行依赖;CLI 缺失或原生卸载失败不会继续清理个人文件;`--skip-cli` 只清理 MCP、旧 Skills/OAuth/代理及已核实浏览器关闭页面,保留原生设置、登记与目录,不能视为完整卸载。CLI 后重新核对快照,允许已删除的目标和已知孤立缓存标记,其他内容变化停止;清理后回读验证。脚本不删除其他 MCP、Skill、插件、仓库或 WorkBuddy 本体,不清空共享聊天/日志/通用审批数据,也不撤销服务端 OAuth 授权。清单中的文件会永久删除;需要恢复时请先自行备份。 在已克隆的本仓库可运行 `python3 scripts/openagent-workbuddy-uninstall.py --dry-run` 预览,去掉 `--dry-run` 后确认卸载。兼容命令 `npm run openagent:uninstall` 也调用该 Python 卸载器。 ## 开发和同步 修改安装命令后,测试直接抽取文档短代码,在临时用户目录和模拟网络中执行。在本目录执行: ```bash npm run check python3 -B scripts/sync_plugin.py --dry-run python3 -B scripts/sync_plugin.py --sync python3 -B scripts/sync_plugin.py --push ``` 默认只预览;`--sync` 仅同步本地工作区,不提交、推送或移动 `master`;`--push` 要求独立的干净起点,检查两分支远端与快进条件,增量同步、精确提交并普通推送 `origin/rel`,验证后快进并推送 `master`。无分发变化时仍补齐 `master`,最终两分支本地及真实远端 SHA 相等、各自 `0/0`,工作目录保持 `rel`。不要在 `--sync` 后直接重放 `--push`,应先审阅本地改动,按个人 Skill 的已有改动恢复流程处理。 远端 `master` 必须存在;本地和远端 `master` 有 `rel` 之外的独有提交或被其他 worktree 检出时,在分发写入前停止,不 rebase、覆盖或强推。`rel` 已成功而 `master` 同步失败时明确报告部分完成,保留现场;先核对真实远端,确认来源和授权后重跑可补齐 `master`,不重复提交或回滚 `rel`。 目标必须是独立仓库根、干净的 `rel` 分支和正确的 Gitee 远端。同步采用增量语义,只增加或更新允许清单,不主动删除目标其他文件。0.2.12 不再分发代理;目标仓库和用户目录中已存在的旧代理可保留,但新安装和迁移后的配置不再引用。`0.2.4` 按明确授权从 `rel` 载荷移除 `user-guide`、`use-agent`、`stop-agent`,仅分发五个 `openagent-*` Skills;用户机器上已安装的旧副本仍由卸载器识别和清理。 个人 Skill `deploy-rel-workbuddy` 使用 OASN 源码中的同步脚本,固定先发布 `rel` 再同步 `master`。它不会提交 OASN、部署服务或运行 OAuth。第一次创建 `rel` 要从已核对且与远端一致的现有分支建立;后续不自动切换工作分支或夹带本地提交。 ## 验证 安装由 Agent 串行执行;前三步衔接返回值,合并程序只返回状态,Token 及 Refresh Token 在程序内部处理,不维护本地步骤状态文件;旧 Python 入口仍保留凭据文件、锁和 Windows msvcrt 分支。短命令已做离线模拟,未完成真实 WorkBuddy 或原生 Windows 验收。OpenAgent 尚无远程 Skill 加载接口,因此保留本地五个 Skills、附件兼容头和一天超时。 新短命令的离线检查覆盖 PKCE S256、授权回调成功与失败、注册 curl 参数、合并换码/配置/初始化参数、凭据不输出、JSON/SSE 验证、resume 不换码和内部 refresh、错误不重试,以及文档命令语法和无外部说明文件依赖。旧 Python 兼容入口的检查继续覆盖独立进程续装、Skills/reference 安装、配置保护、OAuth 权限校验、共享工具目录、旧 REL 迁移和显式刷新;同步安全检查保留。 当前安装文档合并程序中的验证只发送 `initialize`,检查协议与服务端能力。完成原生插件安装并重启 WorkBuddy、新建任务后,再确认五个 Skills、所需共享 MCP 工具及 `openagent_run` 的布尔 `async` 实际加载。安装过程和最终回复不统计或展示工具总数,以必需能力可用为准,兼容服务端新增工具。HTTP 200 或初始化成功不代表安装验收通过;真实登录、选择、执行、停止和产物展示仍须在用户客户端单独验收。 安装的连接验证后,由同一 exchange 程序使用内存中已校验的来源,增量写入并回读校验 OpenAgent 信任记录;不再运行独立 trust 命令或读取 MCP 正文。登记前后仅用 MCP 元数据检测变化。重启入口仅核验已有固定来源信任,不再读取 MCP 或补授信任;安装必传 --require-existing-trust,新文档遇到旧发布脚本拒绝此参数时停止,不回退旧命令。用户无需回复“已信任”;文件成功不等于当前进程已加载,保留安装结束后的重启与新任务验收。仅登记固定 HTTP 来源,不改变其他审批或连接器启用状态。 原生插件下载结果由 INSTALL 的 plugin_verify 只读核验:检查本插件安装登记与实际五个 Skills/reference,完成报告要求 PLUGIN_READY。WorkBuddy 可在运行期间下载;重启要求用于后续宿主加载验收,不能据此推断插件尚未下载。 重启后的自动发送会捕获本次消息创建结果中的会话 ID,再导航并确认最新任务已选中;创建或导航未确认时只记录日志,不补发。