Files

110 lines
2.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# pi-ntfy
Pi coding agent 的 NTFY 专用通知插件,适合并行开发时区分项目、Session 和任务。
## 特性
- 仅支持 NTFY,移除 Bark、飞书、企业微信、钉钉和通用 Webhook
- 插件名称:`pi-ntfy`
- 标题包含项目、状态和 Session 名称
- 正文包含项目、Session、任务、摘要、状态、原因
- 耗时、模型、主机、时间各自独占一行
- NTFY 使用状态标签和项目/Session/任务元数据 headers
- 支持环境变量保存 NTFY token
## 安装
```bash
pi install npm:pi-ntfy
```
卸载:
```bash
pi remove npm:pi-ntfy
```
## 配置
插件固定从以下路径读取配置,不再通过环境变量选择配置文件:
```text
~/.pi/agent/pi-ntfy.json
```
如果文件不存在,插件保持静默;可直接创建该文件,或使用 `/ntfy set`、`/ntfy enable` 等命令生成和修改配置。
示例配置:
```json
{
"enabled": true,
"modes": ["tui"],
"titleTemplate": "[{{project}}] {{status}} · {{session}}",
"template": "项目: {{project}}\\n会话: {{session}}\\n任务: {{task}}\\n状态: {{status}}\\n原因: {{reason}}\\n摘要: {{summary}}\\n耗时: {{duration}}\\n模型: {{model}}\\n主机: {{host}}\\n时间: {{date}} {{time}}\\n工具: {{tools}}",
"channels": [
{
"type": "ntfy",
"name": "Agent",
"enabled": true,
"topic": "Agent",
"server": "https://n.ipao.vip",
"token": "$NTFY_TOKEN"
}
]
}
```
`token` 可以使用 `$NTFY_TOKEN` 或 `${NTFY_TOKEN}` 引用环境变量;配置文件路径本身不受环境变量影响。
配置字段:
```json
{
"titleTemplate": "[{{project}}] {{status}} · {{session}}",
"template": "项目: {{project}}\\n会话: {{session}}\\n任务: {{task}}\\n状态: {{status}}\\n原因: {{reason}}\\n摘要: {{summary}}\\n耗时: {{duration}}\\n模型: {{model}}\\n主机: {{host}}\\n时间: {{date}} {{time}}\\n工具: {{tools}}"
}
```
支持的占位符:
```text
{{status}} {{reason}} {{text}} {{title}} {{event}}
{{cwd}} {{project}} {{duration}} {{session}} {{sessionId}}
{{model}} {{mode}} {{thinking}} {{task}} {{summary}} {{tools}}
{{host}} {{time}} {{date}}
```
## 命令
```text
/ntfy
/ntfy list
/ntfy get
/ntfy set topic=xxx enabled=true
/ntfy enable
/ntfy disable
/ntfy test
/ntfy events idle=on interrupted=on needInput=on exit=off
/ntfy on
/ntfy off
```
## 发布
版本发布由 Gitea Actions 完成。推送 `v*` 标签或手动运行 `Publish pi-ntfy to npm` workflow 即可发布到 npm。
workflow 使用账户级 Secret:
```text
NPM_PACKAGE_TOKEN
```
例如:
```bash
npm version patch
git push
git push --tags
```