Plugin coexistence and loader entry ID collision resolution in DeepSeek Harness, specifically between dsh-TUI and dsh-web-app.
Raw Developer Origin & Technical Request
GitHub Issue
Aug 14, 2026
> 注:本 issue 由 AI 助手(Codex)撰写,经用户人工确认后由其提交。
## 环境
- `dsh-cc-tui`:0.4.1(`main` @ `b2f4087`,2026-08-14)
- DSH:`@deepseek-ai/dsh-agent-presets` 等 rc.6 系列(deepseek-harness 仓库)
- Node.js:v24.16.0
- 系统:Windows 11
## 复现步骤
1. 把 `dsh-cc-tui` 装进默认 `web` profile,与官方的 `@deepseek-ai/dsh-web-app` bundle 叠加:
```powershell
dsh plugin --profile web add dsh-cc-tui
```
2. 启动:
```powershell
dsh web
```
## 实际结果
启动在 loader 阶段即崩溃退出:
```text
Error: dsh: plugin tree failed to load: failed to apply loader entry include (cordis:include): duplicate loader entry id: agent-presets
TypeError: duplicate loader entry id: agent-presets
at EntryGroup.update (vendor/loader/src/config/group.ts:64:31)
at Include._apply (vendor/include/src/index.ts:317:21)
```
## 原因分析
`cordis.patch.yml` 末尾的 `insert:` 块无条件插入了两条宿主行:
```yaml
- insert:
- id: agent-presets
name: '@deepseek-ai/dsh-agent-presets'
config:
default: standard
- id: cordis-host-runner
name: '@deepseek-ai/dsh-cordis-host-runner'
```
而 `@deepseek-ai/dsh-web-app` 的 `cordis.patch.yml` 已声明了同名同 id 的两行(其中 `agent-presets` 还带 `default: standard` 与 `roots`)。cordis loader 要求同一组装树内的条目 id 唯一,两个 bundle 叠加进同一个 profile 时必然冲突,第一个撞上的就是 `agent-presets`;即使先删掉它,下一次也会在 `cordis-host-runner` 上重复报错。
用 `dsh --profile web --dump-config` 可以看到两条重复来源(`# == @deepseek-ai/dsh-web-app` 与 `# == dsh-cc-tui` 各声明一次)。
## 期望
- 让 `dsh-cc-tui` 与 `@deepseek-ai/dsh-web-app` 能在同一个 profile 中并存(TUI 与 web 服务同进程、共享会话数据),例如在插入前判断目标 i...
Developer Debate & Comments
No active discussions extracted for this entry yet.
Adjacent Repository Pain Points
Other highly discussed features and pain points extracted from ccch1mneyyy/dsh-TUI.
Frequently Asked Questions
Market intelligence mapped to Plugin coexistence and loader entry ID collision resolution in DeepSeek Harness, specifically between dsh-TUI and dsh-web-app..
What problem does Plugin coexistence and loader entry ID collision resolution in DeepSeek Harness, specifically between dsh-TUI and dsh-web-app. solve?
How is the developer community reacting to Plugin coexistence and loader entry ID collision resolution in DeepSeek Harness, specifically between dsh-TUI and dsh-web-app.?
What are the foundational technologies related to Plugin coexistence and loader entry ID collision resolution in DeepSeek Harness, specifically between dsh-TUI and dsh-web-app.?
Engagement Signals
Cross-Market Term Frequency
Quantifies the cross-market adoption of foundational terms like cordis:include and plugin tree failed to load by tracking occurrence frequency across active SaaS architectures and enterprise developer debates.
SaaS Metrics