
chiro2001/dsh-oc
31Last commit Aug 16, 2026
dsh-oc DSH plugin
dsh-oc is a DSH profile plugin that uses the official opencode CLI (attach mode) as the terminal frontend and dsh as the backend. It provides an oc-bridge (HTTP/SSE) inside the dsh process to connect the two, enabling session management, tool execution, and model interaction within a TUI environment.
How to install the dsh-oc DSH plugin
dsh plugin --profile oc add chiro2001/dsh-ocCopying does not run this command. Review the repository and version before installing the dsh-oc DSH plugin.
dsh-oc DSH plugin data source
dsh-oc DSH plugin snapshot date: Aug 16, 2026
discovered
What the dsh-oc DSH plugin can do
- Session list, create, continue, fork, compact, and SSE streaming messages
- Model directory, reasoning effort, and agent preset switching
- Tool cards (bash/read/write/edit), diff display, and Modified Files view
- Permission/approval flow, sub-agent session tree, and background sub-agents
- Goal creation and viewing via sidebar and /goal command
- Esc interruption/cancellation (double press in full TUI, single press in mini)
- Text and image attachments (binary attachments like PDF not supported yet)
Where the dsh-oc DSH plugin fits
- Interactively code, debug, and run tests with a real DeepSeek model in a TUI
- Manage multiple coding sessions, fork conversations, and switch between agent presets
- Browse and review file diffs, modified files, and tool outputs directly in the terminal
- Use with sub-agents for background tasks while maintaining a main session
Who the dsh-oc DSH plugin is for
- Developers using DSH who prefer a terminal-based AI assistant
- Users familiar with opencode TUI wanting to leverage dsh backend capabilities
- Power users needing granular control over sessions, tools, and model parameters
dsh-oc DSH plugin limitations
- Allow always permission is only remembered in-memory per session and cleared on restart
- Binary attachments (PDF, etc.) are not supported; only text and images
- Peripheral routes (MCP, LSP, formatter, skills, integration) are schema-valid stubs, not functional
- Exit splash cannot be replaced; dsh-oc only adds a note below the official exit screen
- Mini mode logo cannot be replaced; dsh-oc prints its own branding before startup
dsh-oc DSH plugin: from the repository README
Quoted from the chiro2001/dsh-oc README, the upstream source of the dsh-oc DSH plugin. Copyright remains with the original authors.
DeepSeek Harness 的 OpenCode TUI 前端:以官方 opencode TUI 为终端前端, dsh 作为后端提供 Agent、会话、工具与模型能力。 [](https://github.com/chiro2001/dsh-oc/actions/workflows/ci.yml) [](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 打断/取消(全量双按、
Read the full READMEThe repository declares no license. Check with the authors before using it.
dsh-oc DSH plugin questions
How do I install dsh-oc?
Run `dsh plugin --profile oc add chiro2001/dsh-oc` to install the plugin. Then use `dsh --profile oc` or `dsh-oc` (if you add the profile's bin directory to PATH) to start it. The npm package is `@chiro2001/dsh-oc` and is fetched from GitHub source.
How do I update dsh-oc to the latest version?
Repeat the installation command: `dsh plugin --profile oc add chiro2001/dsh-oc`. This will update to the latest from the source. For a specific branch/version, use a pnpm git spec like `github:chiro2001/dsh-oc#develop`.
How do I pass arguments to opencode attach?
dsh-oc supports transparent parameter passing. You can use flags like `--continue`, `--session`, `--fork`, `--dir`, `--mini`, `--print-logs`, and `--log-level`. Example: `dsh --profile oc --session <session-id>` or `dsh --profile oc --dir ~/project --mini`.
Is data isolated from other opencode installations?
Yes, all opencode configuration, data, state, and cache are isolated under `$DSH_HOME/opencode`. Models and credentials are managed by the dsh backend, and dsh-oc does not inject any provider or key into opencode.
I see pnpm warnings about missing peer dependencies like `@deepseek-ai/cordis`. Should I worry?
No, these warnings are expected. The missing peer dependencies are provided by the dsh-base host at runtime. You can safely ignore them.