dsh-settings-extensions
No description
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 27, 2026
- Updated
- Aug 27, 2026
Introduction
DSH Settings Extensions
为 DeepSeek Harness 设置界面添加扩展管理功能。
安装
npm 安装(推荐)
npm install dsh-settings-extensions
或使用 pnpm:
pnpm add dsh-settings-extensions
从源码安装
git clone https://gitee.com/jn-qq/dsh-settings-extensions.git
cd dsh-settings-extensions
npm install
功能特性
1. Skill 管理
- 查看所有已注册的 Skill 列表
- 支持 Skill 启用/禁用切换
- 显示 Skill 来源和描述信息
2. MCP 管理
- 查看所有已配置的 MCP Server 列表
- 支持 MCP Server 启用/禁用切换
- 支持删除 MCP Server 配置
3. 归档 Session 管理
- 查看所有归档的 Session 列表
- 支持恢复归档 Session 为活跃状态
- 支持永久删除归档 Session(物理删除文件)
集成到 DSH
1. 使用 npm 包(推荐)
在 DSH web profile 的 package.json 中添加依赖:
{
"dependencies": {
"dsh-settings-extensions": "^1.0.0"
},
"dsh": {
"profile": {
"bundles": [
"@deepseek-ai/dsh-base",
"@deepseek-ai/dsh-web-app",
"dsh-settings-extensions"
]
}
}
}
然后运行 npm install 并启动 DSH:
cd ~/.dsh/profiles/web
npm install
dsh web --host 0.0.0.0
2. 本地插件安装
将插件目录复制到 ~/.dsh/plugins/ 目录下:
cp -r dsh-settings-extensions ~/.dsh/plugins/
然后在 ~/.dsh/profiles/web/package.json 中添加插件:
{
"dsh": {
"profile": {
"bundles": [
"@deepseek-ai/dsh-base",
"@deepseek-ai/dsh-web-app",
"dsh-settings-extensions"
]
}
},
"dependencies": {
"dsh-settings-extensions": "file:../../plugins/dsh-settings-extensions"
}
}
使用方法
- 打开 DSH Web 界面
- 点击左侧边栏底部的"设置"按钮
- 在设置面板中,你会看到新的"扩展管理"分区
- 点击"扩展管理",可以看到三个标签页:
- Skill 管理:管理 Skill 的启用/禁用
- MCP 管理:管理 MCP Server 的配置和启用状态
- 归档会话:管理归档的 Session
配置说明
Skill 启用/禁用
Skill 的启用/禁用状态存储在 ~/.dsh/settings.yaml 中:
skills:
disabled:
- tencent-docs
- test-team
MCP Server 配置
MCP Server 配置存储在 ~/.dsh/settings.yaml 中:
mcp:
servers:
filesystem:
command: "npx"
args: ["-y", "@modelcontextprotocol/server-filesystem"]
env: {}
enabled: true
github:
command: "npx"
args: ["-y", "@modelcontextprotocol/server-github"]
env:
GITHUB_TOKEN: "your-token-here"
enabled: false
归档 Session
归档 Session 通过在 Session 目录下创建 .archived 标记文件来标识:
~/.dsh/sessions/<workspace>/<session-id>/
├── session.jsonl.zstd
└── .archived # 归档标记文件
API 端点
插件提供以下 API 端点:
Skill 管理
GET /api/settings-extensions/skills- 获取 Skill 列表POST /api/settings-extensions/skills/:name/toggle- 切换 Skill 启用状态
MCP 管理
GET /api/settings-extensions/mcp/servers- 获取 MCP Server 列表POST /api/settings-extensions/mcp/servers/:name/toggle- 切换 MCP Server 启用状态POST /api/settings-extensions/mcp/servers/:name/config- 更新 MCP Server 配置DELETE /api/settings-extensions/mcp/servers/:name- 删除 MCP Server
Session 管理
GET /api/settings-extensions/sessions/archived- 获取归档 Session 列表DELETE /api/settings-extensions/sessions/:workspace/:id- 永久删除归档 SessionPOST /api/settings-extensions/sessions/:workspace/:id/restore- 恢复归档 Session
注意事项
- 数据安全:永久删除 Session 操作不可撤销,请谨慎操作
- 配置备份:修改配置前建议备份
~/.dsh/settings.yaml - 重启生效:某些配置修改可能需要重启 DSH 服务才能生效
开发说明
目录结构
dsh-settings-extensions/
├── package.json # 插件配置
├── cordis.patch.yml # Cordis 注册配置
├── README.md # 本文档
└── src/
├── index.js # Host 端 API
└── client.js # Client 端 UI
扩展开发
如需添加新的设置标签页,可以在 src/client.js 中:
- 创建新的组件函数
- 注册到
settings.extensions.tab插槽 - 添加相应的 locale 翻译
// 示例:添加新的标签页
ctx.slots.inject("settings.extensions.tab", () => ctx.slots.register({
name: "settings.extensions.tab",
id: "my-new-tab",
order: 30,
label: () => t("myNewTab"),
locale: NS,
inject: () => ({ t, connection })
}, MyNewTabComponent));
许可证
MIT