dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
给 DeepSeek Harness(DSH)做的会话云同步:自部署服务端、端到端加密,同步会话与附件;设备台账、agent 笔记与多工作区映射见 docs/VAULT.md 设计稿。
状态:M1/M2 已完成,M3 已完成,M4 进行中。 帧工具/加密、服务端(含管理台与初始化)、M0 免重启 ingest 已经可跑;M3 的推送/拉取、安全边界、双 home E2E、durable journal 与错误退避已通过。M4 已完成 A1–A5、B1–B5(凭据、设置页、首启向导)、C1–C4/C6(composer block、列表拦截、行标记、同步气泡)与 E1(
batches规范字段);剩 C5 GUI 回归、D5 故障文案演练与 E3 文档收口。里程碑见 docs/ROADMAP.md。
DSH >=0.2.1-rc.1 <0.2.2-0。0.2.1 之前缺少本插件依赖的能力(如 appendPluginRecord),不做兼容。
packages/shared/ 帧处理(多帧 zstd)、端到端加密、线上类型;插件与服务端共用
packages/plugin/ DSH 宿主插件(install_bundle 的目标目录)
packages/server/ 自部署服务端:node:http + node:sqlite + blob 目录,零运行时依赖
tests/ 临时 DSH home 的硬约束与夹具(见 tests/README.md)
docs/ 设计、协议
pnpm install
pnpm test # node --test(.ts 由 Node 24 直接运行)
pnpm typecheck
pnpm check # typecheck + test
pnpm fixtures # 重新生成夹具的 .zstd 兄弟文件
pnpm dev:server # 在 .tmp/dev-data 起服务端(127.0.0.1:8787)
pnpm dev:dsh # 起隔离的 DSH 开发实例(默认端口 3090)
pnpm dev:console # 起 M0 控制台(127.0.0.1:3091,见 tests/m0/README.md)
夹具由官方 @deepseek-ai/dsh-session 校验器验证(packages/shared 的 devDependencies,版本与 DSH 对齐)。
首次启动服务端:控制台会打印一次性初始化密钥,并提示打开 http://127.0.0.1:8787/admin;按向导设置管理密码、存储配额,可选创建第一台设备。之后管理台用密码登录;忘记密码执行 node packages/server/src/index.ts admin reset(重启后重新打印初始化密钥)。
pnpm dev:dsh 会:
DSH_HOME 指到 .tmp/dev-dsh/home;--patch 覆盖 workspace-controller 的 documentsDirectory,让默认工作区落在 .tmp/dev-dsh/documents/(否则 DSH 会建到系统 Documents 下);DSH_* 变量,避免新实例误以为自己在嵌套运行。需要保留已登录状态时:node scripts/dev-dsh.mjs --credentials <旧 home 的 .credentials.yaml>。脚本拒绝在 .tmp/ 之外创建实例目录。
~/.dsh:所有临时 home 经 tests/helpers/tmp-home.mjs 创建,位于 .tmp/ 且被 git 忽略;规则与断言清单见 tests/README.md。本仓库按目录拆分许可:
packages/server/**:AGPL-3.0-only(全文)。对外提供修改后的服务端时,需按 AGPL §13 向使用者提供对应源码;个人自部署、仅自己使用不受影响。packages/plugin/**、packages/shared/** 及其余部分:MIT(全文)。根目录的 LICENSE 是拆分范围的简短说明;各 package 目录下也各有一份对应全文。