Skip to content

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-oc

Copying 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、会话、工具与模型能力。 [![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 打断/取消(全量双按、

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.