dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
面向 DeepSeek Harness(dsh)的跨会话工作板插件:持久看板 + 无人值守任务指派 + 自动结算。
三步把工作板安装到 dsh 的 web profile。
1. 一行命令安装(需要 git、Node ^22.19 || >=24、pnpm 10+,dsh 在 PATH 上):
npx github:AFANman/dsh-work-board
该命令把仓库克隆到 $DSH_HOME/dsh-work-board、构建插件、把 profile bundle(宿主服务、专属 HTTP 载体、模型工具、Web UI 四行为一层)装入 profile。使用 skill 内置于插件并随其运行时注册,无需单独安装。默认装入 web profile,DSH_WORK_BOARD_PROFILE 环境变量可指定其他 profile。
从源码安装的等价方式:git clone 后在仓库内执行 ./install.sh(或 ./install.sh --profile <name>)。
2. 重启 web UI:
dsh --profile web
卸载:dsh plugin --profile web remove @deepseek-ai/dsh-work-board-app(skill 随插件卸载一并消失)。
步骤 1 的手动等价:pnpm install && pnpm build && pnpm build:client,然后 dsh plugin --profile web add file:<repo>/packages/work-board-app。
打开服务地址,侧栏底部(设置项旁)出现 工作板 入口。命令行验证:
curl -s -X POST http://localhost:3080/api/board/list \
-H 'content-type: application/json' \
-d '{"type":"client-request","rpcId":"c1","method":"board/list","payload":{"args":{"request":{}}}}'
插件需要提供 storage domain 与 agent 服务的组合——标准 web profile 已具备。不要与已包含 board 行的组合同时启用(入口 id 重复会导致启动失败)。
approval/request 自动以 allowed-once 放行,不做其他预授权completed → 完成(末段 assistant 文本作为结果)、error/max-tokens → 失败、aborted/interrupted → 中断;失败弹 web toast,并可(配置门控)发系统通知board_list / board_status,按调用方工作区授权/api/board/list|create|update|delete|assign),可用 curl 全脚本化,线格式见使用说明 skill插件只组合进已发布 ui-sidebar / ui-layout 就声明的席位,因此无需框架补丁即可在标准 dsh web 构建上运行:
sidebar.footer.action(设置项旁;宽侧栏为整行,折叠栏为图标块)conversation 席位(侧边栏保留在旁),关板时释放并回到会话视图;失败 toast 走 shell.overlayboard/change 的宿主构建额外获得推送更新,轮询兜住未转发的构建| 包 | 平面 | 职责 |
|---|---|---|
@deepseek-ai/dsh-board | 宿主 | ctx.board 服务:持久工作项(storage-domain sidecar)、指派、结算、系统通知;即 board RPC 命名空间 |
@deepseek-ai/dsh-board-http | 宿主 | 专属 /api/board HTTP 载体:最长前缀优先于通用 /api 通道,非 JSON 请求体按 JSON-RPC 信封应答(HTTP 400),分发走 Typert gateway |
@deepseek-ai/dsh-tool-board | 宿主 | 面向模型的 board_list / board_status 工具 |
@deepseek-ai/dsh-client-ui-board | Web | 侧栏入口、看板页(认领 conversation 席位,保留侧边栏)、创建/编辑/详情弹窗、失败 toast |
@deepseek-ai/dsh-work-board-app | Bundle | 可 dsh plugin add 的 profile 层,一次性挂载上述四行 |
pnpm install
pnpm test # vitest(109 个测试)
pnpm typecheck # tsc -b
pnpm build # 宿主产物;再打 Web 客户端:
pnpm build:client
@deepseek-ai scope 走公网 npm(.npmrc),框架依赖为已发布的 @deepseek-ai/dsh-* 家族。
board remote 由 packages/board 自己的客户端半面挂载(packages/board/src/client/index.ts,dsh.client 声明);client-ui-board 是纯消费者,注入 remote.board 激活。同一 fiber 不能既提供又注入同一命名空间服务,所以挂载与消费必须分属两个条目apply.client.spec REAL-boot 用例在本仓库无法运行(其按值导入发布版 dsh-client-runtime/client / dsh-client-locale/client 浏览器 bundle,Node 下不可导入);vitest.config.ts 内注明原因并排除。其余全部用例——112 个测试——在本仓库运行packages/board/lib/typert.* 产物为 vendor 副本。修改 packages/board/src/index.ts 的 RPC 方法后,请在 deepseek-harness 工作区内重新生成;独立根目录下 @deepseek-ai/dsh-typert-generator 的 workspace 分析尚不能发现 Remote 方法MIT