Skip to content
dsh.fish
Bundle

dsh-daily-digest

DSH 每日工作摘要:自动记账(任务/会话/错误),按需生成日报/周报 Markdown

Source
zhaoxuejie
stars
1 stars
License
MIT
Updated
Updated 15 days ago

Readme

# dsh-daily-digest · DSH 每日工作摘要

自动把「今天和 AI 干了什么」沉淀成日报/周报的 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) 插件。

- 自动记账:**任务**(完成/失败)、**会话**(标题、轮数、用过的工具、结束状态)、**请求错误**
- 按天落盘(profile 的 data 目录,如 `~/.dsh/profiles/web/data/daily-digest/digest.json`),重启不丢
- Web 悬浮卡片:实时统计 + 近 7 天趋势条 + 一键复制日报/周报
- 全部接口返回 JSON / Markdown,无界面依赖

## 界面预览

![悬浮摘要卡](https://cdn.jsdelivr.net/npm/dsh-daily-digest/assets/img1.png)

![悬浮卡关闭状态(迷你按钮)](https://cdn.jsdelivr.net/npm/dsh-daily-digest/assets/img2.png)

![生成的日报](https://cdn.jsdelivr.net/npm/dsh-daily-digest/assets/img3.png)

## 安装

需要 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness)(Node.js 18+),任选一种方式:

```bash
# 方式一:npm 安装(推荐,最新发布版)
dsh plugin --profile web add dsh-daily-digest

# 方式二:从 GitHub 安装(最新 main 分支)
dsh plugin --profile web add github:zhaoxuejie/dsh-daily-digest#main

# 方式三:本地开发安装
# dsh plugin --profile web add file:./dsh-daily-digest

dsh web
```

重启后网页右下角出现「📋 今日摘要」卡片。

> **更新插件**:有新版时重新执行一次 `add`(或先 `remove` 再 `add`),然后重启 web。

## 接口

| 接口 | 说明 |
|---|---|
| `GET /daily-digest/today` | 今日汇总 JSON(含会话明细 `sessions.list`) |
| `GET /daily-digest/report?date=YYYY-MM-DD` | 指定日期 Markdown 日报(缺省今天) |
| `GET /daily-digest/weekly?from=&to=` | 周报 Markdown(缺省最近 7 天含今天) |
| `GET /daily-digest/week` | 近 7 天趋势 JSON(卡片柱状图数据源) |
| `GET /daily-digest/range?from=&to=` | 区间聚合 JSON |

## 配置(`~/.dsh/settings.yaml`,热更新)

```yaml
dsh-daily-digest:
  enabled: true
  keepDays: 30        # 数据保留天数(1~365)
  recordTools: true   # 隐私开关:是否记录工具名
  recordLabels: true  # 隐私开关:是否记录任务名(计数仍保留)
```

## 数据语义

- **任务**:DSH 后台任务系统(jobs)里的 job 结束(成功/失败)时记一笔;普通对话回合不算任务。
- **会话**:新开会话计 `startup`,打开旧会话续接计 `resume`(次数,非会话数);会话明细按 `session.id` 追踪,重启后续接不会重复记账。
- **标题**:优先 `session/title` 事件,兜底 `sessionTitle` 服务。

## 文件结构

```
dsh-daily-digest/
├── package.json        # bundle 声明(Node + client 双 half)
├── cordis.patch.yml
├── assets/             # README 界面预览截图
│   ├── img1.png
│   ├── img2.png
│   └── img3.png
└── lib/
    ├── index.mjs       # Node half:记账 + 落盘 + 接口
    └── client.js       # Web half:悬浮摘要卡(__ModuleLoader__ 挂载)
```

## 开发提示

- 改 Node half → 重启 web;改 client half → 刷新浏览器。
- 如果安装形态是拷贝(`nodeLinker: hoisted`),改代码后需 `remove` + `add` 重新安装再重启。

## License

MIT

Install

dsh plugin --profile web add github:zhaoxuejie/dsh-daily-digest

Profile: web

  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source