How to use deepseek-harness-studio
Have DSH automatically launch the official Codex sub-agent in delegated sessions: hand off a plain text task to Codex via the app-server protocol and return the final answer according to strict success criteria.
This article is auto-derived from indexed fields (wiki / faq / compatibility_json), not freshly AI-generated.
This article is derived from the plugin's already-indexed fields (wiki / faq / compatibility_json / readme), not freshly generated by AI. Source field is noted at the end of each section.
Quick start
subagent-codex
— source: plugin_wiki.wiki_content
Install & verify
dsh plugin --profile web add github:fufankeji/deepseek-harness-studio#path:packages/subagent/subagent-codex
Run the command above in your DSH Web Profile. Then enable the plugin in the plugin list.
— source: plugins.install
Key points
- Electron 桌面端:提供应用窗口、系统托盘、单实例运行、外部链接处理和安全的 preload 通信接口。
- 本地 Harness Host:桌面主进程启动
dsh web,等待本地服务就绪,并在应用退出时关闭 Host 进程。 - Web 工作区:保留 DeepSeek Harness 的会话、工作区、模型、工具、Skills 和插件运行能力。
- 插件发现与推荐:自动读取在线目录,通过精选、最近更新、生态热门、场景分类和搜索,帮助用户快速找到值得尝试的插件。
- Agent 智能找插件:用一句自然语言描述需求,Agent 自动检索公开
dsh-plugin目录、筛选相关候选并说明推荐理由。
— source: plugin_wiki.readme_en (fallback readme_raw)
FAQ
What's the difference between this package and dsh directly connecting to Codex model?
It doesn't replace the DSH main conversation with Codex, but rather makes DSH temporarily delegate a text task to another independent Codex subprocess—the subprocess uses Codex's native app-server protocol, sandbox, account, and settings, which are completely separate at the process level from the DeepSeek main model configured in dsh-base; the subprocess does not share conversation history, model, or tools with the parent session (README.md:5 / src/index.ts:60-62).
Does the subprocess need internet access? How do I give it the API key?
Yes, it needs network access. The Codex subprocess uses Codex's own native account authentication; DSH only forwards environment variables. The most stable approach is to write the key in the env.OPENAI_API_KEY in the Profile configuration; other environment variables that look like credentials are explicitly stripped before the subprocess starts (README.md:42 / src/run.ts:321).
It's installed but the model has never been called automatically, is that normal?
That's normal. The installation only adds a "dormant" provider called codex to dsh-base—exactly which session can use it depends on the specific Agent Preset; the full Preset defaults to setting the subagent_codex tool row to disabled: true, so you need to copy a Preset and remove that field to expose it to the model (README.md:52).
Which permissionMode should I choose? Is bypass safe?
The default never makes Codex not send approval requests, unauthorized operations are directly rejected; approve-for-me makes Codex go through automatic review instead of asking people; dangerously-bypass-approvals-and-sandbox turns off both approval and sandbox, allowing the subprocess to write any file in any path, and can only be used in controlled environments (README.md:34-40 / src/wire.ts:25-36).
What does the stage field in failure diagnostics represent?
Failure concatenates the lifecycle stage into a summary of up to 4096 bytes: initialize / thread-start are mostly startup issues, turn-start / turn are protocol layer errors, process is CLI exited but no result, teardown is cleanup stage issues; the concurrent exit code / signal lines are the actual process-level exit reasons (src/run.ts:84-101 / src/wire.ts).
Can I cancel a task midway? Is cancellation the same as timeout?
You can cancel midway, but this package doesn't have a "timeout" triggered by elapsed time—the delegator itself must call the abort signal to stop the task; if not canceled, DSH waits as long as the task runs, and files or external state modified by the subprocess before cancellation won't be automatically rolled back (README.md:143-149).
Can I choose the Codex model? Can I see the internal reasoning process of the sub-Co dex?
The model, instructions, and tools are determined by Codex's native configuration; DSH doesn't choose the model for it. The same provider instance runs the same every time. The subprocess's reasoning, intermediate messages, tool calls, stderr, usage info, and product diff all stay on the Codex side; DSH gets at most "one final piece of text" or failure diagnostics (README.md:42, 147 / src/run.ts).
Does uninstalling this package leave any side effects?
No persistent side effects. After uninstalling, the next Profile startup注销this provider; this package has no independent disk writes or independent account creation; login state, Codex settings files, and cache remain independently on the Codex side (README.md:44 / README.md:142-144).
Which platforms are supported? I installed it but get an unknown error?
The actually executable CLI is selected by @openai/[email protected]'s platform subpackage based on system/CPU; darwin-arm64 comes with codex / codex-code-mode-host / rg / zsh; if installation skipped optional dependencies, the platform isn't supported, or payload files are missing, provider registration still succeeds but the first delegation immediately throws initialize / unknown, with the root cause only in logs (README.md:97-101).
— source: plugin_wiki.faq_json
Compatibility
- DSH: 0.1.0-rc.8
- Node: ^22.19.0 || >=24.0.0
- Platforms: macOS, Windows, Linux
- Native modules: @openai/codex 平台子包(自带 codex / codex-code-mode-host / rg / zsh 原生二进制)
— source: plugin_wiki.compatibility_json
Pitfalls
Review the upstream repo before installing. This guide is auto-derived from indexed fields and may lag the latest release. If anything contradicts the official docs, treat the upstream source as authoritative.
— source: general rule