xing-shuyin/dsh-ui-tools 预览 preview

xing-shuyin/dsh-ui-tools

DeepSeek 工具套件(dsh)Web 开发者工具面板 —— 文件浏览 / 多终端 / Git / 后台任务

Project Overview项目介绍

dsh-ui-tools is a native DSH plugin that adds a fully integrated side developer tools panel to the DeepSeek Harness web interface. The entire feature set is ported 1:1 from the pi-web-ui project, and it adapts automatically to DSH’s light, dark, and system default themes. It can be installed directly from npm by running dsh plugin --profile web add dsh-ui-tools, or installed directly from the GitHub repository via the same DSH plugin command. After installation, users must restart the DSH web process and refresh their browser to see and activate the new panel.

The plugin includes six core tools for common development workflows, targeted at developers who use DSH web for daily coding. It includes a file browser with smart file mentioning that only adds file paths to the context, saving tokens and keeping context clean. It also has a multi-tab terminal with custom quick commands, a Git panel for viewing diffs and running common Git operations, a background task monitor for running services, inline todo markers that replace the default todo_write tool, and optional sound notifications for workflow events.

dsh-ui-tools is released under the open-source MIT license, and the terminal functionality relies on the node-pty package to launch shells directly inside the DSH process. This means the terminal does not go through DSH’s default sandbox, a behavior that matches the original pi-web-ui project. The plugin also ships with a generic inline marker system that lets other DSH plugins register their own custom inline tools, using Cordis services to expose the system to third-party plugins. All user settings are persistently stored globally across all workspaces, so users do not need to reconfigure when switching projects.

这是一个专为 DeepSeek Harness(DSH)Web 端开发的原生插件,在 DSH 对话页右侧嵌入可拖拽宽度、可收起的开发者工具面板,核心功能 1:1 移植自 pi-web-ui。插件提供文件浏览、多标签终端、Git 面板、后台任务检测、内联待办标记、声音提示等开发辅助功能,适配 DSH Web 的亮/暗/跟随系统主题。安装可直接通过 DSH 插件命令从 npm 获取,无需本地克隆源码。

面向使用 DSH Web 进行开发的用户,目标是在对话界面内一站式完成开发相关操作,无需频繁切换外部应用。工作流上,文件浏览支持智能引用,点击一键将文件路径加入提问,不会占用多余 Token;终端支持自定义快捷命令,点击即可运行;Git 面板可直接查看差异、完成提交推送拉取操作。整个面板随当前工作区自动切换,适配多项目开发场景。

插件遵循 MIT 许可开源,终端功能依赖 node-pty,直接在 DSH 进程内启动 shell,不经过 DSH 沙箱,这点和 pi-web-ui 保持一致。安装后需要重启 DSH Web 并刷新页面,右侧面板默认展开,收起后可点击边缘悬浮按钮重新打开。插件提供了通用内联标记系统,支持其他 DSH 插件注册自定义内联工具,设置全局持久化存储。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 2 warnings2 项注意
  • No license declared - all rights reserved by default; ask the author before commercial use or redistribution未声明开源许可证 —— 默认「保留所有权利」,商用或再分发前先问作者
  • Only 6 stars - very few users, little community feedback星标只有 6,几乎没人在用,遇到问题缺少社区反馈
DSH walks through these 9 checksDSH 会逐条核对这 9 项

Compatibility兼容性

  • DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
  • External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
  • Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册

Security安全性

  • Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
  • Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
  • curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
  • Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
  • Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
  • Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式

Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。

Or use CLI install (for developers)或使用命令行安装(适合开发者)

CLI Install命令行安装

dsh plugin --profile web add dsh-ui-tools

把 xing-shuyin/dsh-ui-tools 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

🛠️ dsh-ui-tools

DeepSeek Harness (dsh) web 开发者工具面板 —— 文件浏览 / 多终端 / Git / 后台任务,样式 1:1 移植 pi-web-ui。

npm GitHub license


✨ 功能总览

右侧嵌入对话页的开发者工具面板,默认展开、可拖拽调整宽度(360–900px)、可收起;所有视图随当前工作区/会话自动切换。

