折腾 DeepSeek Harness 时做了个 Armory,顺手开源:Prompt / Skill / MCP 管理,可越狱,破甲,成仁!

千凝 2026-09-04 00:38 1

开源一个 DeepSeek Harness 的插件管理中枢:Armory —— Prompt / Skill / MCP / Wallpaper / 对话 / 统计一站式管理,可越狱,破甲,成仁!


本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:



  • 我的帖子已经打上 开源推广 标签:

  • 我的开源项目完整开源,无未开源部分:

  • 我的开源项目已链接认可 LINUX DO 社区:

  • 我帖子内的项目介绍,AI生成、润色内容部分已截图发出:

  • 以上选择我承诺是永久有效的,接受社区和佬友监督:




最近在折腾 DeepSeek Harness(DSH),发现如果自己装了一堆 Prompt、Skill、MCP 之后,管理起来还是比较麻烦。


所以自己做了一个插件项目,叫 Armory


项目地址:https://github.com/Qian-Ning/prompt-skill-armory


目前已经可以直接通过 npm 安装:


npx prompt-skill-armory

安装完成后,在 DSH 里可以直接进入 设置 → Armory,就是一个 CRT 终端风格的六 tab 管理面板,黑底绿字,看着挺顺眼的。




^-^ Armory 是干什么的?


简单来说,就是给 DeepSeek Harness 加一个统一的「装备库 / 管理中枢」。


目前主要包含六个模块:


^-^ Prompt 管理



  • 增删改查,启用/停用,设默认

  • 启用后经 ctx.systemPrompt.section 全局注入每个 agent 的系统提示词

  • 改一次,所有会话生效


^-^ Skill 管理



  • 一个列表统一管理:面板安装的(编辑/开关/卸载)+ 本地扫描的(托管)

  • 三种安装方式:手动填写、.md 文件选择、会话内 /armory-skill-dir / /armory-install-zip

  • 安装后在聊天里直接打 /skill-name 调用,modelInvocable 的技能模型也可自主调用


^-^ MCP 管理



  • 支持 stdio / HTTP 两种 MCP 服务器

  • 添加、编辑、删除,启用后自动连接

  • 每台展示运行状态和工具列表,支持连接测试


^-^ Wallpaper / 特效



  • 本地上传图片/视频(字节存盘,settings 只存 id 不膨胀)或填图片 URL

  • 透明度、遮罩、毛玻璃、模糊、铺放方式实时可调

  • Web 端与桌面客户端分别设置,互不干扰


^-^ 对话管理



  • 多选会话导出为 zip(含附件与工作区),另一台机器导入即可还原

  • 列表显示对话标题、项目与时间,标题回退到 DSH 官方规则

  • 支持真实删除(删目录 + 清索引,带确认)


^-^ 使用统计(cc-switch 风格)



  • 时间范围筛选(全部/30天/7天/今天)

  • 输入/输出/缓存 Token、缓存命中率、成本估算

  • 请求日志(时间/项目/模型/输入输出/缓存/成本/用时/首字/状态)

  • Provider(项目)统计与模型统计

  • SVG 双轴趋势图(今天按 24 小时分段)


^-^ 中英双语 UI


目前项目版本是 v0.9.2,已经基本形成了一套比较完整的管理面板。




^-^ 界面截图




CRT 终端风格,六 tab 一目了然

































提示词 技能 MCP Wallpaper
对话 统计



^-^ 安装非常简单


前提


已安装 DeepSeek Harness 运行时(dsh web 或桌面客户端)。插件是 DSH 的插件,不打包运行时本身。


安装


npx prompt-skill-armory

