Bundle
dsh-deliverables-toggle
Experimental DeepSeek Harness plugin plan for expandable produced-file lists in finished turns.
- Source
- zheng16965
- stars
- 1 stars
- License
- MIT
- Updated
- Updated yesterday
Readme
# dsh-deliverables-toggle **让 DeepSeek Harness 对话结束时的“产物”列表支持主动展开和收起。** [English](README.en.md) | **简体中文** ## 它解决什么问题? DeepSeek Harness 在一轮对话结束后,会在回复下方展示本轮生成或修改过的文件,例如 `package.json`、`tauri.conf.json`、`Cargo.toml` 等。 当产物数量较多或文件名较长时,内置产物列表会自动收缩成一行,并显示类似 `+ 3 个文件` 的提示。默认界面可以告诉你还有更多文件,但不能主动展开查看完整列表。 `dsh-deliverables-toggle` 会替换这块产物列表 UI,增加明确的展开和收起操作: - 默认仍保持一行自适应展示。 - 超出一行时,点击 `+ N 个文件` 展开全部产物。 - 展开后所有产物文件都以 chip 形式显示,并支持换行。 - 展开后点击 `收起` 恢复自动折叠。 - 文件 chip 仍然可以点击打开文件。 - `在文件夹中显示` 仍然保留。 ## 效果预览 折叠态:  展开态:  ## 安装 在 DeepSeek Harness 项目中安装本地插件: ```sh dsh plugin --profile web add dsh-deliverables-toggle ``` 如果使用 `pnpm dsh` 启动 DSH,也可以执行: ```sh pnpm dsh plugin --profile web add dsh-deliverables-toggle ``` 安装后重启 DSH Web 服务,并刷新现有 Web 页面。 > 默认 Web 地址通常是 `http://127.0.0.1:3080`。不要启动新的替代 Web 服务来验证此插件;应让当前 DSH Web profile 加载该插件。 ## 本地开发 ```sh pnpm install pnpm run typecheck pnpm run build pnpm run check ``` 构建产物输出到 `lib/`: - `lib/index.js`:Host 侧插件入口。 - `lib/client.js`:Web 客户端插件入口。 - `lib/types/`:TypeScript 声明文件。 ## 实现方式 DSH 内置产物列表由 `@deepseek-ai/dsh-client-ui-deliverables` 提供。它注册到 Web 客户端的 `conversation.chat.turnTail` chain slot。 本插件同样注册到 `conversation.chat.turnTail`,并使用更高优先级: ```ts priority: -100 ``` 因此,当某轮对话存在产物文件时,本插件会先于内置产物列表被选中并渲染。没有产物文件的轮次不会被本插件接管,会继续交给后续 chain entry 处理。 本插件复用 DSH 现有 turn-scoped `deliverables` 数据,不新增模型可见信息,不修改 session log,也不新增工具。 ## Model Experience | 项目 | 影响 | | --- | --- | | Token 成本 | 无。插件只改变 Web UI 展示,不进入模型请求。 | | 工具调用 | 无。插件不注册新工具。 | | Session log | 无。插件只读取现有 `deliverables` turn data。 | | Prompt | 无。插件不注册 system prompt 内容。 | ## 已知限制 - 这是一个覆盖型 UI 插件,会复制 DSH 内置产物列表的选择和测量逻辑;如果上游 `ui-deliverables` 行为发生变化,本插件可能需要同步调整。 - 插件依赖 `conversation.chat.turnTail` chain slot 和 turn-scoped `deliverables` 数据;如果 DSH 后续重命名这些内部接口,需要更新插件。 - 插件只改变对话尾部产物列表,不改变 assistant 正文中的文件引用链接行为。 ## 许可证 MIT
Install
dsh plugin --profile web add github:zheng16965/dsh-deliverables-toggle
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-deliverables-toggle from the hub
- This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.