Bundle
dsh-polling
Recurring/scheduled tasks (轮询任务/定时任务) plugin for DeepSeek Harness: cron-driven polling jobs as real sessions, natural-language creation, model tools (polling_create/list/edit/delete/trigger) and a web UI. Install-and-go via `dsh plugin add`.
- Source
- cnyac
- stars
- 2 stars
- License
- MIT
- Updated
- Updated yesterday
Readme
# dsh-polling
**给你的 DeepSeek Harness 装一个"到点自己干活"的定时助手。** 对它说一句"每天上午 9 点检查稿件文件夹",剩下的交给模型按时完成。
[](https://github.com/deepseek-ai/deepseek-harness)
## 它能干什么
- **定时检查**:盯文件夹、盯网页,有新东西就处理、汇报
- **定时产出**:抓数据、写日报/周报、整理归档
- **定时跑腿**:发消息、跑脚本……一切你愿意交代给模型的重复活儿
- **按模式执行**:新建任务时可选标准、PTC、极简、创造或你的自定义模式
任务执行很安静:在它自己的会话里进行,不会打断你正在聊的天;过程和结果就是那段对话记录,随时打开看看,还能插句话指挥它。
## 界面预览
在设置里集中查看任务、搜索、立即执行或进入编辑页:

编辑页把时间、模式、模型和任务内容放在一处;模式列表会自动包含 Harness 中新增的自定义模式:

打开任意轮询会话,顶部的「轮询任务」入口可以快速查看状态、立即执行或编辑:

## 安装
需要先装好 `dsh` CLI 并运行过 `dsh web`。然后一条命令:
```bash
dsh plugin --profile web add github:cnyac/dsh-polling
```
重启 `dsh web`,侧边栏就会出现「轮询」工作区。
> GitHub 方式第一次会提示你“允许构建”,按提示确认一次即可。也可以从 [Releases](https://github.com/cnyac/dsh-polling/releases) 下载 tarball 后本地安装。
## 开始用
最简单的开始——直接对它说:
> 帮我建个轮询任务:每个工作日早上 9 点检查 `D:\稿件\待处理`,有新稿件就按常规流程润色归档。
它会在「轮询」工作区建一个任务会话,到点自动开跑。想改时间、暂停、删除?两个入口都行:
- **侧边栏「轮询」工作区** → 点进任务会话 → 会话顶部 **轮询任务**:快捷查看状态、立即执行和编辑
- **设置 → 插件 →「轮询任务」标签**:简洁的任务列表和独立编辑页,支持搜索、新建、编辑、立即执行、启停和删除
## 一个任务由什么组成
| 要素 | 说明 |
|---|---|
| **执行时间** | 哪几天(每天 / 工作日 / 周末 / 自定义)+ 多频繁(每 N 分钟 / 每小时)+ 几点到几点;选的时候有"下次执行"实时预览 |
| **模式** | 决定任务能使用哪些工具;从 Harness 当前可用模式中选择,编辑时也可以切换 |
| **模型** | 用哪个模型跑这个任务;不选就用你的默认配置 |
| **目标描述** | 给任务一个大背景(可选,比如"这是给客户看的日报") |
| **任务步骤** | 到点后要它做什么,用大白话写清楚 |
| **启用** | 关掉就不触发,随时可以再开 |
旧任务会继续沿用创建时的模式。编辑任务并切换模式时,插件会为后续执行新建一个会话;旧会话及其历史完整保留。当前仍加载的旧会话会标记为「模式切换前历史」。任务正在执行时不能切换,等它完成后再保存即可。
## 你会注意到的几个贴心行为
- 上一个任务还在跑、又到点了 → 这次**跳过**,不会堆一堆指令排队执行
- 电脑关机错过时间 → 下次启动**补跑最近一次**
- 任务会话被你归档了 → 下次触发自动开个**新会话**继续,旧会话留在归档里当历史
- 任务名会固定成会话标题,不会被模型自动改名
## 费用与安全
- **每次触发 = 一次模型调用**,任务越频繁花得越多——按需设置频率就好
- 任务由模型**自主执行**,权限和手动对话一致——只给它写它该做的事
- 任务数据全在你本机(`$DSH_HOME` 下),插件不向任何外部服务上报
## 常见问题
**装完没看到「轮询」工作区?**
重启 `dsh web` 试试;新建第一个任务时工作区也会自动创建。
**任务没按点跑?**
先看三处:任务是否处于"启用"、时间段是否覆盖当前时刻、编辑面板里"下次执行"显示什么。还有问题就来 [Issues](https://github.com/cnyac/dsh-polling/issues) 找我。
**删了任务,历史会没吗?**
不会。任务会话和对话记录都会保留,只是不再触发。
**想折腾配置?**
进阶配置(自定义数据目录、强制置顶)见下方折叠内容。
<details>
<summary>进阶:自定义配置</summary>
在 profile 的 `cordis.patch.yml` 里覆盖插件行即可(一般用不上):
```yaml
- id: polling
name: dsh-polling
config:
dir: 'D:\MyPolling' # 轮询数据目录(默认 <dshHome>/polling)
keepPinned: true # 启动及新建任务后,把「轮询」工作区放回侧边栏顶部(默认 true)
```
</details>
## 开发
```bash
npm install --legacy-peer-deps # 只需构建工具;运行时代码由 dsh 宿主提供
npm run typecheck
npm test # cron 解析与调度模型单测
npm run build
npm pack # 产出可分发的 tarball
```
任务的模式列表直接读取当前 Harness 的 Agent 预设,因此系统内置模式和用户新增的自定义模式都可以选择。刚新增模式后,再打开新建或编辑面板即可刷新列表。
设计文档见 [DESIGN.md](DESIGN.md),版本变化见 [CHANGELOG.md](CHANGELOG.md)。有问题或想法,欢迎在 [Issues](https://github.com/cnyac/dsh-polling/issues) 或[官方社区帖子](https://github.com/deepseek-ai/deepseek-harness/discussions/1006)里聊。
## 许可证
[MIT](LICENSE)
Install
dsh plugin --profile web add github:cnyac/dsh-polling
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-polling 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.