11 Commits
Author SHA1 Message Date
ypshidifu 13d160c388 新增 mcpcfg.txt 丢失自动重建防御(30s 轮询,OC 更新删文件后自愈) 2026-10-12 19:42:53 +08:00
ypshidifu bc5e79355b ai-mcp文案去误导:热重载成功即报成功,推送失败降级为slog内部日志,三端md5同步 2026-09-24 12:39:46 +08:00
ypshidifu bd6bcfadfb 切换与status后等2秒读GET /api/mcp真实状态并输出,删除需要重启等猜测文案,三端md5同步 2026-09-24 11:42:06 +08:00
ypshidifu 87b2df4180 ai-mcp v4:setup返回void修Ae陷阱致重载失败,mcp_switch经tool.transform注册进LLM工具列表(端到端实测61工具可调用) 2026-09-24 09:53:36 +08:00
ypshidifu a2d21aa1d1 ai-mcp v3.1:三态写盘实验锁定双导出配方,buildHooks/setup/execute全链防抛+纯字符串返回 2026-09-23 19:54:31 +08:00
ypshidifu abb74ab20d server插件v3:推送改GET+merge补shell走/api/experimental/config,口令链读service.json+Basic opencode 2026-09-23 17:50:24 +08:00
ypshidifu a25683591e server插件v2:reload前mcp配置推送兜底(PATCH /config三连),文案键值化
- 新增 pushMcpConfig:on 对调写 flag 后、reload 前把活配置 mcp 推进
  运行中 OC —— client.config.update({config}) → ({body}) → 原生
  fetch PATCH /config(无 /api 前缀)三连;成功=双保险,失败降级单通道
- SetResult 增 pushed 字段,工具返回文案按双保险/单通道区分
- 用户可见文案「第1行」全部键值化为「模式」键(mcpcfg 已是键值格式)
- 加载日志版本标识升级 v2(含推送兜底);README 补双保险链路说明
2026-09-23 15:31:55 +08:00
ypshidifu ec3e241615 ai-mcp:同步键值解析+路径自愈+mcp.on.flag标记;README更新自动扫描与失败插件实证 2026-09-23 13:47:10 +08:00
ypshidifu f9e4b25ae7 ai-mcp:修正 README 中证据不足的断言
「v2 不再自动扫描全局 plugins/ 一级文件」这条没有实测支撑——
注册与未注册两种情况都被 401 + 「session 才加载」挡住,从未触发 session,
无法区分。改为如实标注「已确认 / 待确认」:
- 已确认:session 初始化才加载;v2 对 default 有 schema 校验
- 待确认:一级文件是否自动扫描(按 v2 文档显式注册,属官方支持路径)
另补:plugins 数组只放 server 插件,TUI 插件放 tui.json。
2026-09-23 12:28:37 +08:00
ypshidifu 86f0d9e84c ai-mcp:补模块级留痕日志 + v2 注册说明
- 顶层加 module imported 留痕:区分「没被加载」和「加载了但没被调用」
- 新增 README,记录实测结论:
  * OpenCode v2 不再自动扫描全局 plugins/ 下的一级文件,必须在 opencode.json
    的 plugins 数组用 file:/// 显式注册,否则文件根本不会被 import
  * 两份配置(含 MCP 版 / 安静版)都要注册,否则 mcpoff 对调后插件消失
  * 双导出的原因:v2 对 default 有 schema 校验(opencode-btw 就因缺 default 反复报错)
  * 插件在 session 初始化时才加载,只启动 serve 不建 session 看不到日志
2026-09-23 12:24:31 +08:00
ypshidifu d67bfa29f9 ai-mcp:给大模型操作的 MCP 开关 server 插件
- 注册 mcp_switch 工具(action = on / off / status),供大模型自主切换 MCP 状态
- 与 TUI 插件共用同一份 mcpcfg.txt、同一套对调与校验逻辑,状态判定只看活文件是否含 mcp.servers
- 模式门控:自动=允许切换;手动=拒绝并提示用户用 /mcpon /mcpoff;关闭=一律拒绝(status 始终可查)
- 切换 = 对调两份配置 + 校验 + reload 热重载(SDK location.reload 三连尝试,失败回落 POST /api/location/reload)
- 双导出:命名导出 AiMcp(文档形式)与 default { id, setup }(v2 校验形式),保证任一加载器都能注册成功
- tool helper 走动态 import + 降级日志,WSL 端缺 node_modules 时不会让整个插件加载失败
- 日志优先 client.app.log,失败回落 ~/.config/opencode/ai-mcp.log
2026-09-23 12:06:31 +08:00