dsh-workbench

DSH PLUGIN记忆与知识

仓库 staff-os/dsh-workbench · npm @staff-os/dsh-workbench

记忆与知识 L5 · 运行验证通过 安全审查:低风险 可信度:金 可安装插件
安装这个插件

DSH plugin 企业工作台,在会话中管理 AI 员工、知识库、技能、MCP 服务器与 DSH 插件,本地文件存储,无需外部后端。

验证等级 L5 L5 · 运行验证通过
GitHub 星标 4 复刻 2 · 未关闭 issue 0
最近更新 2026-08-25 创建于 2026-08-22
README 10.2 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add github:staff-os/dsh-workbench
兼容 DSH 版本0.2.0-rc.2 等 10 个版本版本不匹配时安装会报错
Node.js 要求^22.19.0 || >=24.0.0来自仓库 package.json 的 engines 字段
前置依赖@deepseek-ai/cordis@>=4.0.0 <5、@deepseek-ai/dsh-agent-presets@>=0.1.0-rc.8 <0.2.0 等 19 个需要同时安装的同级依赖
npm 包名@staff-os/dsh-workbench可用 npm view 查看包信息

能做什么

5 项功能
字段来自项目仓库与公开索引,中文说明由本站标注

dsh-workbench:DeepSeek Harness 的企业级工作台插件

  • 管理 AI 员工预设
  • 知识库分块与 BM25 检索
  • 技能导入与安全扫描
  • 配置 MCP 服务器
  • 管理 DSH 插件

适用场景

记忆

上游标签

agent-frameworkagent-skilldeepseek-harnessdsh-pluginenterprise-aienterprise-ai-engineeringskillhub

验证等级与安全审查

L5 · 运行验证通过
自动化流程结论,不是人工审核
验证等级L5 · 运行验证通过在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度稳定按仓库活跃度与最近更新时间给出
可信度金综合仓库活跃度与验证结果

上面的结论来自上游最近一次自动化验证(2026-10-08): 同一套检查会在插件发新版后重跑,页面显示的是最新一次的逐项结果。

逐项检查结果

L1 · 已找到 ✓ 通过
  • L1.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L2 · 结构化 ✓ 通过
  • L2.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L3 · 安装规范 ✓ 通过
  • L3.1_INSTALL_COMMAND_PARSED 安装命令已解析 方式:安装规范解析
  • L3.2_DSH_VERSION_DECLARED DSH 版本已声明 方式:DSH 版本声明
L4 · 安装已测 ✓ 通过
  • L4.1_INSTALL_EXECUTED_CONFINED 受限沙盒内执行安装 方式:沙盒安装执行
  • L4.2_INSTALL_SUCCESS 沙盒安装成功 方式:沙盒安装执行
  • L4.3_ARTIFACT_CONFIRMED 安装产物已确认 方式:沙盒安装执行
L5 · 运行已测 ✓ 通过
  • L5.1_INSTALL_PASSED_SANDBOXED 沙盒安装通过 方式:沙盒安装执行
  • L5.2_WEB_BOOT_READY Web 启动就绪 方式:Web 启动
  • L5.3_HTTP_SERVED HTTP 服务响应 方式:HTTP 请求
  • L5.4_PLUGIN_INVENTORY_ACTIVE 插件清单中已激活 方式:插件清单查询
— · 其它检查项
  • L4_0_SANDBOX 沙盒安装判定 方式:沙盒安装执行

风险详情

  • 审查结论 通过
  • 结论说明 vet 静态分析未发现可疑行为,判定为干净(clean)。
  • 风险计数 严重 0 / 高 0 / 中 0
  • 风险详情 未发现严重或警告级问题。

仓库档案

记忆与知识
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方staff-os仓库 dsh-workbench · 默认分支 main
分类记忆与知识memory
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言JavaScript仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue4 / 2 / 0收录时的数值,非实时
创建 / 更新2026-08-22 · 2026-08-25最后推送 2026-08-25
本站收录2026-08-27首次进入本站目录的时间

