64 lines
3.0 KiB
Markdown
64 lines
3.0 KiB
Markdown
# 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`)跳回顶层,见下节 |
|
||
|
||
## skill 推拉(wsl-round-mcp)
|
||
|
||
菜单入口 `oc.py`(任意位置 `/home` 回顶层),skill 管理简化为三动作,**输出路径用户不可选**:
|
||
|
||
- **推送 push**:只输入源路径(带引号自动剥离成对引号,单侧引号不动)→ 输出固定为 WSL OC skill 目录;
|
||
先只读探查同名文件夹:**不存在直接放,存在才询问是否覆盖**(`--force` 跳过确认)。
|
||
- **拉取 pull**:只输入 skill 名 → 输出固定为本机 `~/.config/opencode/skills`,同样探查式覆盖。
|
||
- **删除 delete**:`--local` 删本机 / 缺省删 WSL,`--yes` 跳过确认;不存在时报错退出码非 0。
|
||
- 覆盖与删除统一先移入 `<skills根>/.trash/<时间戳>/` 备份(点前缀目录,OC 不会当技能加载)。
|
||
- 推送前过标准 skill 校验(SKILL.md 结构等),不合规拒推。
|
||
|
||
|
||
|
||
## 分支结构
|
||
|
||
| 分支 | 内容 |
|
||
| :---: | :---: |
|
||
| main | 主插件,会话切换、skill热加载、用户端mcp配置对调等 |
|
||
| ai-mcp | 大模型操作mcp配置对调的插件 |
|
||
| wsl-round-mcp | wsl和win之间的skill互推、mcp配置互推等 |
|
||
| compaction-cn | 让模型的压缩消息内容使用中文,提供常驻化中文引导,让模型用中文沟通 |
|
||
| oc-retry-guard | 流式错误引导,让模型报错时,自主接着干活 |
|
||
| model-manager | 大模型管理器,允许配置禁用(`/models`列表不显示)、启用(重新让模型出现在`/models`列表)和恢复出厂(抹除模型的key,让它重新进入/connet的连接通道) |
|