dshbase

Plugin directory / Developer / dsh-workbuddy-experts

dsh-workbuddy-experts

Verified · install-tested on dsh me9rez

✓ Actively maintained Builds on 11 official DSH packages

View on GitHub ↗ ← Back to plugin directory

0Stars
0Forks
0Open issues
—Language
2026-08-20Last push
Cross-platformPlatform

What it does

在 DeepSeek Harness(dsh)中复用 WorkBuddy 专家市场:Web 输入框内嵌按会话的「专家选择器」,选中专家后将其人设注入该会话的系统提示词、并把该专家捆绑的技能开放给该会话使用(按会话隔离、无需为每个专家维护预设),选择状态跨刷新/重启持久化。

✅
Our take
Works — verified, early-stage project

在 DeepSeek Harness(dsh)中复用 WorkBuddy 专家市场:Web 输入框内嵌按会话的「专家选择器」,选中专家后将其人设注入该会话的系统提示词、并把该专家捆绑的技能开放给该会话使用(按会话隔离、无需为每个专家维护预设),选择状态跨刷新/重启持久化。 It installs cleanly and boots without issues in our testing. It's early-stage but functional.

“Verified” means our automated CI actually ran dsh plugin add in a clean profile and it booted — nothing more. Feature descriptions and version compatibility are the author’s claims. This is not a security audit and not an endorsement of third-party code.

README

dsh-workbuddy-experts

在 DeepSeek Harness(dsh)中复用 WorkBuddy 专家市场。每个会话在输入框旁边都会有一个 专家 选择器;选择一个专家后,该专家的「人设(persona)」会被注入到会话的系统提示中(合并模式——dsh 工具链保持不变),且 无需为每个专家维护单独的预设。选择状态按会话持久化,刷新和完整重启后依然保留。

本项目改编自可用的
dsh-agent-teams 插件结构
(host + client 打包),并遵循 DeepSeek Harness 插件契约
(dsh.bundle.patch + dsh.client)。

工作原理

