DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Laurel Center — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
L

laurel-center

Laurel Center

Laurel Control Center: Manage notifications, themes, memory, guardrails, and planning in one place within DeepSeek Harness, with support for dragging, resizing, and maximizing.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:Sakayorilove/dsh-laurel#e45e59b3628eef126fac787841053f49cd9c3218
READMECompatibilityVersions

Compatibility and provenance

Laurel Center is published as laurel-center and currently resolves to version 1.2.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
10/16/2026

Versions

1.2.0stable
10/16/2026
1.1.2stable
10/13/2026

Related plugins

Loading related plugins…

Latest
1.2.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
10/16/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in ui-customization.

Whale Widgetdsh-whale-widgetDeepSeek balance whale widget in the bottom-right corner of the DSH Web interface: balance/today’s usage/peak-off-peak pricing, customizable bubble click sequence (text/balance/today/peak-off-peak/image/random phrases and parallel weighted selection), per-line styles and fonts, floating quick editinClient Ui Skill Explorer@linxin666/dsh-client-ui-skill-explorerDSH skill center: browse loaded skills by source (bundled / project / user / custom / runtime), enable or disable, create and delete, in a web GUI panel.Remote Web Ui@linxin666/dsh-remote-web-uiScan-to-pair remote access for the dsh web GUI that shares one official interface: a QR beside the settings button pairs phones and PCs into the same Web GUI (a portrait-touch adaptation layer for phones, full desktop on PCs) through one-time tokens and rClient Ui Task Board@linxin666/dsh-client-ui-task-boardHost-authoritative task board for the DSH Web GUI with real session execution, Host cron scheduling, and optional cross-platform idle-sleep protection; mounted without DSH source changes.

README

Laurel 套件 · 给 DeepSeek Harness 的「功能管理」面板 + 五个功能插件

说人话:装上它,Harness 的设置里会多出一个功能管理面板,面板里五行开关, 分别控制五个小功能。每个功能都能单独开、单独关,也能单独更新 —— 不喜欢一个,关掉就行,不影响别的。

开关它干什么
通知你在忙别的窗口时,AI 有问题要问你、等你批准、或者干完了,弹一条 Windows 通知并响一声,不用一直盯着
Claude 主题把界面换成暖黄的纸面配色 + 更适合阅读的正文排版。只改外观,不碰你的数据和别的插件
记忆与上下文让 AI 跨会话记得事:本会话 → 本工作区 → 全局,三级范围;读别的项目需要你逐次授权。数据只存在你自己电脑上
内耗护栏治「干等、串扰、返工」:给子代理的等待套上限、把结论赶去写文件、按文件计返工次数、上下文每长一段就提醒一次、共享目录加锁。三档预设(温和/均衡/严格)+ 逐项自定义
可视化规划模式把一个大任务画成节点图,拆成能并行的小批次;方案要你采纳并批准才开工,做完有审计报告。体积大,默认关着

五个功能出厂全是关的——你想用哪个,自己打开。


装它(三步,照着做就行)

先说一句前提:这套东西是「一个面板 + 五个插件」。在 Harness 看来是六个包, 所以要一次把六个都装上;只装面板那一个,面板里那六行会解析不到,点了没反应。

第 1 步:拿到代码

git clone https://github.com/Sakayorilove/dsh-laurel

(不想用命令行:在仓库页面点绿色的 Code → Download ZIP,解压到一个长期不动的目录。)

第 2 步:把六个包装进你的 Harness(Windows 侧,不是 WSL 里)

先确认两个前置能跑(node -v 要 ≥ 22.19;没装 pnpm 的话先 npm i -g pnpm):

node -v
pnpm -v

打开 PowerShell,进到刚下载的文件夹,跑:

node scripts/install-profile.mjs

它会自己找到你的 Harness profile,写好六个依赖、跑一次安装、再校验一遍; 中途出错会整体回滚,不会把你的环境弄坏。它只动这六个包,你其它的依赖一个都不碰。

几种情况:

