跳到正文

chiro2001/dsh-oc

31最近提交 2026年8月16日

dsh-oc DSH 插件

dsh-oc 是 DSH 的一个 profile 插件,使用官方 opencode CLI(attach 模式)作为终端前端,dsh 作为后端。它在 dsh 进程内提供 oc-bridge(HTTP/SSE)连接两者,实现会话管理、工具执行和模型交互等 TUI 环境下的功能。

如何安装 dsh-oc DSH 插件

dsh plugin --profile oc add chiro2001/dsh-oc

复制不会执行命令。安装 dsh-oc DSH 插件前请核对仓库和版本。

dsh-oc DSH 插件数据来源

dsh-oc DSH 插件快照日期:2026年8月16日

discovered

dsh-oc DSH 插件能做什么

  • 会话列表、新建、续聊、fork、compact 以及 SSE 流式消息
  • 模型目录、reasoning effort 和 agent preset 切换
  • 工具卡片(bash/read/write/edit)、diff 显示和 Modified Files 视图
  • 权限/提问流、子代理会话树与后台子代理
  • 通过侧边栏和 /goal 命令创建和查看 Goal
  • Esc 打断/取消(全量 TUI 双按,mini 单按)
  • 文本和图片附件(暂不支持 PDF 等二进制附件)

dsh-oc DSH 插件适合哪些场景

  • 在终端中交互式编码、调试和运行测试,使用真实 DeepSeek 模型
  • 管理多个编码会话,fork 对话,切换 agent preset
  • 直接在终端中浏览文件 diff、修改文件和工具输出
  • 使用子代理处理后台任务,同时保持主会话

dsh-oc DSH 插件适合谁

  • 使用 DSH 且偏好终端 AI 辅助的开发者
  • 熟悉 opencode TUI 并希望利用 dsh 后端能力的用户
  • 需要精细控制会话、工具和模型参数的高级用户

dsh-oc DSH 插件的限制

  • Allow always 权限仅在会话内内存记忆,重启后清空
  • 不支持二进制附件(如 PDF),仅支持文本和图片
  • 外围路由(MCP、LSP、formatter、skills、integration)为 schema-valid stub,不提供实际功能
  • 退出 splash 无法替换,dsh-oc 仅在官方退出画面下方添加一行说明
  • mini 模式无法替换内置 logo,dsh-oc 会在启动前打印自己的品牌信息

dsh-oc DSH 插件的仓库 README 摘录

以下文字摘自 dsh-oc DSH 插件的上游仓库 chiro2001/dsh-oc 的 README,版权归原作者,仅作引用。

DeepSeek Harness 的 OpenCode TUI 前端:以官方 opencode TUI 为终端前端, dsh 作为后端提供 Agent、会话、工具与模型能力。 [![CI](https://github.com/chiro2001/dsh-oc/actions/workflows/ci.yml/badge.svg)](https://github.com/chiro2001/dsh-oc/actions/workflows/ci.yml) [![e2e](https://github.com/chiro2001/dsh-oc/actions/workflows/e2e.yml/badge.svg)](https://github.com/chiro2001/dsh-oc/actions/workflows/e2e.yml) - **前端**:opencode 官方 CLI(`attach` 模式),直接使用官方二进制,只做 TUI。 - **后端**:DeepSeek Harness(dsh)负责 Agent、Session、工具、模型、权限和用户提问。 - **连接**:dsh-oc 在 dsh 进程内提供 OpenCode 兼容的 HTTP/SSE 桥(`oc-bridge`),并启动官方 TUI 客户端(`oc-tui`)。 ```text dsh (Node) ── dsh-oc bundle ── oc-bridge (HTTP/SSE) <── opencode TUI (attach) │ └─ DSH Agent/Session/Tools/LLM/Approval/Questions ``` ## 能力状态 > 完整矩阵见 [docs/FEATURES.md](docs/FEATURES.md),路由细节见 > [docs/PROTOCOL.md](docs/PROTOCOL.md);`dsh --profile oc --help` 展示同一摘要。 | 能力 | 状态 | |---|---| | 会话列表/新建/续聊/fork/compact、SSE 流式消息 | ✅ | | 会话列表真实标题(标题 → 目录名 → id 回退) | ✅ | | 模型目录、reasoning effort、agent preset 切换 | ✅ | | 工具卡片(bash/read/write/edit)、diff 与 Modified Files | ✅ | | 工具参数流式显示 | ✅ | | 权限/提问流、子代理会话树与后台子代理 | ✅ | | Goal 创建/查看(sidebar + `/goal`) | ✅ | | Esc 打断/取消(全量双按、

阅读完整 README仓库未声明许可,使用前请先与作者确认。

dsh-oc DSH 插件常见问题

如何安装 dsh-oc?

运行 `dsh plugin --profile oc add chiro2001/dsh-oc` 命令安装插件。安装后使用 `dsh --profile oc` 或 `dsh-oc`(需将 profile 的 bin 目录加入 PATH)启动。npm 包名为 `@chiro2001/dsh-oc`,从 GitHub 源获取。

如何更新 dsh-oc 到最新版本?

重复执行安装命令即可:`dsh plugin --profile oc add chiro2001/dsh-oc`。这将更新到源的最新版本。如需固定分支或版本,可使用 pnpm git spec,例如 `github:chiro2001/dsh-oc#develop`。

如何向 opencode attach 传递参数?

dsh-oc 支持参数透传。可以使用 `--continue`、`--session`、`--fork`、`--dir`、`--mini`、`--print-logs` 和 `--log-level` 等标志。例如:`dsh --profile oc --session <session-id>` 或 `dsh --profile oc --dir ~/project --mini`。

数据是否与其他 opencode 安装隔离?

是的,所有 opencode 的配置、数据、状态和缓存都隔离在 `$DSH_HOME/opencode` 下。模型和凭据由 dsh 后端管理,dsh-oc 不会向 opencode 注入任何 provider 或 key。

看到 pnpm 警告缺少 peer 依赖如 `@deepseek-ai/cordis`,需要处理吗?

不需要。这些警告是预期的,缺少的 peer 依赖由 dsh-base 宿主在运行时提供,可以安全忽略。