WorkBuddy 专家概念 dsh 中的等价实现(本插件)
plugin.json 清单 + agents/*.md 人设 扫描进内存的 ExpertEntry 目录(仅 agent)
在会话开始时注入人设 全局一段 expert:persona,text 为函数:每步按 context.agent.id 读内存表返回该会话所选专家的人设(order 0,非 complete,保留 harness 身份 + 全部 dsh 工具)
「切换专家」 更新内存人设表 + 技能 provider invalidate() → 下一次模型调用步骤生效(dsh 每个步骤都重新组装 system prompt)
按会话状态在重启后保留 SelectionStore ↔ ~/.dsh-workbuddy-experts.json,以会话 id 为键;启动时预填人设表 + 刷技能目录
技能(该专家的 skills/) 全局 scope 门控 provider:list(options.scope) → 会话 → 所选专家 → 只返回其技能(按会话隔离,见 <available_skills>)
Web GUI 开关 ExpertSelect 注入 conversation.input.right,通过 /plugins/dsh-workbuddy-experts/* HTTP 路由与 host 通信

范围(v1):仅支持独立专家(expertType: "agent")。团队(teams)和连接器(connectors)会被忽略。

更多文档

目录结构

src/
├── index.ts            host 入口:配置/注入/应用 + 接线
├── catalog.ts          纯逻辑:扫描市场、解析清单、规范化人设
├── persona.ts          按 agent 的 systemPrompt.section 注入
├── state.ts            纯逻辑:按会话的选择持久化
└── client/
    ├── index.tsx       client 入口:插槽注入
    ├── ExpertSelect.tsx
    ├── ExpertSelect.module.css
    └── service.ts      host HTTP 客户端
cordis.patch.yml        将插件挂载进某个 profile 的 host 组合
scripts/verify.mjs      纯逻辑的离线冒烟测试

构建

要求:一份 DeepSeek Harness 源码检出,其 lib 构建产物为最新,以便 @deepseek-ai/* 对等类型可被解析。按照 dsh-agent-teams 开发指南,将你导入的包链接进 node_modules:

npm i  # 或 pnpm install(devDependencies:typescript@^5.9、tsdown@0.22、lightningcss、react)
pnpm typecheck   # 两个 tsc 程序:host(src)+ client(src/client)
pnpm build       # tsc host → tsc client → tsdown(lib/client.js CJS 闭包工厂)
pnpm verify      # 离线冒烟测试(纯逻辑,无需 dsh 运行时)

开发期的类型链接针对的是 DSH 源码检出的构建产物
(packages/<pkg>/lib/types),而不是已安装的 staging 副本。如果没有 DSH
源码检出,你将无法对 client 包进行类型检查/构建。

安装到 profile 后重启

dsh plugin add 底层用 pnpm 安装,因此可以直接从 GitHub 仓库安装:

# 从 GitHub 仓库安装(pnpm 会解析 github: 说明符)
dsh plugin --profile <name> add github:me9rez/dsh-workbuddy-experts

# 或指定分支:github:me9rez/dsh-workbuddy-experts#master
# 重启 dsh(web 或 headless)—— 新会话会显示专家选择器

本地开发/离线场景也可用本地路径:dsh plugin --profile <name> add /absolute/path/to/dsh-workbuddy-experts。

配置(cordis.patch.yml)

键 默认值 含义
root ~/.workbuddy/plugins/marketplaces/experts/plugins WorkBuddy 专家市场所在的路径
stateFile ~/.dsh-workbuddy-experts.json 用于按会话保存选择状态的绝对/~ 文件(跨重启持久化)
logFile ~/.dsh-workbuddy-experts.log 插件自身诊断日志文件(追加写,含选择/注入/技能挂载/agent/created 重放等 [workbuddy-experts] 记录)
maxPersonaBytes 65536 人设超过该大小会被带标记地截断
personaOrder 0 deployment:persona 插槽的 order

已验证内容

  • ✅ pnpm build 构建通过(tsc host + tsc client + tsdown client bundle);
    lib/client.js 为正确的 window.__ModuleLoader__.load(...) 形态。
  • ✅ 离线:市场扫描(仅 agent 过滤、清单/agenda 解析、人设 + 技能目录发现)、
    人设规范化(去除 frontmatter、${CODEBUDDY_PLUGIN_ROOT} 展开、
    未知变量标记)、选择持久化的往返测试(scripts/verify.mjs,node scripts/verify.mjs)。
  • ✅ 面向真实市场:扫描 ...\experts\plugins → 找到 5 个独立专家
    (aihot、fbsir-super-partner、meituan-living-assistant、
    remotion-video-generator、senior-developer);团队/不可读目录被排除。
  • ✅ 已在 dsh web 实跑验证:选中专家后,会话的 system prompt 人设 与
    <available_skills> 技能 均跟随切换动态更新;未选专家会话看不到他人技能
    (按会话隔离)。

已知边界(v1)

  • 仅单专家:expertType === "agent";专家团(team)与连接器(connectors)本期忽略。
  • 人设合并注入,不 complete 接管:用一个全局段 expert:persona(order 0,
    text 为函数、每步按会话读内存表返回),非完整覆盖 → 保留 harness 身份与全部
    dsh 工具;切换专家下一步即生效。
  • 技能按会话隔离:全局 scope 门控 provider,list(options.scope) → 会话 → 所选专家
    → 只返回其技能;providerControl.invalidate() 刷缓存。选中专家的技能进入该会话
    <available_skills>,其它会话不可见。
  • 会话 id 作为持久化键:~/.dsh-workbuddy-experts.json,重启间会话 id 稳定。
  • 输入框插槽 conversation.input.right(EXPERT_SLOT 常量,输入卡内侧右侧,紧挨
    模型座);不同 profile 暴露的输入座位需自行调整。

完整设计见 docs/architecture.md。
人设/技能与 UI 的排障记录见 docs/debug-persona-skills.md、docs/layout-debug.md。

Install

🧩 Let your agent install it (recommended)

Install the catalog once, then DeepSeek Harness can find and install any plugin from this site automatically:

dsh plugin add dshbase-catalog

Then say "install dsh-workbuddy-experts for me" — your agent finds it in the directory and installs it. Docs: dshbase-catalog · verified packs.

This plugin is GitHub source (not published to npm) — install it straight from the repo:

Web profile:

dsh plugin --profile web add github:me9rez/dsh-workbuddy-experts

Headless (CLI) profile:

dsh plugin --profile headless add github:me9rez/dsh-workbuddy-experts

Test report

Verified: L1 install + L2 load + L3 runtime from GitHub source on dsh 0.1.0-rc.6.

Security: not yet scanned — our daily static scan will cover it shortly.

Share this badge

More in Developer

Browse all 7819 plugins →