前言¶
在 DSH(DeepSeek Harness)里跑智能体或长对话时,待办、随手记和常用 Prompt 往往散落在聊天窗口、外部笔记或剪贴板里。换会话或换机器后很难对齐,也不适合当成结构化数据长期维护。社区插件 @hanmaxiao/dsh-hub(仓库 HanMaXiao/dsh-hub)把三类条目收进同一个悬浮面板:一个面板、三块标签、完整增删改查,数据落在宿主进程的一份 JSON 里,不依赖浏览器 localStorage,也不做联网同步或多用户协作。下面介绍它是什么、能做什么,以及如何在 DSH 里安装和使用。
这是什么¶
- 包名:
@hanmaxiao/dsh-hub(1.0.0 起由@local/dsh-hub更名,属破坏性变更,需先卸旧 bundle 再装新包) - 维护者:HanMaXiao
- 分类:客户端(DSH 社区目录 skillhub 插件页)
- 许可证:MIT
- 定位:浮动 TODO、Note、Prompt 统一管理面板;四边停靠、网格与列表视图、排序与分组可配
插件刻意不做三件事:不联网同步、不做多用户协作、不把数据塞进浏览器 localStorage。
核心功能¶
四边停靠与自动收展¶
面板可停靠在窗口上、右、下、左四条边。收起时只留一条窄把手,不挡内容;把手是唯一的开合入口。展开方式:悬停把手或点击把手。指针离开面板后,空闲一段时间会自动收起。上次选的停靠边会被记住。
三个标签页与两种视图¶
底部胶囊标签:TODO / NOTE / PROMPT,同一时间只编辑当前类型。
| 视图 | 说明 |
|---|---|
| 网格 | 卡片铺排,列数随窗口宽度自动重排 |
| 条目列表 | 一行一条,适合条目多、需要扫读 |
视图选择会被记住。空态仅保留添加按钮;创建、删除确认、详情三个弹窗;详情右上角可复制与关闭。界面中英双语,走应用 locale,控件为内联 SVG 并带 aria-label。
三类条目的字段¶
| TODO | Note | Prompt | |
|---|---|---|---|
| 标题 | title |
title |
title |
| 正文 | description + note |
text |
text |
| 归类 | category |
— | — |
| 标记 | priority:low / normal / high / urgent |
— | — |
| 状态 | status(可自定义清单) |
— | — |
| 图片 | attachments |
images |
images |
| 时间 | createdAt、updatedAt |
同左 | 同左 |
标题单独存储;列表显示名优先用标题,空则退回正文第一行。标题与正文可同时为空会被拦截;仅填标题即可保存短 TODO。宿主校验 kind、priority、status 等字段,非法值会点名拒绝。
TODO 的完成状态是可编辑枚举(待处理、处理中、已完成等六项出厂配置),不是简单复选框;可通过「管理状态」增删改序与颜色。列表按状态分区展示;旧数据里的 done 布尔会映射为「已完成」或「待处理」。
排序与分组¶
排序为一个字段 + 一个方向 + 可选分组,不是多级比较器链。可选字段包括名称、修改日期、创建日期、大小(由标题、正文、备注与附件字节现算)、类别(TODO)、优先级(TODO)等;并列时以 createdAt、id 升序收尾。分组:TODO 可按类别或优先级;Note / Prompt 可按含图片或纯文字。完成状态不作为排序或分组项,它本身就是 TODO 列表的区划框架。
数据存放¶
全部数据在:
$dataDir/store.json
默认 dataDir 为空时:$DSH_HOME/plugin-data/dsh-hub,未设置 DSH_HOME 时为 ~/.dsh/plugin-data/dsh-hub。可在 hub-core 的 config.dataDir 改为绝对路径(例如同步盘)。写入采用临时文件再 rename;文件损坏会明确报错,不会静默清空。图片以 base64 data URL 内联在 JSON 中(单文件备份方便,体积约增三分之一;整库每次改写)。maxImageBytes 默认 2097152(2 MiB,按解码前字节计)。
安装与启用¶
DSH 插件安装统一使用 spec,与侧栏 Plugins → Add plugin 或 plugin_manager 的 install_bundle 一致。
方式 A:GitHub(推荐)
plugin_manager { action: "install_bundle", target: "https://github.com/HanMaXiao/dsh-hub" }
页面上等价于粘贴 https://github.com/HanMaXiao/dsh-hub 后回车。
方式 B:npm(包已配置 publishConfig.access = public,发布后可用)
plugin_manager { action: "install_bundle", target: "@hanmaxiao/dsh-hub" }
plugin_manager { action: "install_bundle", target: "@hanmaxiao/dsh-hub@1.0.0" }
方式 C:本地绝对路径(开发)
plugin_manager { action: "install_bundle", target: "D:\\path\\to\\dsh-hub" }
须为绝对路径;勿在 profile 目录手写 package.json 或 cordis.patch.yml,勿在 profile 里跑 pnpm。安装后确认 list_bundles 可见本 bundle、list_plugins 中 @hanmaxiao/dsh-hub 非 failed、详情标题为「Hub · 统一管理面板」。已装插件不会自动升级,需卸后再装新版本。
若报 incompatible-version,与本包钉死的 @deepseek-ai/dsh-typert-protocol 0.1.7-rc.2 及 DSH peer 有关;多数情况应先重启进程再排查,必要时再按 README 用 set_version_exemption(需 acceptRisk: true)。
生效规则:
- Host 侧(
host.js、lib/、remote.js):改代码后须重启 DSH 进程 - Client 侧(
client.js):刷新页面即可
从 @local/dsh-hub 迁移:先 remove_bundle,再按上述方式安装;数据在 $dataDir/store.json,卸载不删库。
典型用法¶
- 安装并确认 bundle 与插件状态正常后,在 DSH 客户端界面通过靠边把手打开面板。
- 在 TODO / NOTE / PROMPT 标签间切换,用网格或列表查看条目;通过排序菜单调整字段、方向与分组。
- 创建条目:填标题与正文(至少一项非空);TODO 可设类别、优先级与状态;需要时在表单中加图片(注意单张 2 MiB 默认上限)。
- 备份或迁移:复制
store.json即可;改hub-core的dataDir可把库放到指定目录。
包依赖 Node >=24,与 DSH 运行时同进程加载;具体 Typert / remote 能力以仓库 exports 与 cordis.patch.yml 为准。
适用场景与注意¶
适合:希望在 DSH 窗口内就地管理待办、笔记与 Prompt 模板;需要单文件 JSON 库、可 diff、可手工备份;接受不做云同步与多人协作的单用户工作流。
注意:
- 插件以当前 DSH 进程权限运行,安装前请阅读 GitHub 源码 与 MIT 许可证,自行评估信任边界。
- 大图或多图会让
store.json变大,每次保存重写整文件,性能会下降。 - 社区目录 skillhub.cn 与 DeepSeek / 幻方无官方从属关系;DSH 生态是「一切皆插件」,目录为独立社区站点。
结尾¶
@hanmaxiao/dsh-hub 把 TODO、Note、Prompt 收敛到一个可停靠、可排序的悬浮面板,数据落在宿主侧的 store.json,适合在 Harness 里长期维护个人工作集。安装用官方 spec(如 GitHub URL 或 @hanmaxiao/dsh-hub),勿凭包名臆造 CLI。更多信息见社区目录页与仓库 README。
- 目录页:https://www.skillhub.cn/plugins/HanMaXiao/dsh-hub
- GitHub:https://github.com/HanMaXiao/dsh-hub