README 全文

10.2 KB
作者原文,中文版优先;只做安全转义,不改内容

@staff-os/dsh-workbench

English | 中文

DeepSeek Harness 的企业工作台插件:AI 员工、知识库、技能、MCP 服务、DSH 插件五个域,
每个域同时有一个给模型的工具和一块给人的管理界面。

单机运行——不依赖外部后端,也不需要数据库。所有状态都是 $DSH_HOME 下的本地文件。

能力

技能

本地技能落在 $DSH_HOME/skills,一个目录一份 SKILL.md;也可以从已配置的市场装。清单把三个
数字摆在最上面——受本插件管理的、被同名高优先级来源遮蔽的、被 DSH 因 frontmatter 不合规
整份拒收的。后两种在会话里的表现都是「装了却调不到」,而 DSH 那边只有一行日志。

写完之后回读一次 ctx.skills,给出的是「现在到底生没生效」,不是「重启后生效」——写完盘,
下一个模型回合就生效。

市场是多源聚合的,每张卡标出自己来自哪个源。留空浏览按累计下载量排,带关键词时保持市场给的
相关度次序。卡上不放安装按钮,整张卡点进详情:装一个技能不是装一个库,SKILL.md 的正文是模型
会照着执行的指令,该看的东西(发布者、审核结论、包内文件、静态扫描)都在详情里。

详情三页:概览把 SKILL.md 渲染出来(另有一档源码),文件是包内目录树、点开就地看内容,
安全扫描是十三条正则规则外加一条「字符集夹带」检测。规则表移植自腾讯朱雀实验室
AI-Infra-Guard(Apache-2.0)的 skill-scan。命中
只说明这段文字长得像某种高危写法,不代表它真会那么做;反过来,没命中也不等于安全。

导入有四种来源——压缩包、下载链接、GitHub 仓库、市场 slug——共用同一条解包与落盘路径:先落技能
根之外的暂存目录,校验通过再整目录换上去。只有市场 slug 那条记安装台账,之后的更新检查按台账
里的源 id 回到同一个市场。

AI 员工

一个员工就是一个 DSH agent preset。发现、信任级别、复制与删除全部走原生 ctx.agentPresets:
新建只能以现成员工为模板整目录复制,复制出来的不会比源多出任何能力;trust 为 system
的随部署发布,改不了也删不掉。绑定写在 preset 目录里的 employee.yml,是职责声明而不是
自动装配
——绑了知识库不会让检索自动发生。界面代码在 client/employee/,入口暂时隐掉了。

知识库

本地切块加关键词索引,检索走 BM25 而不是语义向量。只收文本。

MCP 服务

写进当前 profile 的 patch 文件,改动在下次启动 DSH 时生效。import_json 吃 Claude Code /
Cursor 风格的 {&quot;mcpServers&quot;: {...}},并把 ${VAR} 转成 !!js process.env.VAR——DSH 不做
客户端环境替换,不转的话 MCP 服务拿到的 token 就是 ${GITHUB_TOKEN} 这十几个字符。

DSH 插件

转发给 dsh plugin 命令行,不自己碰 pnpm 也不自己改 dsh.profile.bundles。list 把「这个包
声明了 dsh.bundle 没有」与「它在不在组合层里」拆成两个标记:装完看这两个才知道是不是真的
装成了插件。

装

dsh plugin --profile web add @staff-os/dsh-workbench

本地开发用绝对路径:

dsh plugin --profile web add link:/path/to/dsh-workbench

装完重启 DSH。

配

插件自带的 cordis.patch.yml 是一层 opt-in patch,默认从环境变量读配置:

环境变量 作用
DSH_PROFILE MCP 与插件管理作用在哪个 profile 上,默认 web
CLAWHUB_REGISTRY ClawHub 兼容市场的根地址;不配走出厂那一条(只读接口公开,不要 token)
CLAWHUB_API_KEY 市场凭据。只存引用名,值从凭据服务或启动环境解析,不要内联写进 YAML

