dsh-do
v0.2.6
Published
Local profile, plugin, and settings manager for DeepSeek Harness
Maintainers
Readme
dsh-do
dsh-do 是一个只在本机运行的 DeepSeek Harness 管理工作台,面向不希望直接编辑 YAML、JSON 和 profile 目录的用户。
首版与交互增强功能包括:
- 浏览、搜索、创建、克隆和归档本地 Profiles
- 安装、更新和移除 profile 插件,并在操作抽屉中实时查看完整 stdout/stderr 日志与退出码
- 查看和排序 Bundle 层,直观展示层叠优先级并启停已安装的外部 Bundle
- 用结构化控件编辑全局
settings.yaml,向导只写真实命名空间(llm-pi-ai、agent-default-model、permission、agent-presets) - 校验并编辑 profile 的
cordis.patch.yml,提供模板片段快捷插入与未保存修改一键还原 - 浏览、从本地目录导入、复制和归档
$DSH_HOME/.agent-presets(不走dsh plugin add) - 通过可扩展目录 provider 安装包,对接本地插件市场服务(
dsh-market),支持分类筛选、详情预览与拓扑依赖检查;市场不可达时明确降级提示 - 全局快捷指令面板(
Ctrl + K/⌘K)与骨架屏(Skeleton)加载体验
运行要求
- Node.js
>= 22.19 - pnpm
10.x - 已安装
@deepseek-ai/dsh(已对照0.1.0-rc.7),且dsh --version可用。启动时若检测不到 dsh,交互终端会询问是否执行npm i -g @deepseek-ai/dsh;非交互环境只打印提示并继续启动
安装(npm 全局包)
npm install -g dsh-do启动:
dsh-do更新到最新 npm 版本:
dsh-do update默认监听 http://127.0.0.1:4173 并自动打开浏览器。可用环境变量:DSH_DO_PORT(端口)、DSH_DO_OPEN=0(不自动开浏览器)、DSH_MARKET_URL(插件市场服务地址,默认 https://dsh.do)。
从源码启动
pnpm install
pnpm build
pnpm start若端口已占用:
$env:DSH_DO_PORT = "4174"
pnpm start不自动打开浏览器:
$env:DSH_DO_OPEN = "0"
pnpm start开发
pnpm dev开发模式同时启动 API (4173) 和 Vite (5173);浏览器访问 http://127.0.0.1:5173。完整检查:
pnpm check发布到 npm 时会自动执行 prepack(pnpm run build)重建 dist/,files 白名单只发布 dist/。
数据与操作边界
dsh-do 只操作 DSH_HOME。默认值遵循 dsh:
- Windows:
%USERPROFILE%/.dsh - macOS/Linux:
~/.dsh
可用环境变量指向隔离目录:
$env:DSH_HOME = "D:\tmp\my-dsh-home"
pnpm start插件安装、更新和移除均委托给 dsh plugin --profile <name> ...,dsh-do 不直接模拟 pnpm 事务。每个 profile 的插件操作、层变更、Patch 保存和归档共享同一变更租约;插件命令完成后会重新扫描磁盘状态。
归档 Profile 不会直接删除目录,而是移动到:
$DSH_HOME/.dsh-do/archive/<profile>-<timestamp>设置和 Patch 保存都使用修订号。如果文件被其他程序改动,界面会拒绝覆盖并要求重新加载。
“在 Bundle 层中”表示该 Bundle 写在 profile 的加载层栈里,不代表某个 dsh 会话当前正在运行它。
项目结构
server/ 本机 Fastify API、文件仓储、dsh 进程适配
src/ React 管理界面
server/catalog.ts 插件目录 provider 接口与注册表
docs/catalog-providers.md 在线市场接入约定API 使用 /api/v1 前缀。生产服务由同一回环地址提供静态页面和 API,不需要独立部署。
