Laurel 套件
给 DeepSeek Harness 的控制中心与模块商店:先安装控制中心,再在模块列表里按需下载功能模块。模块独立启用、独立更新,配置与数据保留。
当前版本 1.9.2(预发布)。控制中心和模块分别检测更新:启动后检查,此后每六小时检查,也可手动检查。发现更新时显示常驻提示,点击进入「模块商店与更新」。模块支持独立更新、回退与卸载,保留既有配置和数据;控制中心更新成功后需要完全退出并重新打开 DSH。
六个模块
| 模块 | 出厂 | 做什么 |
|---|---|---|
| Laurel 通知 | 关 | 你不在窗口前时,提问、审批、完成各推一条系统通知 |
| 记忆核心 | 关 | 跨会话记住事实、要求与经验;零推理也能记录、检索、纠正、搬家 |
| 上下文压缩 | 关 | 长对话瘦身:大结果外置成引用、按需回读原文、分级摘要 |
| 自动继续 | 关 | 超时或网络报错中断后自动续跑,可限定生效时段;有推荐项时替你选 |
| 内耗护栏 | 关 | 给子代理等待套上限、结论赶去写文件、按文件计返工、共享目录加锁 |
| 思考滚动窗 | 关 | 把「思考」收成限高滚动窗:渐变淡出、流式贴底、结束收起 |
共用的存储、锁与账本由 laurel-core 提供,作为隐藏公共库随需要它的模块自动下载,不单独开关。
界面 0.5
原生设置只保留「Laurel」,统一为外观与动效、壁纸与阴影、声音与提醒、诊断与关于四栏;功能模块继续由控制中心管理。控制中心的外观、日夜和声音快捷入口使用同一份设置与保存接口。
主题保留月白·一笔流墨、玄墨·一笔流碧、画纸·丹青、玄墨·金丝四套;默认日间使用画纸·丹青,夜间使用玄墨·金丝,控制中心与 Harness 侧栏共用纸色;日夜以已有颜料笔触算法冲刷整个界面。原初工业提供合金日间和石墨夜间,选框使用合金切角与装配式展开;进入工业主题使用分段遮板并触发 AIC 区域语音。默认尊重应用内动态选择;可单独开启「跟随系统减少动态」。暂停笔触只暂停笔触,不会关闭整页过渡。
音效与音乐分别控制;总声音是总闸。AIC 语音和音效受音效开关约束,音频遵守手势解锁、窗口可见性与卸载清理。粒子从周边聚集、自转、分类和模块选框移动均保留;支持一键恢复全部动态。纸色、纸纹、画布精度和粒子细节保留各自适用范围,整体动态策略统一管理。
安装
前提: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。
模块商店与更新
打开控制中心的「模块商店与更新」,可以查看已装版本、适配版本、安装、更新、回退或卸载模块。正在执行任务时拒绝代码变更,等任务结束再操作。下载失败或校验失败保留原版本;断网时已安装模块仍可使用,新增安装与更新需重新检查成功。卸载保留用户数据和代码缓存,便于重新安装。
仅使用 Laurel 官方目录与固定 GitHub Release 包,当前不支持第三方商店源。候选目录中的未发布版本不提供安装按钮;维护者完成发布物上传、远端哈希校验和目录发布后,公众才能下载安装。架构、首次迁移与发布流程见 模块商店设计。
数据存在哪
下载代码、安装记录和新模块开关位于当前 <profile>/.laurel-modules/;它们不跟随控制中心包的覆盖而丢失。每个模块在 $DSH_HOME 下各有自己的目录(默认 ~/.dsh):laurel/、laurel-continue/、warden/、laurel-reasoning-scroll/、laurel-center/;记忆与上下文的库在 laurel-core/。这些目录用于本机存储;可选模型功能可能通过宿主把相关正文交给所选 provider,详见 SECURITY.md。
外观素材
代码包不含游戏画面、音效、点云模型或截图。控制中心的外观资源通过内容 hash 白名单,从本机独立目录 $DSH_HOME/laurel-center/private-assets 读取;那里放一份 manifest.json 和对应文件即可。
没有这个目录时,使用可读的纯色主题和程序粒子回退,功能与设置仍可操作;缺少的音频保持静音并显示诊断。接口只允许白名单内、hash 匹配的 GET/HEAD,不提供任意文件访问。不要将会话、账号信息、密钥或原始对话截图放进素材目录。
目录结构
.
├── package.json # laurel-center:唯一挂进 profile 的包
├── cordis.patch.yml # 总闸:只插「控制中心」一行,六个模块由它在运行时挂载
├── lib/ # 控制中心宿主半边 + 客户端半边(client/ 是源码,client.js 是产物)
├── packages/ # 六个模块 + 共享库,各自独立版本
│ ├── laurel-core/ # 存储、锁、账本、检索
│ ├── laurel/ # 通知
│ ├── laurel-memory/ # 记忆核心
│ ├── laurel-context/ # 上下文压缩
│ ├── laurel-continue/ # 自动继续
│ ├── dsh-warden/ # 内耗护栏
│ └── laurel-reasoning-scroll/ # 思考滚动窗
├── locale/ # 控制中心的中英文案
├── scripts/ # 构建与产物一致性检查
└── tests/ # 回归测试
内置模块元数据和构建输入由 lib/registry.js 登记,运行时以通过校验的官方目录为准;模块级说明见 MODULES.md。
开发
npx --yes pnpm@11.28.3 install --frozen-lockfile --ignore-scripts
node --test tests/*.test.mjs
npx --yes pnpm@11.28.3 run build:client:check # 客户端产物与源码是否一致
tests/ 里有一条用例要建符号链接,Windows 上需要开发者模式或管理员权限;WSL / Linux 下无此限制。
环境约定与提交流程见 CONTRIBUTING.md。
许可
代码采用 MIT,见 LICENSE。第三方依赖与字体的归属见 THIRD-PARTY.md。
可选的外观素材不属于本项目代码的 MIT 许可范围,也不随本仓库再分发。
No comments yet. Be the first to write one.