情况怎么办
找不到 profile,或找到多个候选它会列出候选并停下,不会猜。把正确的那个显式传进去:
node scripts/install-profile.mjs "C:\Users\<用户名>\.dsh\profiles\desktop"
只想校验,不想改任何东西node scripts/install-profile.mjs --check
安装目录不在仓库里加 --center <目录>,例如 --center D:\Laurel-Center
机器上有多份 pnpm(比如 Harness 客户端自带一份、全局又装了一份)版本不同可能把整个 profile 的 lockfile 重写一遍(profile 里往往还有别的插件)。指定用哪份,再照常跑:
$env:LAUREL_PNPM = "C:\...\resources\runtime\pnpm\bin\pnpm.cjs"
缺 pnpm安装器会先报出来(退出码 5)再退出,不会改到一半停住

第 3 步:完全退出 Harness,再打开

注意是完全退出(右下角托盘也退掉),不是关窗口。然后进 设置 → 功能管理,把想要的功能打开。

开了之后:界面上能立刻看到的(主题、面板本身)刷新一下页面就生效; 需要重启才生效的(通知、记忆这类后台逻辑)会在提示里说明。


装完发现不对?

现象多半是因为
面板里没有五行,或者点了开关没反应只装了面板,没装五个模块 → 重跑第 2 步的安装命令
点某个开关,提示「操作未成功:XX:operation-error」那个模块的包还没装进 profile(源码里有它、profile 里没有)。先完全退出 Harness,重跑第 2 步的安装命令,再启动。界面上的提示会把宿主的原始报错带在括号里,一般能直接看出是哪个包
打开了但界面没变化没有完全退出重开;或只刷新了页面但改的是后台半边
五个功能显示「已关闭」这是出厂默认,自己在面板里打开就行
主题没生效它有两道开关:功能管理里打开,「设置 → Claude 羊皮纸」里也要勾上
想让 Harness 回到装之前的样子node scripts/install-profile.mjs --rollback 回滚;--uninstall 移除六个依赖(两个命令都不用再传 profile 路径)

支持范围:这套在 DeepSeek Harness 桌面版 0.2.0-rc.2(Windows + WSL2)上验证过。 更早或更新的版本没测过 —— 宿主升级后如果界面细节回退,通常是客户端类名变了,来提 Issue 就行。


给 AI 助手看的精确指令

你要让 AI 帮你装,把下面整段原样发给它。这一节是机器可读版本,保留了全部路径与参数。

任务:在 Windows 上把 Laurel 套件装进 DeepSeek Harness。

前提(必须遵守):
- 本套件在宿主看来是六个直接依赖:laurel-center(装载机/面板) + laurel + dsh-claude-parchment
  + dsh-strata + dsh-warden + dsh-loom(五个模块)。只装 laurel-center 会导致它插入的其余六行解析不到。
- 改的是 Windows 的 profile,所以 pnpm 必须在 Windows 侧跑;
  不要在 WSL 里对 Windows profile 跑 pnpm(会写出 Windows 解析不了的链接)。
- 需要 Node ≥ 22.19 与可用的 pnpm(`pnpm -v` 能跑;没有就先 `npm i -g pnpm`)。
  缺 pnpm 时安装器会先报错退出(退出码 5),不会改到一半停住。

步骤:
1. 克隆仓库并进入目录:
   git clone https://github.com/Sakayorilove/dsh-laurel
   cd <仓库目录>
2. 跑安装事务(它会写六个依赖 → pnpm install → 校验,失败整体回滚):
   node scripts/install-profile.mjs
   # 它会自己找 profile;找不到或找到多个候选时它会列出来并停下,把正确的那个显式传进去:
   #   node scripts/install-profile.mjs "C:\Users\<用户名>\.dsh\profiles\desktop"
   # 安装目录不在仓库里时:  --center <仓库绝对路径>
   # 只校验不改动:  --check
   # 回滚:          --rollback
   # 卸载:          --uninstall
3. 校验装配(只读):
   node scripts/verify-installed.mjs
   期望:六个依赖的 realpath 分别落在 <仓库> 与 <仓库>/packages/<模块>,patch 六行、模块默认 disabled。
4. 告诉用户:完全退出 Harness 再打开,然后进「设置 → 功能管理」打开需要的功能。
   客户端半边刷新页面即生效;宿主半边(通知/记忆等)需要完全重启。

