@optima-chat/optima-agent 0.8.16 → 0.8.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -126,7 +126,8 @@
126
126
  "Bash(gh release:*)",
127
127
  "Bash(npm info:*)",
128
128
  "Bash(gh run:*)",
129
- "Bash(gtimeout 90:*)"
129
+ "Bash(gtimeout 90:*)",
130
+ "Bash(sentinel:*)"
130
131
  ],
131
132
  "deny": [],
132
133
  "ask": []
@@ -0,0 +1,281 @@
1
+ ---
2
+ name: sentinel
3
+ description: "自动化监控规则管理。创建/暂停/查看定时规则、查看执行日志、处理审批。使用场景:监控(monitor)、规则(rule)、定时任务(scheduled task)、自动化(automation)、sentinel、alert、审批(approval)、巡检。"
4
+ ---
5
+
6
+ # Optima Sentinel - 自动化监控规则管理
7
+
8
+ 自动化监控系统,用于创建定时规则、查看执行日志、处理审批。
9
+
10
+ ## 典型场景
11
+
12
+ 当用户说:
13
+ - "创建一个监控规则" → `sentinel rule create --name "规则名" --message "指令" --every 6h`
14
+ - "每天早上9点检查库存" → `sentinel rule create --name "库存巡检" --message "检查所有商品库存,低于10件的提醒我" --cron "0 9 * * *"`
15
+ - "30分钟后提醒我" → `sentinel rule create --name "提醒" --message "提醒内容" --at "+30m" --delete-after-run`
16
+ - "查看我的规则" → `sentinel rule list`
17
+ - "暂停规则XX" → `sentinel rule pause XX`
18
+ - "恢复规则XX" → `sentinel rule resume XX`
19
+ - "手动跑一下规则XX" → `sentinel rule run XX`
20
+ - "查看规则XX的日志" → `sentinel rule logs XX`
21
+ - "查看待审批" → `sentinel alert list --status pending`
22
+ - "批准审批XX" → `sentinel alert approve XX`
23
+ - "查看监控统计" → `sentinel stats`
24
+ - "删除规则XX" → `sentinel rule delete XX`
25
+ - "确认所有告警" → `sentinel alert ack --all`
26
+
27
+ ### 场景决策表
28
+
29
+ | 用户需求 | 推荐命令 | 关键注意点 |
30
+ |---------|---------|-----------|
31
+ | 创建定时监控 | `sentinel rule create` | 选对调度方式:--at/--every/--cron |
32
+ | 一次性提醒 | `sentinel rule create --at "+30m" --delete-after-run` | 相对时间必须加 `+` 前缀 |
33
+ | 间隔巡检 | `sentinel rule create --every 6h` | 最短 1m,最长 1w |
34
+ | Cron 调度 | `sentinel rule create --cron "0 9 * * *"` | 配合 --tz 设置时区 |
35
+ | 查看所有规则 | `sentinel rule list` | 可用 --status/--search 过滤 |
36
+ | 查看规则详情 | `sentinel rule detail <id>` | 包含调度配置和最近执行 |
37
+ | 修改规则 | `sentinel rule update <id>` | 支持修改所有创建时的选项 |
38
+ | 暂停/恢复 | `sentinel rule pause/resume <id>` | 暂停后不再触发 |
39
+ | 手动执行 | `sentinel rule run <id>` | 立即触发一次 |
40
+ | 查看执行日志 | `sentinel rule logs <id>` | --limit 控制条数 |
41
+ | 删除规则 | `sentinel rule delete <id>` | -y 跳过确认,不可撤销 |
42
+ | 查看待审批 | `sentinel alert list --status pending` | 状态:pending/approved/rejected/expired |
43
+ | 处理审批 | `sentinel alert approve/reject <id>` | approve 可加 --comment,reject 可加 --reason |
44
+ | 确认告警 | `sentinel alert ack <id>` | --all 批量确认所有 |
45
+ | 统计面板 | `sentinel stats` | 总览规则和执行情况 |
46
+
47
+ ## 调度格式说明
48
+
49
+ ### --at(一次性调度)
50
+ 指定一个时间点或相对时间,执行一次后停止。相对时间**必须加 `+` 前缀**。
51
+
52
+ ```bash
53
+ --at "+30m" # 30分钟后
54
+ --at "+2h" # 2小时后
55
+ --at "2026-03-04T15:00:00Z" # 指定时间点(ISO 格式)
56
+ ```
57
+
58
+ ### --every(间隔调度)
59
+ 按固定间隔重复执行。最短 1 分钟,最长 7 天。
60
+
61
+ ```bash
62
+ --every 1m # 每1分钟(最短间隔)
63
+ --every 5m # 每5分钟
64
+ --every 6h # 每6小时
65
+ --every 1d # 每天
66
+ --every 1w # 每周(最长间隔)
67
+ ```
68
+
69
+ 支持的单位:`ms`、`s`、`m`、`h`、`d`、`w`
70
+
71
+ ### --cron(Cron 表达式)
72
+ 标准 cron 表达式,适合复杂调度。可配合 `--tz` 指定时区(默认 UTC)。
73
+
74
+ ```bash
75
+ --cron "0 9 * * *" # 每天早上9点
76
+ --cron "0 9 * * 1" # 每周一早上9点
77
+ --cron "0 */6 * * *" # 每6小时
78
+ --cron "0 9,18 * * *" # 每天9点和18点
79
+ --tz "Asia/Shanghai" # 配合时区使用
80
+ ```
81
+
82
+ ## 典型流程
83
+
84
+ ### 创建监控规则
85
+ 1. **明确需求** - 用户想监控什么、多久执行一次
86
+ 2. **选择调度** - 一次性用 --at,间隔用 --every,复杂用 --cron
87
+ 3. **创建规则** - `sentinel rule create` 设置名称、指令和调度
88
+ 4. **确认创建** - 查看返回的规则 ID 和状态
89
+
90
+ ### 查看执行日志
91
+ 1. **列出规则** - `sentinel rule list` 找到目标规则
92
+ 2. **查看日志** - `sentinel rule logs <id>` 查看执行历史
93
+ 3. **查看详情** - `sentinel rule detail <id>` 查看规则配置
94
+
95
+ ### 处理审批
96
+ 1. **查看待审批** - `sentinel alert list --status pending` 查看需要处理的审批
97
+ 2. **了解内容** - 阅读审批详情,理解执行结果
98
+ 3. **处理审批** - `sentinel alert approve <id>` 或 `sentinel alert reject <id>`
99
+
100
+ ## 通知配置
101
+
102
+ 创建规则时可设置通知方式:
103
+
104
+ ```bash
105
+ --email user@example.com bob@example.com # 邮件通知(支持多个,最多10个)
106
+ --webhook https://hooks.example.com/xxx # Webhook 通知
107
+ --no-announce # 禁用 Chat 通知(默认开启)
108
+ ```
109
+
110
+ ## 其他选项
111
+
112
+ ```bash
113
+ --auto-approve # 自动批准,跳过人工审批
114
+ --timeout 600 # 超时时间(秒,默认600,范围60-3600)
115
+ --delete-after-run # 执行后自动删除(一次性任务)
116
+ --tz "Asia/Shanghai" # 时区(默认 UTC,用于 cron 调度)
117
+ --failure-alert-after 3 # 连续失败 N 次后告警(默认3,范围1-100)
118
+ ```
119
+
120
+ ## 常见问题
121
+
122
+ ### 调度选择错误
123
+
124
+ ❌ **错误做法 - 一次性任务用 --every**:
125
+ ```bash
126
+ # 只想提醒一次,却设成了重复
127
+ sentinel rule create --name "提醒" --message "开会" --every 30m
128
+ ```
129
+
130
+ ✅ **正确做法 - 一次性任务用 --at + --delete-after-run**:
131
+ ```bash
132
+ sentinel rule create --name "开会提醒" --message "该开会了" --at "+30m" --delete-after-run
133
+ ```
134
+
135
+ ### --at 相对时间忘记加 + 前缀
136
+
137
+ ❌ **错误做法 - 缺少 + 前缀导致解析失败**:
138
+ ```bash
139
+ sentinel rule create --name "提醒" --message "内容" --at "30m"
140
+ ```
141
+
142
+ ✅ **正确做法 - 相对时间必须加 + 前缀**:
143
+ ```bash
144
+ sentinel rule create --name "提醒" --message "内容" --at "+30m"
145
+ ```
146
+
147
+ ### 忘记设置通知
148
+
149
+ ❌ **错误做法 - 规则执行了但没人知道**:
150
+ ```bash
151
+ sentinel rule create --name "库存检查" --message "检查库存" --every 1d
152
+ ```
153
+
154
+ ✅ **正确做法 - 设置通知方式**:
155
+ ```bash
156
+ sentinel rule create --name "库存检查" --message "检查库存,低于10件的列出来" --every 1d --email me@example.com
157
+ ```
158
+
159
+ ### 规则太多难管理
160
+
161
+ ❌ **错误做法 - 不加搜索直接看全部**:
162
+ ```bash
163
+ sentinel rule list
164
+ ```
165
+
166
+ ✅ **正确做法 - 用过滤条件缩小范围**:
167
+ ```bash
168
+ sentinel rule list --status active --search "库存"
169
+ sentinel rule list --limit 5
170
+ ```
171
+
172
+ ## 命令参考
173
+
174
+ ### 规则管理
175
+ - `sentinel rule create` - 创建规则(--name, --message, --at/--every/--cron, --tz, --email, --webhook, --no-announce, --auto-approve, --timeout, --failure-alert-after, --delete-after-run)
176
+ - `sentinel rule list` - 规则列表(--status active/paused/disabled, --search, --limit)
177
+ - `sentinel rule detail <id>` - 规则详情
178
+ - `sentinel rule update <id>` - 修改规则(支持所有 create 选项:--name, --message, --at/--every/--cron, --tz, --email, --webhook, --no-announce, --auto-approve, --timeout, --failure-alert-after, --delete-after-run)
179
+ - `sentinel rule pause <id>` - 暂停规则
180
+ - `sentinel rule resume <id>` - 恢复规则
181
+ - `sentinel rule run <id>` - 手动触发
182
+ - `sentinel rule logs <id>` - 执行日志(--limit,默认10)
183
+ - `sentinel rule delete <id>` - 删除规则(-y 跳过确认)
184
+
185
+ ### 审批管理
186
+ - `sentinel alert list` - 审批列表(--status pending/approved/rejected/expired, --rule, --limit)
187
+ - `sentinel alert approve <id>` - 批准审批(--comment)
188
+ - `sentinel alert reject <id>` - 拒绝审批(--reason)
189
+ - `sentinel alert ack <id>` - 确认告警(--all 批量确认)
190
+
191
+ ### 统计
192
+ - `sentinel stats` - 统计面板(--pretty 表格输出)
193
+
194
+ ## 详细示例
195
+
196
+ ### 创建间隔巡检规则
197
+ ```bash
198
+ # 用户说:"每6小时检查一下订单状态"
199
+ sentinel rule create \
200
+ --name "订单状态巡检" \
201
+ --message "检查所有待处理订单,超过24小时未发货的列出来" \
202
+ --every 6h \
203
+ --email merchant@example.com
204
+ ```
205
+
206
+ ### 创建 Cron 规则(指定时区)
207
+ ```bash
208
+ # 用户说:"每天早上9点检查库存"(中国时间)
209
+ sentinel rule create \
210
+ --name "每日库存检查" \
211
+ --message "检查所有商品库存,低于10件的提醒我补货" \
212
+ --cron "0 9 * * *" \
213
+ --tz "Asia/Shanghai" \
214
+ --email merchant@example.com
215
+ ```
216
+
217
+ ### 创建一次性提醒
218
+ ```bash
219
+ # 用户说:"2小时后提醒我发货"
220
+ sentinel rule create \
221
+ --name "发货提醒" \
222
+ --message "提醒:有待发货订单需要处理" \
223
+ --at "+2h" \
224
+ --delete-after-run
225
+ ```
226
+
227
+ ### 查看规则列表
228
+ ```bash
229
+ # 用户说:"查看我的活跃规则"
230
+ sentinel rule list --status active
231
+ ```
232
+
233
+ ### 查看执行日志
234
+ ```bash
235
+ # 用户说:"看看库存检查规则跑得怎么样"
236
+ sentinel rule logs rule_123
237
+ ```
238
+
239
+ ### 手动触发规则
240
+ ```bash
241
+ # 用户说:"现在就跑一下这个规则"
242
+ sentinel rule run rule_123
243
+ ```
244
+
245
+ ### 处理审批
246
+ ```bash
247
+ # 用户说:"查看待审批"
248
+ sentinel alert list --status pending
249
+
250
+ # 用户说:"批准这个审批"
251
+ sentinel alert approve alert_456 --comment "同意执行"
252
+
253
+ # 用户说:"拒绝这个审批"
254
+ sentinel alert reject alert_789 --reason "价格调整幅度太大"
255
+ ```
256
+
257
+ ### 确认告警
258
+ ```bash
259
+ # 确认单个告警
260
+ sentinel alert ack alert_123
261
+
262
+ # 确认所有告警
263
+ sentinel alert ack --all
264
+ ```
265
+
266
+ ### 查看统计
267
+ ```bash
268
+ # 用户说:"看看监控整体情况"
269
+ sentinel stats
270
+ ```
271
+
272
+ ## 重要提示
273
+
274
+ - 规则状态:active(活跃) / paused(暂停) / disabled(禁用)
275
+ - 审批状态:pending(待审批) / approved(已批准) / rejected(已拒绝) / expired(已过期)
276
+ - 删除操作不可撤销(软删除),谨慎使用
277
+ - 一次性任务建议配合 --delete-after-run 自动清理
278
+ - 相对时间必须加 `+` 前缀(如 `+30m`,不是 `30m`)
279
+ - 复杂调度优先使用 --cron + --tz,简单间隔用 --every
280
+ - 重要规则建议设置 --email 通知
281
+ - 使用 `--help` 查看命令详细参数
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../src/system-prompt.ts"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,IAAI,MAAM,CAsIxC"}
1
+ {"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../src/system-prompt.ts"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,IAAI,MAAM,CAuIxC"}
@@ -42,6 +42,7 @@ export function getSystemPrompt() {
42
42
  - **scout** - Amazon 选品调研
43
43
  - **bi** - 数据分析和报表
44
44
  - **review** - 评价管理(审核、回复、精选)
45
+ - **sentinel** - 自动化监控规则管理(创建/暂停/查看规则、审批管理)
45
46
 
46
47
  **使用方式**:当用户提出具体需求时,使用 Skill 工具加载对应模块获取详细用法。
47
48
 
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../src/system-prompt.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,eAAe;IAC7B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,OAAO,GAAG,GAAG,CAAC,kBAAkB,CAAC,OAAO,EAAE;QAC9C,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,MAAM;QACb,GAAG,EAAE,SAAS;QACd,OAAO,EAAE,MAAM;KAChB,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,GAAG,CAAC,kBAAkB,CAAC,OAAO,EAAE;QAC9C,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,SAAS;KAClB,CAAC,CAAC;IAEH,OAAO;;;;;;;;;aASI,OAAO,IAAI,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+G9B,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../src/system-prompt.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,eAAe;IAC7B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,OAAO,GAAG,GAAG,CAAC,kBAAkB,CAAC,OAAO,EAAE;QAC9C,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,MAAM;QACb,GAAG,EAAE,SAAS;QACd,OAAO,EAAE,MAAM;KAChB,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,GAAG,CAAC,kBAAkB,CAAC,OAAO,EAAE;QAC9C,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,SAAS;KAClB,CAAC,CAAC;IAEH,OAAO;;;;;;;;;aASI,OAAO,IAAI,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgH9B,CAAC;AACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@optima-chat/optima-agent",
3
- "version": "0.8.16",
3
+ "version": "0.8.17",
4
4
  "description": "基于 Claude Agent SDK 的电商运营 AI 助手",
5
5
  "type": "module",
6
6
  "main": "dist/src/index.js",