dsh-sticker-board:把常用任務做成 DSH Web 輸入框上方的冰箱貼

前言

用 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 在跑時,消息會排隊等它結束,不會打斷。

再新增自己的貼紙:

  1. 點貼紙欄最右側的「+」按鈕;
  2. 填寫圖標(emoji)、名稱、分組(長期 / 短期)、任務 prompt(點擊後發給 AI 的任務描述);
  3. 點「保存」,新貼紙立刻出現在對應分組。

編輯和刪除:鼠標移到貼紙上,出現 ✏️ 編輯和 🗑 刪除按鈕,刪除有確認框防誤觸。

首次啓動自帶的 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 。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