Bundle
@anco-dsh/dsh-task-notifier
DSH 任务完成通知器:Agent 每轮完成、子代理结束、Workflow 跑完、目标完成、Agent 提问时发送系统通知(macOS osascript)。
- Source
- AnCoSONG
- Updated
- Updated 7 days ago
Readme
# dsh-task-notifier
DSH 任务完成通知器:任务结束时发送**系统通知**(当前实现为 macOS `osascript` 横幅),触发链来自浏览器/会话事件;通知通道按平台分发(macOS osascript / Linux notify-send / Windows toast),不依赖浏览器权限。
## 功能
| 场景 | 事件 | 默认 |
|---|---|---|
| 每轮对话完成(仅根 agent) | `agent/status` | 开 |
| 子代理结束 | `subagent/end` | 开 |
| Workflow 跑完 | `workflow/end` | 开 |
| 目标(goal)完成 | `goal/changed` (complete) | 开 |
| Agent 提问 | `tools/execute` (ask_user_question) | 开 |
通知通道:Host 端通过 `ctx.shell` 执行平台系统通知命令(macOS `osascript` / Linux `notify-send` / Windows PowerShell toast),无需 Client 端、无需审批。
## 安装
在 DSH profile(Web GUI 默认 profile 为 `web`)中安装:
```sh
dsh plugin --profile web add @anco-dsh/dsh-task-notifier
```
或从本仓库直接安装(本地开发):
```sh
dsh plugin --profile web add .
```
> 提示:如果你使用非 `web` 的 profile,把上面的 `web` 换成你的 profile 名即可(`dsh --profile <name>` 或 GUI 设置里的当前 profile)。
## 配置
所有场景默认开启,可通过 profile 的 `cordis.patch.yml` 按 id 覆盖整行 config:
```yaml
- id: task-notifier
config:
notifyOnTurnEnd: true
notifyOnSubagentEnd: false
notifyOnWorkflowEnd: true
notifyOnGoalComplete: false
notifyOnQuestion: true
```
## 发布
```sh
# 1. 构建产物
pnpm pack
# 2. 发布到 npm(需要 npm 账号)
npm publish
# 或交付 tarball
dsh plugin --profile web add ./anco-dsh-dsh-task-notifier-0.1.4.tgz
```
## 依赖
- 运行时:零依赖(Config 为手写 Standard Schema)
- 环境:跨平台(macOS `osascript` / Linux `notify-send` / Windows PowerShell toast)
Install
dsh plugin --profile web add github:AnCoSONG/dsh-task-notifier
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 anco-dsh-dsh-task-notifier from the hub
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.