a5a8c5e011aa76b4987041405b76b3866aa25cf8
- 使用 import { Plugin } from "@opencode/plugin/tui"
- 使用 Plugin.define({ id, setup(context) }) 格式
- api.* 调用全部替换为 context.*: api.event.on → context.data.on, api.ui.toast → context.ui.toast.show, api.ui.dialog.* → context.ui.dialog.*, api.command.register + api.keymap.registerLayer 合并为 context.keymap.layer({commands, bindings})
- package.json exports 添加 ./tui 入口点,engines.opencode 升级为 >=2.0.0
- 已通过 minimal-v2-test 验证 v2 格式可正确加载
oc-session-all
OpenCode TUI 插件:弹出全项目会话选择器,跨所有项目浏览和切换会话。
功能
Ctrl+o或/sessions-all打开可搜索的会话选择面板- 按项目分组、按更新时间倒序排列
- 过滤掉已归档和子代理会话
- 拦截 MCP 连接错误 toast,保持界面整洁
安装
在 ~/.config/opencode/tui.json 中添加:
{
"$schema": "https://opencode.ai/tui.json",
"plugin": [
"D:/桌面/源码/oc_session/tui-plugins/oc-session-all.ts"
]
}
重启 OpenCode 即可生效。
快捷键
| 快捷键 | 命令 | 说明 |
|---|---|---|
Ctrl+o |
— | 打开会话选择器 |
/sessions-all |
resume-all, continue-all |
斜杠命令 |
项目结构
oc_session/
├── tui-plugins/
│ └── oc-session-all.ts ← 插件源码(OC 加载入口)
├── package.json
├── node_modules/
├── .gitignore
└── README.md
许可证
MIT
Languages
JavaScript
57.9%
Python
35.9%
TypeScript
6.2%