前言¶
用 DSH Web 跑日常任务时会遇到一个具体问题:有些任务几乎天天要执行,但时间不定——刷科技新闻、看 GitHub 热门、检查发布草稿。每次都要往输入框手敲一大段 prompt,重复且容易走神。用任务看板来做这类事又偏重:状态机、cron、执行记录,对一个「点一下就发」的动作来说是杀鸡用牛刀。
dsh-sticker-board 解决的就是这个问题:把常用任务做成一张张「冰箱贴」,停靠在输入框正上方,点击即向当前会话发送预置 prompt 并执行。下面按定位、功能、安装、用法、原理的顺序介绍。
这是什么¶
dsh-sticker-board 是面向 DeepSeek Harness(DSH)Web 的冰箱贴纸系统,由 sanqiPanax 维护,许可证为 MIT。它的定位是轻量快捷命令栏:贴纸按长期 / 短期分组,点击任意贴纸,预置的 prompt 就自动发进当前会话,AI 立即开始执行。
核心功能¶
- 贴纸栏停靠在输入框正上方,点击贴纸即以排队模式向当前会话发送预置 prompt,不打断正在运行的 turn。
- 贴纸按长期 / 短期两组管理,高频任务和临时任务分开摆放。
- 支持新增、编辑、删除:鼠标悬停在贴纸上出现 ✏️ / 🗑 按钮,改动立即生效并持久化,删除有确认框。
- 首次启动自动写入 8 张预置贴纸到
~/.dsh/sticker-board.json,可直接增删改。 - Host 端提供零依赖 REST API,JSON 文件持久化,写入经单条 promise 链串行化,并发编辑不会损坏文件。
- Client 端为 React 组件,注册官方
conversation.input.dock槽位(composer 卡片上方的全宽条)。 - 只读写本地 JSON,不上传任何数据。
安装与启用¶
从 GitHub 安装:
dsh plugin --profile web add github:sanqiPanax/dsh-sticker-board
如果已有本地打包文件,也可以装 tgz:
dsh plugin --profile web add ./dsh-sticker-board-0.1.1.tgz
安装后重启 dsh web,并在浏览器按 Ctrl+F5 强制刷新一次,输入框上方出现贴纸栏即生效。首次启动时插件会自动把 8 张预置贴纸写入 ~/.dsh/sticker-board.json。
典型用法¶
先做最基本的动作——点击执行:点任意贴纸,预置 prompt 以排队模式发进当前会话,AI 立即开始干活。当前会话有 turn 在跑时,消息会排队等它结束,不会打断。
再新增自己的贴纸:
- 点贴纸栏最右侧的「+」按钮;
- 填写图标(emoji)、名称、分组(长期 / 短期)、任务 prompt(点击后发给 AI 的任务描述);
- 点「保存」,新贴纸立刻出现在对应分组。
编辑和删除:鼠标移到贴纸上,出现 ✏️ 编辑和 🗑 删除按钮,删除有确认框防误触。
首次启动自带的 8 张预置贴纸如下:
| 分组 | 贴纸 | 用途 |
|---|---|---|
| 长期 | 📰 24小时科技新闻 | 过去 24h 重要科技新闻中文简报(AI/芯片/互联网/游戏/硬件) |
| 长期 | ⭐ 推荐GitHub项目 | 5 个值得关注的 GitHub 项目及亮点 |
| 长期 | 📅 GitHub周报素材 | 本周周报素材收集(配图铁律评估) |
| 长期 | ✅ 今日复盘 | 已完成 / 进行中 / 待办复盘 |
| 短期 | 📝 小黑盒草稿检查 | 表格转PNG / 禁链接 / md2docx / check_draft.py 逐项检查 |
| 短期 | 📣 公众号发布检查 | author / 标题 / 图片占位 / 表格渲染 / 发布时段逐项检查 |
| 短期 | 🐦 X平台发言收集 | CDP 截图收集相关方发言 |
| 短期 | 🖼️ 图片识别 | 识别发送图片的内容与文字 |
这些预置 prompt 是按常见工作流拟的草稿,直接用 ✏️ 改成自己的即可。
工作原理¶
Host 端在 lib/index.js 中实现,零依赖,提供贴纸 CRUD 的 REST API 和 JSON 文件持久化,首次运行自动写入预置贴纸种子:
GET /api/sticker-board/health— 安装探针(返回插件版本与贴纸数,验证插件已加载)GET /api/sticker-board/stickers— 全部贴纸POST /api/sticker-board/stickers— 新增PUT /api/sticker-board/stickers/:id— 更新DELETE /api/sticker-board/stickers/:id— 删除
数据存放在 ~/.dsh/sticker-board.json,所有写入经过单条 promise 链串行化,并发编辑不会损坏文件。
Client 端在 lib/client.js 中实现,React 组件注册官方 conversation.input.dock 槽位——这是 composer 卡片上方的全宽条,与官方 goal 插件同款座位。点击贴纸时通过 ctx.conversation.sendSession(session, prompt, [], 'queue') 发送,走与手动输入相同的宿主准入路径进入当前会话。
适用场景与注意¶
适合谁:有一批每天都要跑、但不需要定时调度的固定任务的人。如果需要状态机、cron 定时、执行记录,用 dsh-task-board(任务看板)更合适;本插件是轻量快捷命令,没有这些能力,两者可以共存。
几点注意:
- 贴纸 prompt 走的是普通排队消息。如果需要打断正在运行的 turn,请用输入框的插话 / steer。
- 插件以当前 dsh 进程的权限运行,安装前建议先到仓库查看源码与许可证(本项目为 MIT)确认可信。
- 插件只读写本地 JSON 文件,不上传任何数据。
如果你要自己改代码再打包:修改后记得 bump package.json 版本号再执行 npm pack,因为 pnpm 对同版本号的 tgz 有缓存。
结尾¶
经过上面的步骤,常用任务就从「每次手敲一大段 prompt」变成「输入框上方点一下」。它不追求任务编排能力,只把最高频的那一步做到零成本,定位清晰,与任务看板互补。
插件收录于社区插件目录:https://www.skillhub.cn/plugins/sanqiPanax/dsh-sticker-board ,源码与 README 见 GitHub:https://github.com/sanqiPanax/dsh-sticker-board 。