安装器自动完成:



  1. 定位 DSH home(~/.dsh$DSH_HOME

  2. 确保 web + desktop profile 存在

  3. 安装两个插件包(Host + Web 面板)

  4. 配置 Host bundle

  5. 挂载面板(cordis.patch.yml

  6. 体检 settings(防 4MB 膨胀)


启动


cd deepseek-harness
pnpm run build
pnpm dsh web
# 或直接重启桌面客户端

打开 设置 → Armory(书图标),六个 tab 即出现。


卸载


npx prompt-skill-armory uninstall

移除两个插件包、Host bundle、面板挂载,并清理壁纸/导出目录(提示词/技能配置保留在 settings.yaml,可手动删 switchblade 命名空间彻底清除)。


一键更新


面板每次打开会自动检测 npm 最新版本;发现新版本时顶部横幅提示,点一下 Host 端原地重装。




^-^ 支持什么?























环境 面板 /armory 命令
dsh web(官方)
DSH Desktop 客户端

项目并不是 Fork DSH 客户端,而是通过 profile + plugin 的方式挂载进去——安装器把面板挂进每个 profile 的 cordis.patch.yml,web 和 desktop 共用同一套机制,理论上可以比较方便地跟随 DSH 的更新。




^-^ 为什么做这个?


我自己使用 DSH 的时候,经常会遇到一个问题:



Skill 越装越多、Prompt 越积越多、MCP 越配越多,最后就开始乱了……



尤其是自己折腾各种 Agent / Skill / MCP 的时候,每个东西都有自己的配置方式,每次想换个提示词或者加个技能都得去翻配置文件,太碎了。


所以干脆做了一个统一入口。


Armory 的架构设计:


┌──────────────────────────────────────────┐
│ DSH 运行时 │
│ │
│ ┌─────────────┐ RPC ┌──────────┐ │
│ │ Web 面板 │◄────────►│ Host 服务 │ │
│ │ ui-switchblade│ api.* │switchblade │ │
│ │ (6 tabs) │ /api/* │ + routes │ │
│ └─────────────┘ └────┬─────┘ │
│ │ │
│ ctx.systemPrompt.section │
│ ctx.skills.register │
│ │ │
│ ┌───────────────────┴──┐ │
│ │ 每个 agent 系统提示词 │ │
│ │ 技能注册表 │ │
│ │ 壁纸/对话/统计持久化 │ │
│ └──────────────────────┘ │
└──────────────────────────────────────────┘


  • Host 服务@deepseek-ai/dsh-switchblade)持有提示词/技能/MCP/壁纸/对话/统计的 CRUD 与持久化,通过 ctx.systemPrompt.section 全局注入,通过 ctx.skills.register 注册技能

  • Web 面板@deepseek-ai/dsh-client-ui-switchblade)通过 connection RPC 调 Host,不直接碰 DSH 内部

  • 安装器把两者通过 profile 组合装进 DSH




^-^ 技术栈



  • TypeScript + tsdown 构建

  • Cordis 插件系统(DSH 原生插件框架)

  • Node.js ≥ 18(CLI 部分)

  • 纯前端,无后端依赖

  • MIT 许可




^-^ FAQ


Q: 会影响我已有的配置/会话吗?

A: 不会。插件只新增 switchblade settings 命名空间,不动其他配置。安装器还会体检 settings,防止膨胀。


Q: 支持离线安装吗?

A: 可以。把 npm 包拷到目标机器,npm install <tarball> 即可;或用 file: 安装本地构建产物。


Q: 统计里的成本准吗?

A: 是估算(内置单价 × token:输入 $0.3/M、输出 $1.2/M、缓存读 $0.03/M、缓存写 $0.6/M),不是真实账单。


Q: 会话导入后另一台机器看不到?

A: 导入成功后需重启 DSH 客户端让其重新扫描会话列表;若目标项目路径不同,在导入前填写「目标项目 key」以归入正确项目。


Q: 为什么客户端侧边栏图标是齿轮而不是书?

A: 桌面客户端打包版的 SettingsRoot 硬编码了图标映射。面板能正常工作,但书图标需要官方合入(见 UPSTREAM.md)。


Q: 技能从哪里来?

A: 三种:手动填写、.md 文件选择、会话内 /armory-skill-dir(目录)或 /armory-install-zip(zip)。安装后统一进"技能"tab 管理。




^-^ 希望 Linux DO 的大佬们帮忙看看


这个项目目前还是我自己折腾出来的,很多地方肯定还有不完善的地方。


特别希望大家帮忙看看:



  1. 有没有实际使用 DSH 的朋友?

  2. 目前这种 Prompt / Skill / MCP 的统一管理方式有没有价值?

  3. 还有哪些 DSH 功能值得集成进来?

  4. 有没有更好的插件架构设计?

  5. 如果你觉得项目有用,欢迎帮忙点个 ^-^


项目:


^-^ GitHub - Qian-Ning/prompt-skill-armory: Managing prompts,, skills, MCP tools & wallpaper for DeepSeek Harness · GitHub


MIT License,完全开源。


如果大家反馈不错,我也会继续把它往更完整的 DeepSeek Harness 开源插件生态 方向做。


欢迎拍砖,也欢迎 PR / Issue。^-^

最新回复 (3)
  • 疯狂阿强 09-04 00:42
    1

    哥们可以, 我也在写DSH插件 还是UP写的不错啊!!!

  • 千凝 楼主 09-04 01:02
    2

    共勉,加油完善!

  • 沐告杉 09-04 11:48
    3

    您好,在DSH客户端直接进入恢复模式了,是不是因为 已经到 v0.1.2-rc.1了?

* 帖子来源Linux.do
返回