等价的手工做法(profile 的 package.json,六个都要有;放 dependencies 或 devDependencies 都行,
但**每个只能出现一处** —— 两段都有同一个名字时,后面那段会盖掉前面那段):
  "dependencies": {
    "laurel-center": "link:<仓库绝对路径>",
    "laurel": "link:<仓库绝对路径>/packages/laurel",
    "dsh-claude-parchment": "link:<仓库绝对路径>/packages/dsh-claude-parchment",
    "dsh-strata": "link:<仓库绝对路径>/packages/dsh-strata",
    "dsh-warden": "link:<仓库绝对路径>/packages/dsh-warden",
    "dsh-loom": "link:<仓库绝对路径>/packages/dsh-loom"
  }
  并确保 "dsh.profile.bundles" 里有 "laurel-center",且没有把六个模块另写成 bundle 行。

只读自检(不需要装任何依赖,克隆下来就能跑):
  node scripts/check.mjs            # 期望:通过 236 项,失败 0 项
  node scripts/integration-probe.mjs # 期望:通过 32 项
  node scripts/bootgraph-probe.mjs   # 期望:通过 37 项
  node scripts/module.mjs check      # 期望:0 问题

安装事务的隔离复现(需要 pnpm;在临时目录里跑真实的安装/迁移/卸载/回滚,**不碰任何真实 profile**):
  node scripts/install-probe.mjs     # 期望:全部场景通过(九个场景)

相关环境变量(可选):
  DSH_LOOM_WSL_USER              指定 WSL 用户(默认用该发行版的默认用户)
  DSH_LOOM_WSL_WORKTREE_BASE     指定 Loom 工作树的 WSL 侧基础目录
  LAUREL_CENTER_INSTALL          指定安装面目录(默认从 profile 推导)

不要做的事:
- 不要手改安装面里的文件(它由 node scripts/release.mjs 从源码生成)
- 不要手改构建产物 lib/client.js(改源码后跑 node scripts/build-client.mjs)

常见配置

  • 通知提示音:「设置 → 通知」里可以填一个 wav 文件的绝对路径; Windows 自带的在 C:\Windows\Media\ 下,例如 C:/Windows/Media/Windows Notify Calendar.wav。
  • 记忆数据:存在 $DSH_HOME/strata/memories.jsonl,是追加式的——遗忘会追加一条事件,不删旧行,方便你以后核对。
  • Loom 的工作树:默认放在插件自己的数据目录;想放到 WSL 里(更快)就设 DSH_LOOM_WSL_WORKTREE_BASE,例如 /home/<你的 WSL 用户>/projects/.dsh-loom。

给开发者

node scripts/check.mjs              # 装载机离线自检(248 项,含全仓 JS 语法)
node scripts/integration-probe.mjs  # patch 组出 loader 树、开关语义
node scripts/bootgraph-probe.mjs    # boot graph 行、bundle id、inject 值域
node scripts/module.mjs check       # 五个模块的落点是否一致
node scripts/install-probe.mjs      # 安装事务的隔离复现(真实 pnpm,临时目录,需 pnpm)
node scripts/build-client.mjs       # 改了客户端源码后重建产物
node scripts/release.mjs --to <目录> # 从源码生成只含运行文件的安装面

上面几条里只有 install-probe.mjs 需要 pnpm(要真的建链接);其余克隆下来就能跑,不用装依赖。

CI 在 push 到 main 和每个 PR 上跑四个 job:

job跑什么
离线门禁上面那四条 + 客户端产物与源码一致(不需要装依赖)
安装事务install-probe.mjs,真实 pnpm,隔离 profile
模块测试五个包各自的测试:通知、记忆、主题(含真实 Chromium 用例)、护栏(离线,零依赖)、Loom(含 tsc)
宿主集成手动触发,需要一台装了 Harness 的自托管 runner,--require-host

各模块自己的测试需要额外依赖,见 CONTRIBUTING.md。 ⚠ 这四个 job 目前还没有在 GitHub 上真正执行过(仓库刚公开,CI 环境未验证); 本机已按同一组命令跑通,但别把它当成"已经绿了的徽章"。

文档内容
MODULES.md装载机与模块的关系、单独更新、增删模块、标签约定
CHANGELOG.md变化记录
CONTRIBUTING.md环境、提交前必跑的检查、硬规矩
SECURITY.md安全问题怎么报、各模块接触哪些数据
THIRD-PARTY.md第三方接口与参考(不打包任何第三方运行时依赖)
docs/PLUGIN-CONTRACT.md与 DSH 客户端模块系统的接线契约

许可

MIT,见 LICENSE;每个模块的 packages/<目录>/LICENSE 同样保留。