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.

Client Ui Settings Sync — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins

@linbin-mk/dsh-client-ui-settings-sync

Client Ui Settings Sync

Session sync UI plugin for the dsh web GUI: the Sync settings page (git remote, cadence, cleanup, and the read-only synced-session tree), the session row's sync toggle, and the sync-records dialog, all talking to the host through the plugin's own same-ori

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

npx -y @deepseek-ai/dsh plugin --profile web add @linbin-mk/dsh-client-ui-settings-sync@0.5.0
READMECompatibilityVersions

Compatibility and provenance

Client Ui Settings Sync is published as @linbin-mk/dsh-client-ui-settings-sync and currently resolves to version 0.5.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

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

Versions

0.5.0stable
9/29/2026
0.4.0stable
9/28/2026
0.3.2stable
9/27/2026
Show 6 more versionsCollapse versions
0.3.1stable
9/27/2026
0.3.0stable
9/27/2026
0.2.1stable
9/23/2026
0.2.0stable
9/23/2026
0.1.3stable
9/22/2026
0.1.2stable
9/22/2026

Related plugins

Loading related plugins…

Latest
0.5.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
396.1 kB
Files
23
Surface
web
License
MIT
Source
npm
GitHub
★ 0
Weekly downloads
21
Last push
10/14/2026
View source ↗Project homepage ↗
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.

Web App@deepseek-ai/dsh-web-appThe dsh browser-surface bundle: the web patch layer over dsh-base plus the runtime glue plugin (frontend dist serving, web-surface prompt, bash runtime variables, URL line)Experimental Agent Team Web Profile@deepseek-ai/dsh-experimental-agent-team-web-profileExperimental Web profile layer for Agent Teams Remote and UI pluginsAb Chartdsh-ab-chartChart rendering tool with the browser card that draws its calls, in one publishable plugin packageWhale 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 editin

README

English | 简体中文

@linbin-mk/dsh-client-ui-settings-sync

dsh-session-sync 插件的浏览器半边:DeepSeek Harness Web GUI 的会话同步设置页(settings.section id sync)与侧栏状态点(sidebar.footer.action id session-sync-status)。

设置段走 harness 通用的 config form(ctx.configForms.get('session-sync'):读取、订阅推送,写入是带修订号围栏的 mutate),因此不碰 harness 的 RPC 表;状态、手动同步/清理与日志经 host 自建的同源 HTTP API(/session-sync/*,普通 fetch)传输。Host 把偏好保留在浏览器进程内的页面(非 loopback,mode: 'memory')只读展示配置、禁用全部写入控件;config form 把 host 的拒绝压成 false,此时页面再用插件的 POST /session-sync/settings 取回拒绝原因。工作区选项来自标准的 useWorkspaces hook。

host 半边见 @linbin-mk/dsh-session-sync。

组合配置

- id: ui-settings-sync
  name: '@linbin-mk/dsh-client-ui-settings-sync'

要求 DeepSeek Harness 0.1.7-rc.2(@deepseek-ai/cordis ^4.0.4),并 peer 依赖 Host 半边 @linbin-mk/dsh-session-sync ^0.4.0。

开发

pnpm test        # controller、设置页、状态页脚、slot 注册
pnpm typecheck
pnpm build       # tsc(类型)+ tsdown(node 半边 + lib/client.js 浏览器 bundle)

测试基于最小假件(tests/helpers.ts)与 vendor 的快照存储引擎运行——因为已发布的 harness 客户端包只以浏览器 bundle 提供其 /client 运行时;详见仓库 README。

许可证

MIT —— 见 LICENSE。

src/client/store.ts 中的快照存储引擎裁剪自采用 MIT 许可证的 DeepSeek Harness;浏览器 bundle(lib/client.js)在构建期内联了同样采用 MIT 许可证的 zustand、immer 与 clsx。上游版权声明与许可证文本见 NOTICE。

v2(0.5)浏览器半边

v2 起会话同步不再由置顶决定:会话行 ... 菜单里出现本插件的条目,设置页改为只读的同步会话集合。本包现在注册四个槽:

槽idorder内容
settings.sectionsync30设置页(enabled / remote / branch / intervalMinutes / cleanup 仍是草稿-保存,mappings 已删除)
sidebar.footer.actionsession-sync-status0状态点(名称改为 syncedCount)
sidebar.workspaces.session.menu.itemsession-sync.toggle500「同步会话」/「会话同步中」
shell.overlaysession-sync.dialog0该会话的同步记录弹窗
  • 菜单项:已加入 → 「会话同步中」,点击经 apply 闭包里的 observable 向弹窗提出请求;未加入 → 「同步会话」,点击先落本地乐观状态再 POST /session-sync/sessions/<id> 并关闭菜单(host 顺带立刻跑一轮)。插件未配置(status.configured === false)或集合里该会话 present === false(本机不持有)时整条不渲染。
  • 弹窗:GET /session-sync/sessions/<id>/records(新→旧)列出机器 / 时间 / 方向 / 事件数 / 冲突,带加载与可重试的错误态,动作为「立即同步」「关闭同步」「关闭」。shell.overlay 本身点击穿透,弹窗经 ui-primitives 的 Modal(自己的全屏层设 pointer-events: auto)重新接收指针事件。
  • 设置页:只读的「同步会话集合」树(工作区 → 会话;同名 0 个 / 多个分别给出警告徽标)与只读的「待匹配工作区」区(没有任何绑定 UI:在本机建同名工作区即自动匹配)。
  • 选择集合在插件启动时就读一次(行菜单在设置页从未打开时也要能判定文案),此后每次变更、settings/document-updated(同命名空间)与 connection/reset 都会刷新。
  • 本机不再使用 useWorkspaces:树上的 matched / matches 由 host 的选择视图给出。
  • shell.overlay 由 ui-layout 声明,而本包不依赖它,因此 src/client/slot-contract.ts 原样重述了该槽的 SlotMap 声明(仅类型,运行期不依赖);host 路由字面量同理在 src/client/api.ts 重述(浏览器 bundle 的纯净性门禁禁止跨插件值导入)。