Bundle
dsh-daily-sticky
每日语音便签 DSH web 插件:轻量浮动便签(勾选完成可取消/可编辑/可添加/可删除)+ JSON 按日日志 + 周/月数量环比统计。保留 AI 语音抽取闭环,去掉番茄钟。
- Source
- DoggyHU
- stars
- 2 stars
- License
- MIT
- Updated
- Updated 10 days ago
Readme
# dsh-daily-sticky
每日语音便签 · DeepSeek Harness (dsh) Web 插件
一个轻量浮动便签,从既有 `daily-voice-plan`(语音 + 番茄钟)演化而来——保留语音闭环、去掉番茄钟,换成勾选完成的便签 + JSON 按日日志 + 周/月环比统计。

## 功能
- **轻量浮动便签**:浮在 DSH 界面右上,可拖拽、可关闭。只有两种状态:右下角缩略 x/x 计数,或完整编辑界面。
- **勾选 = 完成(可取消)**:勾选划掉但保留在便签上;再点取消。
- **任务行**:可双击编辑文本、点备注编辑、可删除、可新增;支持多行粘贴批量添加。
- **未完成顺延**:昨天的任务会自动滚到今天,下面用灰色小字标 `昨天` / `前天` / `3天前`(超过 3 天一折算 `3天前`),完成的不顺延。
- **AI 智能输入(双模式)**:手动输入,或贴一段杂乱口语/语音转文字 → 由 **DSH 当前正用的模型**(`agentDefaultModel`,同对话框通道)抽成便签任务,逐条勾选/改字后落盘;可自选模型(默认「跟随当前」)。
- **对话即写**:在对话里说「把这个加进便签 / 记一下 XXX」→ AI 直接写入当日 plan JSON(`sticky_*` 工具),便签轮询实时出现。
- **统计**:本周/本月 录入数、完成数、完成率 + 周环比 / 月环比(纯本地 JSON 计算,不调 LLM)。
- **JSON 落盘**:`plan/YYYY-MM-DD.json`(当日便签快照)+ `logs/YYYY-MM-DD.json`(事件日志),按日分文件,持久化,重启/关机不丢。
## 截图
| AI 智能输入(DSH 当前模型抽取) | 今日便签任务列表 |
|---|---|
|  |  |
| 周/月环统计 | 右下角便签入口 |
|---|---|
|  |  |
## 数据位置
默认数据目录:`~/.dsh/dsh-daily-sticky/`
```
~/.dsh/dsh-daily-sticky/
├── plan/YYYY-MM-DD.json 当日便签快照(tasks 数组)
└── logs/YYYY-MM-DD.json 当日事件日志(events 数组,统计用)
```
### plan JSON
```jsonc
{ "date": "2026-08-19",
"tasks": [{ "task_id": 1, "text": "论文:黎老师文章", "date": "2026-08-19",
"done": false, "note": "...", "created_at": "...", "done_at": null,
"origin_date": "2026-08-19" }],
"saved_at": "..." }
```
### logs JSON
```jsonc
{ "date": "2026-08-19",
"events": [{ "action": "added|done|undone|edited|deleted|note",
"task_id": 1, "text": "...", "ts": "..." }],
"created_at": "...", "updated_at": "..." }
```
## 安装(dsh web 插件)
打 tarball 后装进 web profile:
```sh
pnpm pack --pack-destination /path/to/tarballs # 生成 dsh-daily-sticky-<version>.tgz
dsh plugin --profile web add /path/to/tarballs/dsh-daily-sticky-<version>.tgz
# 或从 git 源安装(需先 build)
dsh plugin --profile web add github:DoggyHU/dsh-daily-sticky
```
装好重启 `dsh web`,刷新页面后右上角即出现便签。
> 插件依赖的 `@deepseek-ai/*` / `cordis` 由 dsh 官方运行时经 profile pnpm 闭包注入,不要在 `package.json` 声明它们(官方未发布到公共 npm)。
## 开发 / 构建
```sh
git clone https://github.com/DoggyHU/dsh-daily-sticky
cd dsh-daily-sticky
pnpm install # devDependencies 用 link: 指到本地 harness
pnpm run build # esbuild 打包 host + client,tsc 生成 .d.ts
pnpm run typecheck
```
## 技术结构
- **host 半** `src/index.ts`:cordis 插件,注册 `sticky` Typert Remote(`src/runtime.ts`)、`sticky_*` 工具(`src/tools.ts`);数据层 `src/datastore.ts`、会话查漏 `src/scan.ts`、AI 抽取 `src/llm.ts`、统计 `src/stats.ts`、契约 `src/contract.ts`。
- **client 半** `src/client/index.tsx`:body portal 渲染 `StickyPanel.tsx`(浮动便签、查漏、统计、AI 输入)。
- 契约与 wire 严格 codec:`src/contract.ts`(`STICKY_INVOCATIONS`,host/client 同源)。
## License
[MIT](LICENSE)
Install
dsh plugin --profile web add github:DoggyHU/dsh-daily-sticky
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-daily-sticky from the hub
- This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.