# oc-session-all OpenCode TUI 插件:弹出全项目会话选择器,跨所有项目浏览和切换会话。 ## 功能 - `Ctrl+o` 或 `/sessions-all` 打开可搜索的会话选择面板 - 按项目分组、按更新时间倒序排列 - 过滤掉已归档和子代理会话 - 对调2份`opencode.json`实现拦截mcp报错的toast - 热更新skill,新的skill丢入目录,插件自动发现并更新 - **MCP 推送兜底(v10)**:`config.get` 取 shell(GET→活文件→null 三级兜底)→ `config.update({config})` → `({body})` → `experimental.config.update` 三跳推进 运行中的 OC,配合 reload 双保险;`/mcpon` `/mcpoff` 可用 ## 安装 在 `~/.config/opencode/tui.json` 中添加(现役源码是 `.js`,部署副本放 `tui-plugins/` 下): ```json { "$schema": "https://opencode.ai/tui.json", "plugin": [ "file:///C:/Users/<你>/.config/opencode/tui-plugins/oc-session-all.js" ] } ``` WSL 侧同理:`file:///root/.config/opencode/tui-plugins/oc-session-all.js`。 源码改动后需同步部署副本(本机 + WSL 两处,MD5 应与源码一致),重启 OpenCode 生效。 ## 快捷键 | 快捷键 | 命令 | 说明 | |--------|------|------| | `Ctrl+o` | — | 打开会话选择器 | | `/sessions-all` | `resume-all`, `continue-all` | 斜杠命令 | | — | `/mcpon` `/mcpoff` | MCP 开关(对调 + 推送兜底 + 热重载) | | — | 任意位置 `/home` 等 | CLI 菜单(`wsl-round-mcp/oc.py`)跳回顶层,见其 README | ## 项目结构 ``` oc_session/ ├── tui-plugins/ │ ├── oc-session-all.js ← 现役插件源码(OC 加载入口,v10) │ ├── oc-session-all.ts ← 旧版留档 │ ├── oc-session-all-debug.js │ └── readmcpcfg.test.mjs ← mcpcfg 解析 16 项单测(node readmcpcfg.test.mjs) ├── ai-mcp/ ← 独立 git 仓库(分支 ai-mcp),server 插件 ├── wsl-round-mcp/ ← 独立 git 仓库(分支 wsl-round-mcp),Python CLI ├── package.json ├── node_modules/ ├── .gitignore └── README.md ``` ## 分支结构 | 分支 | 内容 | | :---: | :---: | | main | 主插件,会话切换、skill热加载、用户端mcp配置对调等 | | ai-mcp | 大模型操作mcp配置对调的插件 | | wsl-round-mcp | wsl和win之间的skill互推、mcp配置互推等 |