2.7 KiB
2.7 KiB
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/ 下):
{
"$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 插件
│ ⚠ 双导出配方(default+占位命名导出,body 禁改)见 ai-mcp.ts 头注释:
│ 2026-09-23 三态写盘实验证实,缺失/返回对象/直返 undefined 均触发
│ OC 2.0.15 批量 reload 崩溃(Ae is not a function)
├── 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配置互推等 |