环境变量放 $DSH_HOME/.env 或调用 dsh 的那个目录的 .env,两层都在启动时读进来。

换成自建市场时,改 profile 自己的 patch 层($DSH_HOME/profiles//cordis.patch.yml)
比改环境变量好:环境变量只能换地址,id 与展示名是写死的,界面上会挂着「ClawHub」的名字
指向内网。patch 层热重载,改完不用重启:

# patch 对 config 是整份替换而不是深合并,所以这一行里每个键都要重述
- id: workbench
config:
profile: web                 # 作用的 profile
dshHome: &#x27;&#x27;                  # 覆盖 $DSH_HOME,留空走环境解析
registries:                  # 多源聚合,技能市场与插件市场共用
- id: skillhub             # 会记进安装台账,装过东西之后别再改
name: 内网技能市场
url: http://10.0.14.55
flavor: clawhub          # clawhub | skillhub
apiKeyEnv: SKILLHUB_REGISTRY_API_KEY   # 匿名可读时可以不写
registryTimeoutMs: 15000     # 单次市场请求
toolTimeoutMs: 20000         # 本地写操作
networkToolTimeoutMs: 120000 # 含下载的操作(技能导入、市场安装)
dshExecutable: dsh           # 插件装卸转发给谁
pluginToolTimeoutMs: 300000  # 一次 pnpm 安装可能要几十秒

flavor 只有两个值:clawhub(默认,也适用于任何 ClawHub 兼容的自建部署)与 skillhub
(把浏览拆成 /api/v1/showcase/* 榜单端点、/api/v1/skills 一律 405 的那种部署)。

技能市场的源也可以在界面上加减,写进 $DSH_HOME/workbench/market.json,立刻生效、不进
Cordis 配置;那份文件为空时回退到这里配的。

结构

一个 Cordis 插件,往三个挂点上放东西:

挂点 内容
ctx.tools 五个工具,每个域一个,用 action 选动作;破坏性动作必须显式传 confirm: true,否则直接返回错误、不落盘
Typert Remote 两个命名空间 workbenchEmployee、workbenchSkill,是管理界面的数据通道
shell.sidebar / shell.overlay 侧栏分区入口与管理界面;上游 ui-sidebar 由 cordis.patch.yml 停掉——sidebar 是 single 槽,两个占位方只会互相遮蔽

ctx.workbench 是插件自己的 Service,只装各域共用的东西:解析后的路径、市场客户端、
profile 名。

src/
├── index.ts              插件入口与配置 schema
├── runtime.ts            ctx.workbench
├── registry.ts           ClawHub 兼容市场客户端(技能与插件共用)
├── archive/              zip / tar 解包与安全校验
├── employee/             ┐ 每个域一份 tool.ts(给模型);
├── knowledge/            │ employee 与 skill 另有 remote.ts(给界面),
├── skill/                │ 两边共用同一份 view.ts 投影,
├── mcp/                  │ 界面上的东西与模型看到的不会各说各话
├── plugin/               ┘
├── typert-schemas.ts     Remote descriptor 表。手写的,改方法签名要跟着改
└── client/               浏览器半边:侧栏、管理面板、各域界面

Node 半边与浏览器半边是两个产物(lib/index.js 与 lib/client.js),走各自的构建配置。

数据落在哪

$DSH_HOME/
├── skills//SKILL.md              技能(DSH 原生的用户级技能根)
├── .agent-presets//                AI 员工(DSH 原生的 preset 根)
│   ├── agent.cordis.yml                  组合,DSH 拥有
│   ├── preset.yml                        展示元数据,DSH 拥有
│   └── employee.yml                      资源绑定,本插件附加
├── profiles//cordis.patch.yml MCP 服务(DSH 原生的 profile patch 层)
└── workbench/
├── skills.json                       已装技能的来源台账,更新检查靠它
├── market.json                       界面上配的市场源
├── staging/                          装包时的暂存目录,刻意不在技能根内
├── knowledge//                元数据、原文与倒排索引
└── cache/                            市场结果的离线缓存

文件权限一律 owner-only(0600 / 0700):patch 与知识库可能含 token 或企业内容。

明确不做

  • 向量检索。DSH 没有 embedding 能力缝,做不了就不假装能做
  • PDF / Office 解析。不预先引重量级依赖,需要就先转成文本
  • 绕过 preset 的复制边界。ctx.agentPresets 只允许整目录复制,这是刻意的安全设计

开发

pnpm install
pnpm build        # 两半一起出:lib/index.js 与 lib/client.js
pnpm typecheck    # tsc -b
pnpm test         # node --test

客户端产物没法用 DSH 的 client 预设(它 glob harness 仓库找包,仓库外的插件查无此名),
所以 tsdown.client.ts 按同一份产物契约自己实现了一遍:__ModuleLoader__.load 闭包、
CJS/browser、固定 client.js、CSS 模块经 lightningcss 编译,以及只有加载器模块表里的
说明符能保持 external。改动那份配置之后要核对产物:

grep -o &#x27;require(&quot;[^&quot;]*&quot;)&#x27; lib/client.js | sort -u

只应出现模块表里的说明符。多出别的就是运行时必炸的 require。

常见问题

8 问
答案由本站依据条目字段整理,不引用上游原文
dsh-workbench 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add github:staff-os/dsh-workbench` 即可。对应的 npm 包名是 `@staff-os/dsh-workbench`。

dsh-workbench 的验证等级是什么意思?

L5 · 运行验证通过。在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来

dsh-workbench 安全吗?

低风险。vet 静态分析未发现可疑行为,判定为干净(clean)。

dsh-workbench 支持哪些 DSH 版本?

上游记录的兼容版本包括 0.2.0-rc.2、0.2.0-rc.1、0.1.7-rc.2、0.1.6-alpha.2、0.1.6-alpha.1、0.1.5-rc.2、0.1.3-alpha.2、0.1.3-alpha.1。版本较多,只列出前 8 个。

dsh-workbench 需要什么运行环境?

Node.js ^22.19.0 || >=24.0.0;需要同时安装 @deepseek-ai/cordis@>=4.0.0 <5、@deepseek-ai/dsh-agent-presets@>=0.1.0-rc.8 <0.2.0、@deepseek-ai/dsh-atomic-write@>=0.1.0-rc.8 <0.2.0、@deepseek-ai/dsh-client-locale@>=0.1.0-rc.8 <0.2.0、@deepseek-ai/dsh-client-runtime@>=0.1.0-rc.8 <0.2.0。环境不满足时安装会失败,建议先确认本机版本。

dsh-workbench 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

dsh-workbench 有哪些功能?

管理 AI 员工预设、知识库分块与 BM25 检索、技能导入与安全扫描、配置 MCP 服务器、管理 DSH 插件。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

同名或近似条目

8 条
不同作者的仓库分开列,请确认你要装的是哪一个
记忆与知识
按星标排序,可作替代方案

ruflo

ruflo

L3 · 安装规范通过 7.4 万 星

OpenViking

OpenViking

面向 DeepSeek Harness 的 OpenViking 记忆与上下文插件:pre-step 自动召回与画像注入、会话捕获、`vik

L3 · 安装规范通过 3.9 万 星

WeKnora

WeKnora

把 WeKnora 知识库接入 dsh 的四个只读工具:列出知识库、混合检索原文片段、按顺序还原单篇文档,以及直接取用 WeKnora 自己

L4 · 沙盒安装通过 3.3 万 星

distilly

distilly

Distilly — Distill how they think into reusable Skills for any Agent o

L4 · 沙盒安装通过 2.5 万 星

EverOS

EverOS

L4 · 沙盒安装通过 1.3 万 星

MemOS

MemOS

L4 · 沙盒安装通过 1.2 万 星

staff-os 的其它插件

2 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 2026-10-08。