laurel:给 DeepSeek Harness 加控制中心和六个可开关模块

前言

DSH 的插件机制是「一切皆插件」,功能靠挂在宿主上的插件提供。但单插件装得多了,管理就成了实际问题:每个模块自己管更新,配置和数据放在不同位置,装新功能还要翻一遍源码。

sakayorilove/laurel 是一套给 DeepSeek Harness 的套件,包含一个控制中心和六个可单独开关的模块。它的思路是先装一个控制中心,剩下的功能在控制中心里按需下载、独立启用、独立更新,配置与数据保留。下面按 README 里写明的内容介绍。

这是什么

Laurel 套件,维护者 Sakayorilove,仓库在 GitHub 上叫 Sakayorilove/dsh-Laurel。定位是「给 DeepSeek Harness 的控制中心与模块商店」,核心能力是模块的独立安装、启用、更新、回退与卸载,并保留既有配置和数据。

按社区目录的分类,它归在「工作流」下。代码采用 MIT 许可。

核心功能

控制中心本身不提供业务功能,作用是三件事:提供「模块商店与更新」界面、统一外观与声音设置、在运行时挂载已启用的模块。模块有六个,出厂全部关闭:

  1. Laurel 通知:不在窗口前时,提问、审批、完成各推一条系统通知。
  2. 记忆核心:跨会话记住事实、要求与经验;零推理也能记录、检索、纠正、搬家。
  3. 上下文压缩:长对话瘦身,把大结果外置成引用、按需回读原文、做分级摘要。
  4. 自动继续:超时或网络报错中断后自动续跑,可限定生效时段;有推荐项时替你选。
  5. 内耗护栏:给子代理等待套上限、结论赶去写文件、按文件计返工、共享目录加锁。
  6. 思考滚动窗:把「思考」收成限高滚动窗,加渐变淡出、流式贴底、结束收起。

共用的存储、锁与账本由 laurel-core 提供,作为隐藏公共库随需要它的模块自动下载,不单独开关。

更新机制上,控制中心和模块分别检测更新:启动后检查一次,此后每六小时检查,也可手动检查。发现更新时显示常驻提示,点击进入「模块商店与更新」。控制中心更新成功后需要完全退出并重新打开 DSH。

安装与启用

装之前先看环境前提:Node.js ^22.19.0 || >=24.0.0;当前版本声明兼容 Harness 0.2.1-rc.5 / 0.2.2-rc.1,其他版本需先验证。

方式一:客户端原生插件页(推荐)

安装包是 tgz,可以从 Release 获取,也可以自己构建:

npx --yes pnpm@11.28.3 install --frozen-lockfile --ignore-scripts
npx --yes pnpm@11.28.3 run build:client
npx --yes pnpm@11.28.3 pack          # 得到 laurel-center-1.9.2.tgz

然后在 Harness 里走「插件 → 添加插件 → 安装第三方插件」,选中这个 tgz。装完完全退出(含托盘)再打开。

方式二:命令行装进 profile

cd ~/.dsh/profiles/desktop          # Windows: %USERPROFILE%\.dsh\profiles\desktop
pnpm add "file:/绝对路径/laurel-center-1.9.2.tgz"

同样要完全退出再打开。注意不要用比客户端更新的 pnpm 大版本,否则可能重写整个 profile 的 lockfile。

安装完成后,在控制中心的「模块商店与更新」里查看每个模块的已装版本和适配版本,再逐个安装、启用、更新、回退或卸载。

典型用法

日常使用的顺序是:先完成上面的安装,打开控制中心,在模块商店里勾选需要的模块。模块首次下载默认关闭,用户启用后等待宿主与客户端 Fiber激活。

下载和更新的规则:

  • 正在执行任务时拒绝代码变更,等任务结束再操作;
  • 下载失败或校验失败保留原版本;
  • 断网时已安装模块仍可使用,新增安装与更新需重新检查成功;
  • 卸载只移除安装登记和开关,保留用户数据及代码缓存,重新安装后可再次启用。

模块开关的状态写在安装目录下:下载代码、安装记录和新模块开关位于当前 <profile>/.laurel-modules/;用户数据在 $DSH_HOME 下各自的目录里,默认是 ~/.dsh 下的 laurel/、laurel-continue/、warden/、laurel-reasoning-scroll/、laurel-center/,记忆与上下文的库在 laurel-core/。卸载会保留这些目录,所以「先卸后装」不会丢配置。

适用场景与注意

适合已经在 DSH 里装了多个插件、希望把功能按模块管理和控制的人,尤其是在长对话、跨会话记忆、子代理并发这些场景下需要更细粒度控制的人。六个模块都出厂关闭,可以只挑需要的装。

安全和权限方面需要留意几点:

  1. 插件以当前 dsh 进程权限运行,装之前应先读源码和许可证,确认它对文件系统、网络和子代理的访问符合预期。
  2. 可选模型功能可能通过宿主把相关正文交给所选 provider,细节见仓库的 SECURITY.md。
  3. 控制中心只从 Laurel 官方目录与固定 GitHub Release 包取模块,当前不支持第三方商店源。
  4. 外观素材不随代码包分发,需要本机放一份 manifest 和文件;没有素材目录时会回退到纯色主题和程序粒子,功能不受影响。
  5. 外观资源接口只允许白名单内、hash 匹配的 GET/HEAD,不提供任意文件访问;不要把会话、账号信息、密钥或原始对话截图放进素材目录。

结尾

Laurel 的价值在于把「装插件」变成「装控制中心 + 按需下模块」,更新、回退、卸载都有清晰入口,数据也留在本机。它现在是 1.9.2 预发布版本,兼容 Harness 0.2.1-rc.5 / 0.2.2-rc.1,其他版本需先验证。

目录页:https://www.skillhub.cn/plugins/Sakayorilove/laurel
仓库:https://github.com/Sakayorilove/dsh-Laurel

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