@optima-chat/optima-agent 0.8.15 → 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.
- package/.claude/settings.local.json +135 -0
- package/.claude/skills/sentinel/SKILL.md +281 -0
- package/dist/bin/bi-cli.js +0 -0
- package/dist/bin/comfy.js +0 -0
- package/dist/bin/commerce.js +0 -0
- package/dist/bin/google-ads.js +0 -0
- package/dist/bin/optima.js +0 -0
- package/dist/bin/scout.js +0 -0
- package/dist/src/agent.d.ts.map +1 -1
- package/dist/src/agent.js +18 -2
- package/dist/src/agent.js.map +1 -1
- package/dist/src/hooks-loader.d.ts +6 -0
- package/dist/src/hooks-loader.d.ts.map +1 -0
- package/dist/src/hooks-loader.js +215 -0
- package/dist/src/hooks-loader.js.map +1 -0
- package/dist/src/system-prompt.d.ts.map +1 -1
- package/dist/src/system-prompt.js +1 -0
- package/dist/src/system-prompt.js.map +1 -1
- package/dist/src/types.d.ts +2 -0
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/ui/App.d.ts +6 -0
- package/dist/src/ui/App.d.ts.map +1 -0
- package/dist/src/ui/App.js +164 -0
- package/dist/src/ui/App.js.map +1 -0
- package/dist/src/ui/components/Composer.d.ts +10 -0
- package/dist/src/ui/components/Composer.d.ts.map +1 -0
- package/dist/src/ui/components/Composer.js +13 -0
- package/dist/src/ui/components/Composer.js.map +1 -0
- package/dist/src/ui/components/Header.d.ts +7 -0
- package/dist/src/ui/components/Header.d.ts.map +1 -0
- package/dist/src/ui/components/Header.js +7 -0
- package/dist/src/ui/components/Header.js.map +1 -0
- package/dist/src/ui/components/Message.d.ts +12 -0
- package/dist/src/ui/components/Message.d.ts.map +1 -0
- package/dist/src/ui/components/Message.js +21 -0
- package/dist/src/ui/components/Message.js.map +1 -0
- package/dist/src/ui/components/MessageList.d.ts +9 -0
- package/dist/src/ui/components/MessageList.d.ts.map +1 -0
- package/dist/src/ui/components/MessageList.js +18 -0
- package/dist/src/ui/components/MessageList.js.map +1 -0
- package/dist/src/ui/components/Spinner.d.ts +6 -0
- package/dist/src/ui/components/Spinner.d.ts.map +1 -0
- package/dist/src/ui/components/Spinner.js +7 -0
- package/dist/src/ui/components/Spinner.js.map +1 -0
- package/dist/src/ui/components/StatusBar.d.ts +11 -0
- package/dist/src/ui/components/StatusBar.d.ts.map +1 -0
- package/dist/src/ui/components/StatusBar.js +7 -0
- package/dist/src/ui/components/StatusBar.js.map +1 -0
- package/dist/src/ui/components/index.d.ts +7 -0
- package/dist/src/ui/components/index.d.ts.map +1 -0
- package/dist/src/ui/components/index.js +7 -0
- package/dist/src/ui/components/index.js.map +1 -0
- package/dist/src/ui/headless-types.d.ts +1 -0
- package/dist/src/ui/headless-types.d.ts.map +1 -1
- package/dist/src/ui/headless.js +4 -4
- package/dist/src/ui/headless.js.map +1 -1
- package/dist/src/validation/error-formatter.d.ts +21 -0
- package/dist/src/validation/error-formatter.d.ts.map +1 -0
- package/dist/src/validation/error-formatter.js +98 -0
- package/dist/src/validation/error-formatter.js.map +1 -0
- package/dist/src/validation/index.d.ts +10 -0
- package/dist/src/validation/index.d.ts.map +1 -0
- package/dist/src/validation/index.js +10 -0
- package/dist/src/validation/index.js.map +1 -0
- package/dist/src/validation/json-validator.d.ts +25 -0
- package/dist/src/validation/json-validator.d.ts.map +1 -0
- package/dist/src/validation/json-validator.js +173 -0
- package/dist/src/validation/json-validator.js.map +1 -0
- package/dist/src/validation/schema.d.ts +353 -0
- package/dist/src/validation/schema.d.ts.map +1 -0
- package/dist/src/validation/schema.js +57 -0
- package/dist/src/validation/schema.js.map +1 -0
- package/dist/src/validation/suggestions.d.ts +25 -0
- package/dist/src/validation/suggestions.d.ts.map +1 -0
- package/dist/src/validation/suggestions.js +144 -0
- package/dist/src/validation/suggestions.js.map +1 -0
- package/dist/src/validation/types.d.ts +40 -0
- package/dist/src/validation/types.d.ts.map +1 -0
- package/dist/src/validation/types.js +5 -0
- package/dist/src/validation/types.js.map +1 -0
- package/dist/src/validation/yaml-validator.d.ts +25 -0
- package/dist/src/validation/yaml-validator.d.ts.map +1 -0
- package/dist/src/validation/yaml-validator.js +177 -0
- package/dist/src/validation/yaml-validator.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
{
|
|
2
|
+
"permissions": {
|
|
3
|
+
"allow": [
|
|
4
|
+
"Bash(gh api:*)",
|
|
5
|
+
"WebFetch(domain:platform.claude.com)",
|
|
6
|
+
"Bash(git init:*)",
|
|
7
|
+
"Bash(mkdir:*)",
|
|
8
|
+
"Bash(npm run typecheck:*)",
|
|
9
|
+
"Bash(npm view:*)",
|
|
10
|
+
"WebSearch",
|
|
11
|
+
"Bash(commerce --help)",
|
|
12
|
+
"Bash(done)",
|
|
13
|
+
"Bash(commerce product:*)",
|
|
14
|
+
"Bash(commerce order:*)",
|
|
15
|
+
"Bash(commerce i18n:*)",
|
|
16
|
+
"Bash(google-ads:*)",
|
|
17
|
+
"Bash(scout --help:*)",
|
|
18
|
+
"Bash(tree:*)",
|
|
19
|
+
"Bash(cloc:*)",
|
|
20
|
+
"Bash(npm run build:*)",
|
|
21
|
+
"Bash(git restore:*)",
|
|
22
|
+
"Bash(gh repo view:*)",
|
|
23
|
+
"Bash(mv:*)",
|
|
24
|
+
"Bash(rmdir:*)",
|
|
25
|
+
"Bash(git add:*)",
|
|
26
|
+
"Bash(git commit:*)",
|
|
27
|
+
"Bash(git push)",
|
|
28
|
+
"Bash(timeout 5 npm run optima:*)",
|
|
29
|
+
"Bash(npm install:*)",
|
|
30
|
+
"Bash(cat:*)",
|
|
31
|
+
"Bash(gh issue create:*)",
|
|
32
|
+
"Bash(npx tsx:*)",
|
|
33
|
+
"Bash(timeout 30 npx tsx:*)",
|
|
34
|
+
"Bash(git push origin feature/ask-user-question)",
|
|
35
|
+
"Bash(node:*)",
|
|
36
|
+
"Bash(npm version:*)",
|
|
37
|
+
"Bash(git push:*)",
|
|
38
|
+
"Bash(npm publish:*)",
|
|
39
|
+
"Bash(pkill:*)",
|
|
40
|
+
"Bash(git -C /Users/verypro/optima-agent log --oneline --all -- \".claude/\")",
|
|
41
|
+
"Bash(wc:*)",
|
|
42
|
+
"Bash(grep:*)",
|
|
43
|
+
"Bash(find:*)",
|
|
44
|
+
"Bash(commerce collection --help:*)",
|
|
45
|
+
"Bash(commerce collection update --help:*)",
|
|
46
|
+
"Bash(commerce collection set-cover:*)",
|
|
47
|
+
"Bash(commerce collection get --help:*)",
|
|
48
|
+
"Bash(commerce collection list --help:*)",
|
|
49
|
+
"Bash(commerce collection create --help:*)",
|
|
50
|
+
"Bash(commerce collection remove-products:*)",
|
|
51
|
+
"Bash(commerce collection list-products:*)",
|
|
52
|
+
"Bash(commerce --version:*)",
|
|
53
|
+
"Bash(bi-cli --version:*)",
|
|
54
|
+
"Bash(commerce homepage create --help:*)",
|
|
55
|
+
"Bash(commerce homepage reorder --help:*)",
|
|
56
|
+
"Bash(commerce homepage delete --help:*)",
|
|
57
|
+
"Bash(commerce homepage update-images:*)",
|
|
58
|
+
"Bash(commerce homepage update-collections:*)",
|
|
59
|
+
"Bash(commerce homepage update-target:*)",
|
|
60
|
+
"Bash(commerce homepage switch-template:*)",
|
|
61
|
+
"Bash(commerce inventory:*)",
|
|
62
|
+
"Bash(commerce merchant:*)",
|
|
63
|
+
"Bash(commerce review:*)",
|
|
64
|
+
"Bash(commerce product-page:*)",
|
|
65
|
+
"Bash(bi-cli:*)",
|
|
66
|
+
"Bash(comfy:*)",
|
|
67
|
+
"Bash(scout search:*)",
|
|
68
|
+
"Bash(scout product:*)",
|
|
69
|
+
"Bash(commerce homepage create-collections:*)",
|
|
70
|
+
"Bash(commerce homepage create-featured:*)",
|
|
71
|
+
"Bash(commerce homepage create-collection-products:*)",
|
|
72
|
+
"Bash(commerce homepage create-banner:*)",
|
|
73
|
+
"Bash(xargs -I {} sh -c 'echo \"\"\"\"=== {} ===\"\"\"\"; head -3 /Users/verypro/optima-agent/.claude/skills/{}/SKILL.md | grep \"\"\"\"name:\"\"\"\"')",
|
|
74
|
+
"Bash(ls:*)",
|
|
75
|
+
"Bash(gh issue view:*)",
|
|
76
|
+
"Bash(npx markdownlint-cli:*)",
|
|
77
|
+
"Bash(chmod:*)",
|
|
78
|
+
"Bash(npm whoami:*)",
|
|
79
|
+
"Bash(tsx test-scripts/test-headless-progress.ts:*)",
|
|
80
|
+
"Bash(DEBUG_STREAM=1 node dist/bin/optima.js:*)",
|
|
81
|
+
"Bash(git describe:*)",
|
|
82
|
+
"WebFetch(domain:github.com)",
|
|
83
|
+
"Bash(./scripts/test-headless.sh:*)",
|
|
84
|
+
"Bash(./scripts/test-headless-simple.sh:*)",
|
|
85
|
+
"Bash(env)",
|
|
86
|
+
"Bash(gh pr list:*)",
|
|
87
|
+
"Bash(gh pr view:*)",
|
|
88
|
+
"Bash(gh pr diff:*)",
|
|
89
|
+
"Bash(optima --version:*)",
|
|
90
|
+
"Bash(optima agent headless:*)",
|
|
91
|
+
"Bash(optima headless:*)",
|
|
92
|
+
"Bash(/Users/verypro/optima-agent/scripts/test-headless.sh:*)",
|
|
93
|
+
"Bash(/Users/verypro/optima-agent/scripts/test-headless-simple.sh:*)",
|
|
94
|
+
"Bash(tee:*)",
|
|
95
|
+
"Bash(CONV_ID=\"conv-1\":*)",
|
|
96
|
+
"Bash(echo:*)",
|
|
97
|
+
"Bash(scout tiktok trending --help:*)",
|
|
98
|
+
"Bash(scout tiktok trending:*)",
|
|
99
|
+
"Bash(git checkout:*)",
|
|
100
|
+
"Bash(npm test:*)",
|
|
101
|
+
"Bash(git tag:*)",
|
|
102
|
+
"Bash(/private/tmp/claude/-Users-verypro-optima-agent/68a9ac2c-def2-44e1-b42b-e53bd9022ab6/scratchpad/test-canUseTool.sh)",
|
|
103
|
+
"Bash(optima --help:*)",
|
|
104
|
+
"Bash(npx @optima-chat/ads-cli:*)",
|
|
105
|
+
"Bash(head:*)",
|
|
106
|
+
"Bash(git pull:*)",
|
|
107
|
+
"Bash(pnpm build:*)",
|
|
108
|
+
"Skill(read-code)",
|
|
109
|
+
"Bash(npm run cli:*)",
|
|
110
|
+
"Bash(scout:*)",
|
|
111
|
+
"WebFetch(domain:docs.scrapecreators.com)",
|
|
112
|
+
"WebFetch(domain:scrapecreators.com)",
|
|
113
|
+
"Bash(gh auth status:*)",
|
|
114
|
+
"Bash(optima-agent:*)",
|
|
115
|
+
"Bash(python3:*)",
|
|
116
|
+
"Bash(python3 -c \" import sys content = sys.stdin.read\\(\\) # Find flushMessageQueueSync idx = content.find\\(''flushMessageQueueSync''\\) # Get context around it lines = content.split\\(''\\\\n''\\) for i, line in enumerate\\(lines\\): if ''flushMessageQueueSync'' in line and ''private'' in line: for j in range\\(i, min\\(i+20, len\\(lines\\)\\)\\): print\\(f''{j+1}: {lines[j]}''\\) break \")",
|
|
117
|
+
"Bash(optima:*)",
|
|
118
|
+
"WebFetch(domain:www.npmjs.com)",
|
|
119
|
+
"WebFetch(domain:registry.npmjs.org)",
|
|
120
|
+
"WebFetch(domain:zod.dev)",
|
|
121
|
+
"Bash(npm ls:*)",
|
|
122
|
+
"Bash(NODE_DEBUG=child_process npx tsx:*)",
|
|
123
|
+
"Bash(DEBUG_CLAUDE_AGENT_SDK=1 npx tsx:*)",
|
|
124
|
+
"Bash(CLAUDECODE= npx tsx:*)",
|
|
125
|
+
"Bash(env:*)",
|
|
126
|
+
"Bash(gh release:*)",
|
|
127
|
+
"Bash(npm info:*)",
|
|
128
|
+
"Bash(gh run:*)",
|
|
129
|
+
"Bash(gtimeout 90:*)",
|
|
130
|
+
"Bash(sentinel:*)"
|
|
131
|
+
],
|
|
132
|
+
"deny": [],
|
|
133
|
+
"ask": []
|
|
134
|
+
}
|
|
135
|
+
}
|
|
@@ -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` 查看命令详细参数
|
package/dist/bin/bi-cli.js
CHANGED
|
File without changes
|
package/dist/bin/comfy.js
CHANGED
|
File without changes
|
package/dist/bin/commerce.js
CHANGED
|
File without changes
|
package/dist/bin/google-ads.js
CHANGED
|
File without changes
|
package/dist/bin/optima.js
CHANGED
|
File without changes
|
package/dist/bin/scout.js
CHANGED
|
File without changes
|
package/dist/src/agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/agent.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAa5D,qBAAa,WAAW;IACtB,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAS;gBAEX,OAAO,GAAE,YAAiB;IAiCtC;;;;OAIG;IACI,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW;
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/agent.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAa5D,qBAAa,WAAW;IACtB,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAS;gBAEX,OAAO,GAAE,YAAiB;IAiCtC;;;;OAIG;IACI,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW;cAuFH,YAAY;eAAS;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE;;IAHvF;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAgB1B;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,YAAY,IAAI,MAAM,GAAG,SAAS;IAIlC;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAuC1B"}
|
package/dist/src/agent.js
CHANGED
|
@@ -51,6 +51,7 @@ export class OptimaAgent {
|
|
|
51
51
|
async *chat(prompt, chatOptions) {
|
|
52
52
|
// delta 模式启用 SDK 的 partial messages
|
|
53
53
|
const includePartialMessages = chatOptions?.streamFormat === "delta";
|
|
54
|
+
const outputFormat = chatOptions?.outputFormat;
|
|
54
55
|
const response = query({
|
|
55
56
|
prompt,
|
|
56
57
|
options: {
|
|
@@ -88,7 +89,7 @@ export class OptimaAgent {
|
|
|
88
89
|
"optima-memory": createMemoryMcpServer(),
|
|
89
90
|
},
|
|
90
91
|
// System Prompt (合并项目级 OPTIMA.md 和用户指定的 append)
|
|
91
|
-
systemPrompt: this.buildSystemPrompt(),
|
|
92
|
+
systemPrompt: this.buildSystemPrompt(outputFormat),
|
|
92
93
|
// Hooks
|
|
93
94
|
hooks: this.options.hooks,
|
|
94
95
|
// 会话恢复
|
|
@@ -148,7 +149,7 @@ export class OptimaAgent {
|
|
|
148
149
|
/**
|
|
149
150
|
* 构建 System Prompt
|
|
150
151
|
*/
|
|
151
|
-
buildSystemPrompt() {
|
|
152
|
+
buildSystemPrompt(outputFormat) {
|
|
152
153
|
const parts = [getSystemPrompt()];
|
|
153
154
|
// 添加用户工作目录信息
|
|
154
155
|
parts.push(`## 用户工作目录
|
|
@@ -164,6 +165,21 @@ export class OptimaAgent {
|
|
|
164
165
|
if (this.options.systemPromptAppend) {
|
|
165
166
|
parts.push(this.options.systemPromptAppend);
|
|
166
167
|
}
|
|
168
|
+
// JSON 输出模式(Sentinel 自动化监控使用)
|
|
169
|
+
if (outputFormat === "json") {
|
|
170
|
+
parts.push(`## 输出格式
|
|
171
|
+
|
|
172
|
+
你必须以纯 JSON 格式回复,不要包含 markdown、代码块标记或其他文本。直接输出 JSON 对象。
|
|
173
|
+
|
|
174
|
+
JSON Schema:
|
|
175
|
+
{
|
|
176
|
+
"condition_met": boolean, // 监控条件是否满足
|
|
177
|
+
"summary": "string", // 观察到什么
|
|
178
|
+
"action_taken": "string|null", // 执行了什么操作,未执行则为 null
|
|
179
|
+
"suggested_action": "string|null", // 需要审批时的建议操作,不需要则为 null
|
|
180
|
+
"error": "string|null" // 无法完成时的原因,正常则为 null
|
|
181
|
+
}`);
|
|
182
|
+
}
|
|
167
183
|
// 直接使用自定义 system prompt,不用 preset
|
|
168
184
|
return parts.join("\n\n");
|
|
169
185
|
}
|
package/dist/src/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAc,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAErC,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,iCAAiC;AACjC,2CAA2C;AAC3C,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAEjD,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAE9B,MAAM,OAAO,WAAW;IACd,OAAO,CAAe;IACtB,SAAS,CAAU;IACnB,aAAa,CAAU;IACvB,OAAO,CAAS;IAChB,MAAM,CAAS;IAEvB,YAAY,UAAwB,EAAE;QACpC,SAAS;QACT,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC,aAAa,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEpD,WAAW;QACX,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAE5C,YAAY;QACZ,+DAA+D;QAC/D,8BAA8B;QAC9B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,SAAS,IAAI,YAAY,CAAC;QAEhD,IAAI,CAAC,OAAO,GAAG;YACb,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,cAAc,EAAE,mBAAmB;YACnC,QAAQ,EAAE,iBAAiB;YAC3B,GAAG,OAAO;SACX,CAAC;QAEF,kDAAkD;QAClD,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,eAAe,CAAC;QAC3C,CAAC;QAED,wBAAwB;QACxB,qCAAqC;QACrC,2FAA2F;QAC3F,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,yCAAyC,EAAE,CAAC;YAC3D,OAAO,CAAC,GAAG,CAAC,yCAAyC,GAAG,MAAM,CAAC;QACjE,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,CAAC,IAAI,CAAC,MAAc,EAAE,WAAyB;QACnD,oCAAoC;QACpC,MAAM,sBAAsB,GAAG,WAAW,EAAE,YAAY,KAAK,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks-loader.d.ts","sourceRoot":"","sources":["../../src/hooks-loader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAgB,MAAM,YAAY,CAAC;AAwL5D;;GAEG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,MAAM,GAAG,SAAS,GACrC,WAAW,CAiFb"}
|