📁 项目文件查看器

  • 跟随会话工作区自动切换,新会话自动显示;
  • 面包屑导航浏览目录,不截断文件列表,全部显示;
  • 点击文件弹出预览:行号视图、选择行、Markdown 自动渲染(可一键切换源码)、图片/视频、二进制 hex;
  • 编辑保存(Ctrl/Cmd+S);下载任意文件;
  • 文件提及(智能引用):在文件预览里点「+」把文件/文件夹/选中行一键加入提及条(与输入框自动对齐),发送问题时引用自动作为独立消息随问题发出 —— 无需在输入框里 @ 文件,随手引用、即发即用;
  • 轻量路径引用:引用只携带文件路径,不把整份文件内容塞进上下文 —— 更省 token、上下文更干净,Agent 需要时用 read 工具按需精准读取,和 Claude Code / Cursor 等专业 Agent 的引用体验一致。

🖥️ 多终端

  • 多个终端标签页,每个独立 PTY(node-pty),SSE 实时推流;
  • 顶部一栏两列:快捷命令 + 终端标签,可横向滚动、竖向列表,命令 chip 直接点击运行;
  • 自定义快捷命令:名称 / 命令 / 运行目录均可编辑,持久化到 <工作区>/.dsh-ui-tools/commands.json,${pwd} 自动展开为会话工作区;
  • 切换终端标签且无终端时自动新建。

⑂ Git 面板

  • 更改列表(暂存 / 未暂存 / 未跟踪)+ 行级增删统计;
  • 点击文件查看差异(暂存/未暂存分开展示);
  • 提交历史(带 graph 分支图)与提交详情;
  • commit、push、pull、分支下拉切换 —— 写操作在终端标签页中运行,可实时查看输出。

⏳ 后台任务(后台服务检测,移植自 pi-web-ui)

  • 自动检测 AI 通过 bash/pwsh 在后台启动的监听端口服务(如 npm run dev &、python -m http.server)——每次 shell 工具执行前后对比 LISTENING 端口,发现新服务即记录;
  • 面板显示端口、pid、进程名、启动时间,可单个停止(杀整个进程树)或一键全部停止;
  • 进程自行退出后 30s 内自动从面板消失;服务列表跨会话存活(插件级全局状态);
  • 与模型 todo 完全独立:本面板只展示「真实运行的服务」。

✍️ 行内标记任务列表(替换 todo_write)

参照 pi-marker-tools,把模型侧的 todo_write 工具替换为「写在回答正文里的 [[todo:...]] 行内标记」:

  • 状态类操作不再调用工具,直接在回复正文写标记,插件在消息结束时自动解析、执行、落库,不会中断回答 —— 少几轮工具调用问答往返,全部由 AI 回答内部实现管理;
  • 标记语法:[[todo:new:写单元测试]] 新建、[[todo:set:2,completed]] 改状态、[[todo:remove:2]] 删除、[[todo:dep:2,blocks=1,3]] 声明依赖、[[todo:title:2:新标题]] 重命名;
  • 富状态(带 id)内嵌进原生 todo/write 事件持久化(随分支跟随,resume 恢复;旧日志兼容读取 marker/todos 快照) —— 现有 TodoDock 任务条零改动直接生效;
  • 面板新增「设置」tab:两级开关控制 marker 功能 —— 全局总闸(停用整个内联标记框架、恢复原生 todo_write 工具、不再解析标记)+ 每个内联标记插件独立开关(如 todo,停用后该插件的标记不再执行、恢复原生行为,其他插件不受影响;第三方注册的插件也会出现在列表里)。切换即时生效,持久化到 ~/.dsh-ui-tools/settings.json,对所有工作区生效;
  • 只读查询走 markers_list 工具;todo_write 已从模型可见工具中移除(不会出现 unknown tool 提示),旧调用也会被本插件接管、绝不报错;
  • 与 pi-marker-tools 一致:标记文本保留在消息原文,执行失败的标记留待下轮修正;
  • 解析器跳过反引号/代码块内的标记(文档示例不会误执行),[[todo:title:<id>:<新标题>]] 支持冒号语法,持久化前做无损 JSON 清洗(杜绝 exotic 值导致 todo/write 写入失败)。

Showing the opening section of the README — the full document lives in the repository以上为 README 开头摘要,完整文档在仓库内 · View the full README on GitHub →在 GitHub 查看完整 README →

← 上一个 Prev DeepSeekHarness----Desktop 下一个 Next dsh-voice-input-plugin →