@optima-chat/optima-agent 0.8.80 → 0.8.82
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.json +5 -0
- package/.claude/settings.local.json +6 -147
- package/.claude/skills/growth/SKILL.md +19 -8
- package/.claude/skills/growth/template/PROGRESS.md +4 -0
- package/.claude/skills/product-page/SKILL.md +52 -146
- package/dist/bin/bi-cli.js +0 -0
- package/dist/bin/browser-cli.js +0 -0
- package/dist/bin/comfy.js +0 -0
- package/dist/bin/commerce.js +0 -0
- package/dist/bin/gen.js +0 -0
- package/dist/bin/google-ads.js +0 -0
- package/dist/bin/logistics.js +0 -0
- package/dist/bin/optima.js +0 -0
- package/dist/bin/scout.js +0 -0
- package/dist/bin/sentinel.js +0 -0
- package/dist/bin/shopify.js +0 -0
- package/dist/bin/wumart.d.ts +3 -0
- package/dist/bin/wumart.d.ts.map +1 -0
- package/dist/bin/wumart.js +3 -0
- package/dist/bin/wumart.js.map +1 -0
- package/dist/src/agent.d.ts +1 -1
- package/dist/src/ui/headless-types.d.ts +5 -1
- package/dist/src/ui/headless-types.d.ts.map +1 -1
- package/dist/src/ui/headless.d.ts.map +1 -1
- package/dist/src/ui/headless.js +18 -0
- package/dist/src/ui/headless.js.map +1 -1
- package/package.json +1 -1
- package/dist/bin/growth.d.ts +0 -3
- package/dist/bin/growth.d.ts.map +0 -1
- package/dist/bin/growth.js +0 -3
- package/dist/bin/growth.js.map +0 -1
- package/dist/src/hooks-loader.d.ts +0 -6
- package/dist/src/hooks-loader.d.ts.map +0 -1
- package/dist/src/hooks-loader.js +0 -215
- package/dist/src/hooks-loader.js.map +0 -1
- package/dist/src/ui/App.d.ts +0 -6
- package/dist/src/ui/App.d.ts.map +0 -1
- package/dist/src/ui/App.js +0 -164
- package/dist/src/ui/App.js.map +0 -1
- package/dist/src/ui/components/Composer.d.ts +0 -10
- package/dist/src/ui/components/Composer.d.ts.map +0 -1
- package/dist/src/ui/components/Composer.js +0 -13
- package/dist/src/ui/components/Composer.js.map +0 -1
- package/dist/src/ui/components/Header.d.ts +0 -7
- package/dist/src/ui/components/Header.d.ts.map +0 -1
- package/dist/src/ui/components/Header.js +0 -7
- package/dist/src/ui/components/Header.js.map +0 -1
- package/dist/src/ui/components/Message.d.ts +0 -12
- package/dist/src/ui/components/Message.d.ts.map +0 -1
- package/dist/src/ui/components/Message.js +0 -21
- package/dist/src/ui/components/Message.js.map +0 -1
- package/dist/src/ui/components/MessageList.d.ts +0 -9
- package/dist/src/ui/components/MessageList.d.ts.map +0 -1
- package/dist/src/ui/components/MessageList.js +0 -18
- package/dist/src/ui/components/MessageList.js.map +0 -1
- package/dist/src/ui/components/Spinner.d.ts +0 -6
- package/dist/src/ui/components/Spinner.d.ts.map +0 -1
- package/dist/src/ui/components/Spinner.js +0 -7
- package/dist/src/ui/components/Spinner.js.map +0 -1
- package/dist/src/ui/components/StatusBar.d.ts +0 -11
- package/dist/src/ui/components/StatusBar.d.ts.map +0 -1
- package/dist/src/ui/components/StatusBar.js +0 -7
- package/dist/src/ui/components/StatusBar.js.map +0 -1
- package/dist/src/ui/components/index.d.ts +0 -7
- package/dist/src/ui/components/index.d.ts.map +0 -1
- package/dist/src/ui/components/index.js +0 -7
- package/dist/src/ui/components/index.js.map +0 -1
- package/dist/src/validation/error-formatter.d.ts +0 -21
- package/dist/src/validation/error-formatter.d.ts.map +0 -1
- package/dist/src/validation/error-formatter.js +0 -98
- package/dist/src/validation/error-formatter.js.map +0 -1
- package/dist/src/validation/index.d.ts +0 -10
- package/dist/src/validation/index.d.ts.map +0 -1
- package/dist/src/validation/index.js +0 -10
- package/dist/src/validation/index.js.map +0 -1
- package/dist/src/validation/json-validator.d.ts +0 -25
- package/dist/src/validation/json-validator.d.ts.map +0 -1
- package/dist/src/validation/json-validator.js +0 -173
- package/dist/src/validation/json-validator.js.map +0 -1
- package/dist/src/validation/schema.d.ts +0 -353
- package/dist/src/validation/schema.d.ts.map +0 -1
- package/dist/src/validation/schema.js +0 -57
- package/dist/src/validation/schema.js.map +0 -1
- package/dist/src/validation/suggestions.d.ts +0 -25
- package/dist/src/validation/suggestions.d.ts.map +0 -1
- package/dist/src/validation/suggestions.js +0 -144
- package/dist/src/validation/suggestions.js.map +0 -1
- package/dist/src/validation/types.d.ts +0 -40
- package/dist/src/validation/types.d.ts.map +0 -1
- package/dist/src/validation/types.js +0 -5
- package/dist/src/validation/types.js.map +0 -1
- package/dist/src/validation/yaml-validator.d.ts +0 -25
- package/dist/src/validation/yaml-validator.d.ts.map +0 -1
- package/dist/src/validation/yaml-validator.js +0 -177
- package/dist/src/validation/yaml-validator.js.map +0 -1
|
@@ -1,154 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"permissions": {
|
|
3
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
4
|
"Bash(commerce collection --help:*)",
|
|
45
|
-
"Bash(commerce collection update --help:*)",
|
|
46
5
|
"Bash(commerce collection set-cover:*)",
|
|
47
|
-
"Bash(commerce
|
|
48
|
-
"Bash(
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
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
|
-
"Bash(gh pr:*)",
|
|
132
|
-
"Bash(git fetch:*)",
|
|
133
|
-
"Bash(git log:*)",
|
|
134
|
-
"Bash(npm bin:*)",
|
|
135
|
-
"Bash(git status:*)",
|
|
136
|
-
"Bash(browser-cli --version && browser-cli --help)",
|
|
137
|
-
"Bash(browser-cli status:*)",
|
|
138
|
-
"Bash(browser-cli launch:*)",
|
|
139
|
-
"Bash(browser-cli screenshot:*)",
|
|
140
|
-
"Bash(browser-cli --version)",
|
|
141
|
-
"Bash(browser-cli close:*)",
|
|
142
|
-
"Bash(npm update:*)",
|
|
143
|
-
"Bash(node -e \"console.log\\(require\\('./node_modules/@optima-chat/browser-cli/package.json'\\).version\\)\")",
|
|
144
|
-
"WebFetch(domain:raw.githubusercontent.com)",
|
|
145
|
-
"Bash(aws ecs:*)",
|
|
146
|
-
"Bash(aws ecr:*)",
|
|
147
|
-
"Bash(gh search:*)",
|
|
148
|
-
"Bash(npx tsc:*)",
|
|
149
|
-
"Bash(find /Users/verypro/optima-agent -path */node_modules -prune -o -type f \\\\\\(-name *comfy* -o -name *gen* \\\\\\) -print)"
|
|
150
|
-
],
|
|
151
|
-
"deny": [],
|
|
152
|
-
"ask": []
|
|
6
|
+
"Bash(commerce homepage --help:*)",
|
|
7
|
+
"Bash(find:*)"
|
|
8
|
+
]
|
|
9
|
+
},
|
|
10
|
+
"enabledPlugins": {
|
|
11
|
+
"superpowers@claude-plugins-official": true
|
|
153
12
|
}
|
|
154
13
|
}
|
|
@@ -13,9 +13,15 @@ AI 增长官,通过多账号、多人设、多渠道的矩阵化运营实现
|
|
|
13
13
|
|
|
14
14
|
所有操作基于用户 workspace 的 `~/growth/` 目录。
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
**每次会话的启动流程**:
|
|
17
|
+
|
|
18
|
+
1. 运行 `ls ~/growth/GROWTH.md` 检查是否已初始化。不存在 → 走「初始设置」流程
|
|
19
|
+
2. 读取 `PROGRESS.md` — 了解上次做了什么、遇到了什么问题、下次该做什么
|
|
20
|
+
3. `git -C ~/growth log --oneline -5` — 看最近变更
|
|
21
|
+
4. 读取 `CALENDAR.md` 最后 10 行 — 了解近期发帖情况
|
|
22
|
+
5. 根据以上信息决定本次要做的**一项**操作
|
|
23
|
+
|
|
24
|
+
**单会话单任务原则**:每次会话只执行一种操作(发帖 / 选题更新 / 数据回采 / 评论互动),完成后 commit 并更新 PROGRESS.md。这样出错时可以精准回滚。
|
|
19
25
|
|
|
20
26
|
| 文件 | 用途 |
|
|
21
27
|
|------|------|
|
|
@@ -24,6 +30,7 @@ AI 增长官,通过多账号、多人设、多渠道的矩阵化运营实现
|
|
|
24
30
|
| `TOPICS.md` | 选题库 |
|
|
25
31
|
| `CALENDAR.md` | 内容日历 + 发布数据 |
|
|
26
32
|
| `COMMENTS.md` | 评论记录 |
|
|
33
|
+
| `PROGRESS.md` | 工作日志(每次会话的摘要、异常、下次待办) |
|
|
27
34
|
| `assets/products/` | 产品图素材 |
|
|
28
35
|
|
|
29
36
|
## 初始设置
|
|
@@ -44,9 +51,11 @@ AI 增长官,通过多账号、多人设、多渠道的矩阵化运营实现
|
|
|
44
51
|
2. 按策略生成文案,按引流策略植入产品
|
|
45
52
|
3. 配图:优先 `assets/products/` 真实素材,缺图用 gen skill 生成
|
|
46
53
|
4. 加载 browser skill 发布到目标平台(用 `runscript --profile <profile-id>` 指定账号的浏览器 profile,profile-id 从 ACCOUNTS.md 读取)
|
|
47
|
-
5.
|
|
48
|
-
6.
|
|
49
|
-
7.
|
|
54
|
+
5. **发布验证**:重新访问帖子链接,截图确认发布成功且内容正确。验证失败则记录到 PROGRESS.md 并跳过后续步骤
|
|
55
|
+
6. 发布成功后更新 `CALENDAR.md`(加帖子链接,状态标记为「已发布」)
|
|
56
|
+
7. 按 GROWTH.md 的自评话术发一条自评(如有配置)
|
|
57
|
+
8. 更新 `PROGRESS.md`(本次做了什么、是否有异常、下次建议)
|
|
58
|
+
9. `git commit`
|
|
50
59
|
|
|
51
60
|
## 选题更新
|
|
52
61
|
|
|
@@ -55,7 +64,8 @@ AI 增长官,通过多账号、多人设、多渠道的矩阵化运营实现
|
|
|
55
64
|
3. 去重:对比 TOPICS.md 和 CALENDAR.md 已有内容
|
|
56
65
|
4. 新选题写入 TOPICS.md
|
|
57
66
|
5. 评论引流:筛选适合评论的帖子,加载 browser skill 发评论,记录到 COMMENTS.md
|
|
58
|
-
6.
|
|
67
|
+
6. 更新 `PROGRESS.md`
|
|
68
|
+
7. `git commit`
|
|
59
69
|
|
|
60
70
|
## 数据回采
|
|
61
71
|
|
|
@@ -63,7 +73,8 @@ AI 增长官,通过多账号、多人设、多渠道的矩阵化运营实现
|
|
|
63
73
|
2. 更新 CALENDAR.md 的数据列
|
|
64
74
|
3. 根据表现更新 TOPICS.md 的评分
|
|
65
75
|
4. 评论回复:用帖子标题搜索找到帖子,加载 browser skill 发评论
|
|
66
|
-
5.
|
|
76
|
+
5. 更新 `PROGRESS.md`
|
|
77
|
+
6. `git commit`
|
|
67
78
|
|
|
68
79
|
## 定时自动化
|
|
69
80
|
|
|
@@ -1,51 +1,23 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: product-page
|
|
3
|
-
description:
|
|
3
|
+
description: 商品详情页(PDP)配置。自定义商品详情页的区块内容(如护理说明、退货政策、品牌故事)。当用户需要编辑商品页信息区块、隐藏区块、添加自定义区块、管理翻译时使用。
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
## 概念
|
|
7
7
|
|
|
8
|
-
Product Page
|
|
8
|
+
PDP(Product Detail Page)区块是商品详情页上的内容模块,采用三层继承:
|
|
9
9
|
|
|
10
10
|
```
|
|
11
|
-
System
|
|
12
|
-
↓ 可被覆盖
|
|
13
|
-
Merchant(商户级自定义)
|
|
14
|
-
↓ 可被覆盖
|
|
15
|
-
Product(商品级覆盖)
|
|
11
|
+
System(系统默认 7 个区块)→ Merchant(商户定制)→ Product(单品覆盖)
|
|
16
12
|
```
|
|
17
13
|
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
- **Product**:单个商品对上层区块的覆盖(仅影响该商品)
|
|
21
|
-
|
|
22
|
-
每层都可以执行三种操作:
|
|
23
|
-
- `override`:覆盖上层的内容
|
|
24
|
-
- `new`:创建全新的区块
|
|
25
|
-
- `hidden`:隐藏某个区块
|
|
26
|
-
|
|
27
|
-
## 结构
|
|
28
|
-
|
|
29
|
-
```
|
|
30
|
-
ProductPageSection
|
|
31
|
-
├── 基本信息
|
|
32
|
-
│ ├── handle: 区块标识符(唯一)
|
|
33
|
-
│ ├── operation_type: override | new | hidden
|
|
34
|
-
│ ├── type: collapsible(可折叠)| static(静态)
|
|
35
|
-
│ └── position: 显示位置(1-10)
|
|
36
|
-
│
|
|
37
|
-
├── 内容
|
|
38
|
-
│ ├── content: Markdown 内容(支持模板变量)
|
|
39
|
-
│ └── tab_group: Tab 分组(可选)
|
|
40
|
-
│
|
|
41
|
-
└── 翻译
|
|
42
|
-
└── translations: 多语言翻译
|
|
43
|
-
```
|
|
14
|
+
- 无 `--product` → merchant 级(影响所有商品)
|
|
15
|
+
- 有 `--product <id或handle>` → product 级(仅影响该商品)
|
|
44
16
|
|
|
45
17
|
### 系统默认区块
|
|
46
18
|
|
|
47
|
-
| handle | 说明 |
|
|
48
|
-
|
|
19
|
+
| handle | 说明 | 类型 |
|
|
20
|
+
|--------|------|------|
|
|
49
21
|
| `highlights` | 产品亮点 | static |
|
|
50
22
|
| `details` | 产品详情 | collapsible |
|
|
51
23
|
| `guarantee` | 品质保证 | collapsible |
|
|
@@ -56,145 +28,79 @@ ProductPageSection
|
|
|
56
28
|
|
|
57
29
|
### 模板变量
|
|
58
30
|
|
|
59
|
-
content
|
|
60
|
-
|
|
61
|
-
| 变量 | 说明 |
|
|
62
|
-
|------|------|
|
|
63
|
-
| `{{product.name}}` | 商品名称 |
|
|
64
|
-
| `{{product.description}}` | 商品描述 |
|
|
65
|
-
| `{{variant.sku}}` | 当前变体 SKU |
|
|
66
|
-
| `{{merchant.name}}` | 店铺名称 |
|
|
67
|
-
|
|
68
|
-
## 典型场景
|
|
69
|
-
|
|
70
|
-
当用户说:
|
|
71
|
-
- "查看所有区块" → `commerce product-page list --resolved`
|
|
72
|
-
- "覆盖护理说明" → `commerce product-page create --handle care --operation-type override ...`
|
|
73
|
-
- "隐藏环保说明" → `commerce product-page hide --handle eco-friendly`
|
|
74
|
-
- "添加品牌故事区块" → `commerce product-page create --handle brand-story --operation-type new ...`
|
|
75
|
-
- "调整区块顺序" → `commerce product-page reorder --sections '[{"handle":"h1","position":1},{"handle":"h2","position":2}]'`
|
|
76
|
-
- "给某商品单独设置" → `commerce product-page product create --product-handle xxx ...`
|
|
77
|
-
|
|
78
|
-
## 命令参考
|
|
79
|
-
|
|
80
|
-
### 商户级命令(影响所有商品)
|
|
31
|
+
content 支持:`{{product.name}}`、`{{product.description}}`、`{{variant.sku}}`、`{{merchant.name}}`
|
|
81
32
|
|
|
82
|
-
|
|
83
|
-
- `commerce product-page list --resolved` - 列出合并后的完整视图(推荐)
|
|
84
|
-
- `commerce product-page create` - 创建/覆盖区块
|
|
85
|
-
- `commerce product-page update --handle <handle>` - 更新区块
|
|
86
|
-
- `commerce product-page delete --handle <handle> --yes` - 删除自定义
|
|
87
|
-
- `commerce product-page hide --handle <handle>` - 隐藏区块(快捷方式)
|
|
88
|
-
- `commerce product-page reorder --sections <json>` - 重新排序(JSON 格式:`[{"handle":"xx","position":1}]`)
|
|
33
|
+
## 命令(共 7 个)
|
|
89
34
|
|
|
90
|
-
###
|
|
91
|
-
|
|
92
|
-
- `commerce product-page product list --product-handle <handle>` - 列出商品级覆盖
|
|
93
|
-
- `commerce product-page product list --product-handle <handle> --resolved` - 列出合并视图
|
|
94
|
-
- `commerce product-page product create --product-handle <handle> ...` - 创建商品级覆盖
|
|
95
|
-
- `commerce product-page product update --product-handle <handle> --handle <section> ...` - 更新
|
|
96
|
-
- `commerce product-page product delete --product-handle <handle> --handle <section> --yes` - 删除
|
|
97
|
-
- `commerce product-page product hide --product-handle <handle> --handle <section>` - 隐藏
|
|
98
|
-
|
|
99
|
-
### 翻译命令
|
|
100
|
-
|
|
101
|
-
- `commerce product-page translation list --handle <handle>` - 查看区块翻译
|
|
102
|
-
- `commerce product-page translation set --handle <handle> --lang <code>` - 设置翻译
|
|
103
|
-
- `commerce product-page translation delete --handle <handle> --lang <code> --yes` - 删除翻译
|
|
104
|
-
|
|
105
|
-
## 典型操作示例
|
|
106
|
-
|
|
107
|
-
### 查看所有区块
|
|
35
|
+
### 查看
|
|
108
36
|
|
|
109
37
|
```bash
|
|
110
|
-
|
|
111
|
-
commerce product-
|
|
38
|
+
commerce pdp show # 所有区块(合并视图)
|
|
39
|
+
commerce pdp show --product blue-hoodie # 某商品的区块
|
|
40
|
+
commerce pdp show --handle care # 单个区块详情
|
|
112
41
|
```
|
|
113
42
|
|
|
114
|
-
###
|
|
43
|
+
### 添加新区块
|
|
115
44
|
|
|
116
45
|
```bash
|
|
117
|
-
|
|
118
|
-
commerce product-
|
|
119
|
-
--handle care \
|
|
120
|
-
--operation-type override \
|
|
121
|
-
--type collapsible \
|
|
122
|
-
--position 4 \
|
|
123
|
-
--content "## 洗涤说明\n\n- 可机洗,30°C\n- 请勿漂白\n- 低温烘干"
|
|
46
|
+
commerce pdp add --handle faq --content "## FAQ\n\nQ1: ..." --type collapsible
|
|
47
|
+
commerce pdp add --handle faq --content "..." --product blue-hoodie
|
|
124
48
|
```
|
|
125
49
|
|
|
126
|
-
###
|
|
50
|
+
### 编辑已有区块(自动覆盖系统默认)
|
|
127
51
|
|
|
128
52
|
```bash
|
|
129
|
-
|
|
130
|
-
commerce
|
|
131
|
-
|
|
132
|
-
# 完整方式
|
|
133
|
-
commerce product-page create --handle eco-friendly --operation-type hidden
|
|
53
|
+
commerce pdp edit --handle care --content "机洗30度"
|
|
54
|
+
commerce pdp edit --handle care --content "干洗" --product silk-dress
|
|
55
|
+
commerce pdp edit --handle care --position 3 --type static
|
|
134
56
|
```
|
|
135
57
|
|
|
136
|
-
###
|
|
58
|
+
### 隐藏区块
|
|
137
59
|
|
|
138
60
|
```bash
|
|
139
|
-
|
|
140
|
-
commerce
|
|
141
|
-
--handle brand-story \
|
|
142
|
-
--operation-type new \
|
|
143
|
-
--type collapsible \
|
|
144
|
-
--position 8 \
|
|
145
|
-
--content "## 关于 {{merchant.name}}\n\n创立于2020年..."
|
|
61
|
+
commerce pdp hide --handle eco-friendly
|
|
62
|
+
commerce pdp hide --handle eco-friendly --product blue-hoodie
|
|
146
63
|
```
|
|
147
64
|
|
|
148
|
-
###
|
|
65
|
+
### 重置(删除定制,恢复继承)
|
|
149
66
|
|
|
150
67
|
```bash
|
|
151
|
-
|
|
152
|
-
commerce product-
|
|
153
|
-
--handle ingredients \
|
|
154
|
-
--operation-type new \
|
|
155
|
-
--type collapsible \
|
|
156
|
-
--position 5 \
|
|
157
|
-
--content "## 成分\n\n100% 有机棉" \
|
|
158
|
-
--tab-group product-info
|
|
159
|
-
|
|
160
|
-
commerce product-page create \
|
|
161
|
-
--handle materials \
|
|
162
|
-
--operation-type new \
|
|
163
|
-
--type collapsible \
|
|
164
|
-
--position 6 \
|
|
165
|
-
--content "## 材质\n\n天然环保材料" \
|
|
166
|
-
--tab-group product-info
|
|
68
|
+
commerce pdp reset --handle care --yes
|
|
69
|
+
commerce pdp reset --handle care --product blue-hoodie --yes
|
|
167
70
|
```
|
|
168
71
|
|
|
169
|
-
###
|
|
72
|
+
### 排序(handle:position 格式,无 JSON)
|
|
170
73
|
|
|
171
74
|
```bash
|
|
172
|
-
|
|
173
|
-
commerce
|
|
174
|
-
|
|
175
|
-
--handle care \
|
|
176
|
-
--operation-type override \
|
|
177
|
-
--type collapsible \
|
|
178
|
-
--position 4 \
|
|
179
|
-
--content "## 陶瓷护理\n\n- 可用洗碗机\n- 避免剧烈温度变化"
|
|
75
|
+
commerce pdp reorder highlights:1 details:2 care:3 return:4
|
|
76
|
+
commerce pdp reorder --tab-group product-info highlights:1 details:2
|
|
77
|
+
commerce pdp reorder --product blue-hoodie highlights:1 details:2
|
|
180
78
|
```
|
|
181
79
|
|
|
182
|
-
###
|
|
80
|
+
### 翻译
|
|
183
81
|
|
|
184
82
|
```bash
|
|
185
|
-
#
|
|
186
|
-
commerce
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
83
|
+
# 设置
|
|
84
|
+
commerce pdp translate --handle care --lang zh-CN --title "护理说明" --content "机洗30度"
|
|
85
|
+
|
|
86
|
+
# 查看
|
|
87
|
+
commerce pdp translate --handle care --list
|
|
88
|
+
|
|
89
|
+
# 删除
|
|
90
|
+
commerce pdp translate --handle care --lang zh-CN --delete --yes
|
|
191
91
|
```
|
|
192
92
|
|
|
193
|
-
##
|
|
93
|
+
## 自然语言映射
|
|
94
|
+
|
|
95
|
+
- "查看商品详情页区块" → `commerce pdp show`
|
|
96
|
+
- "修改护理说明" → `commerce pdp edit --handle care --content "..."`
|
|
97
|
+
- "隐藏环保说明" → `commerce pdp hide --handle eco-friendly`
|
|
98
|
+
- "添加品牌故事" → `commerce pdp add --handle brand-story --content "..."`
|
|
99
|
+
- "调整区块顺序" → `commerce pdp reorder highlights:1 details:2 care:3`
|
|
100
|
+
- "给护理说明加中文翻译" → `commerce pdp translate --handle care --lang zh-CN --title "..." --content "..."`
|
|
101
|
+
|
|
102
|
+
## 注意
|
|
194
103
|
|
|
195
|
-
-
|
|
196
|
-
-
|
|
197
|
-
-
|
|
198
|
-
- **position 冲突**:不同区块可以有相同 position,显示时按 position 排序
|
|
199
|
-
- **内容格式**:content 支持 Markdown,可使用模板变量
|
|
200
|
-
- **Tab 分组**:tab_group 相同的区块会在前端合并为标签页显示
|
|
104
|
+
- **PDP 管理页面区块**(内容板块),**product 管理商品属性**(名称、价格、库存)。两者不同。
|
|
105
|
+
- 编辑继承的区块会自动创建 override,无需手动指定 operation-type
|
|
106
|
+
- `--tab-group none` 可清除 tab 分组
|
package/dist/bin/bi-cli.js
CHANGED
|
File without changes
|
package/dist/bin/browser-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/gen.js
CHANGED
|
File without changes
|
package/dist/bin/google-ads.js
CHANGED
|
File without changes
|
package/dist/bin/logistics.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/bin/sentinel.js
CHANGED
|
File without changes
|
package/dist/bin/shopify.js
CHANGED
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wumart.d.ts","sourceRoot":"","sources":["../../bin/wumart.ts"],"names":[],"mappings":";AACA,OAAO,yBAAyB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wumart.js","sourceRoot":"","sources":["../../bin/wumart.ts"],"names":[],"mappings":";AACA,OAAO,yBAAyB,CAAC"}
|
package/dist/src/agent.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ export declare class OptimaAgent {
|
|
|
11
11
|
* @param prompt 用户输入
|
|
12
12
|
* @param chatOptions 选项,包括 streamFormat: 'delta' | 'content'
|
|
13
13
|
*/
|
|
14
|
-
chat(prompt: string, chatOptions?: ChatOptions): AsyncGenerator<import("@anthropic-ai/claude-agent-sdk").SDKUserMessage | import("@anthropic-ai/claude-agent-sdk").SDKAssistantMessage | import("@anthropic-ai/claude-agent-sdk").SDKResultSuccess | import("@anthropic-ai/claude-agent-sdk").SDKResultError | import("@anthropic-ai/claude-agent-sdk").SDKSystemMessage | import("@anthropic-ai/claude-agent-sdk").SDKPartialAssistantMessage | import("@anthropic-ai/claude-agent-sdk").SDKCompactBoundaryMessage | import("@anthropic-ai/claude-agent-sdk").SDKStatusMessage | import("@anthropic-ai/claude-agent-sdk").
|
|
14
|
+
chat(prompt: string, chatOptions?: ChatOptions): AsyncGenerator<import("@anthropic-ai/claude-agent-sdk").SDKUserMessage | import("@anthropic-ai/claude-agent-sdk").SDKAssistantMessage | import("@anthropic-ai/claude-agent-sdk").SDKResultSuccess | import("@anthropic-ai/claude-agent-sdk").SDKResultError | import("@anthropic-ai/claude-agent-sdk").SDKSystemMessage | import("@anthropic-ai/claude-agent-sdk").SDKPartialAssistantMessage | import("@anthropic-ai/claude-agent-sdk").SDKCompactBoundaryMessage | import("@anthropic-ai/claude-agent-sdk").SDKStatusMessage | import("@anthropic-ai/claude-agent-sdk").SDKLocalCommandOutputMessage | import("@anthropic-ai/claude-agent-sdk").SDKHookStartedMessage | import("@anthropic-ai/claude-agent-sdk").SDKHookProgressMessage | import("@anthropic-ai/claude-agent-sdk").SDKHookResponseMessage | import("@anthropic-ai/claude-agent-sdk").SDKToolProgressMessage | import("@anthropic-ai/claude-agent-sdk").SDKAuthStatusMessage | import("@anthropic-ai/claude-agent-sdk").SDKTaskNotificationMessage | import("@anthropic-ai/claude-agent-sdk").SDKTaskStartedMessage | import("@anthropic-ai/claude-agent-sdk").SDKTaskProgressMessage | import("@anthropic-ai/claude-agent-sdk").SDKFilesPersistedEvent | import("@anthropic-ai/claude-agent-sdk").SDKToolUseSummaryMessage | import("@anthropic-ai/claude-agent-sdk").SDKRateLimitEvent | import("@anthropic-ai/claude-agent-sdk").SDKElicitationCompleteMessage | import("@anthropic-ai/claude-agent-sdk").SDKPromptSuggestionMessage | {
|
|
15
15
|
type: "text_delta";
|
|
16
16
|
delta: {
|
|
17
17
|
text: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type InputMessage = InitInputMessage | MessageInputMessage | AbortInputMessage | AnswerQuestionInputMessage | ResetConversationInputMessage | DeleteConversationInputMessage | RestoreConversationsInputMessage | PingInputMessage;
|
|
1
|
+
export type InputMessage = InitInputMessage | MessageInputMessage | AbortInputMessage | AnswerQuestionInputMessage | ResetConversationInputMessage | DeleteConversationInputMessage | RestoreConversationsInputMessage | PingInputMessage | UpdateClaudeTokenInputMessage;
|
|
2
2
|
export interface InitInputMessage {
|
|
3
3
|
type: "init";
|
|
4
4
|
sessionId: string;
|
|
@@ -41,6 +41,10 @@ export interface RestoreConversationsInputMessage {
|
|
|
41
41
|
export interface PingInputMessage {
|
|
42
42
|
type: "ping";
|
|
43
43
|
}
|
|
44
|
+
export interface UpdateClaudeTokenInputMessage {
|
|
45
|
+
type: "update_claude_token";
|
|
46
|
+
token: string;
|
|
47
|
+
}
|
|
44
48
|
export type OutputEvent = InitEvent | ThinkingEvent | ContentEvent | TextDeltaEvent | ToolCallEvent | ToolResultEvent | AskQuestionEvent | ProgressEvent | FinishEvent | ErrorEvent | InfoEvent | ConversationUpdateEvent | PongEvent;
|
|
45
49
|
export interface InitEvent {
|
|
46
50
|
type: "init";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headless-types.d.ts","sourceRoot":"","sources":["../../../src/ui/headless-types.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,YAAY,GACpB,gBAAgB,GAChB,mBAAmB,GACnB,iBAAiB,GACjB,0BAA0B,GAC1B,6BAA6B,GAC7B,8BAA8B,GAC9B,gCAAgC,GAChC,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"headless-types.d.ts","sourceRoot":"","sources":["../../../src/ui/headless-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headless.d.ts","sourceRoot":"","sources":["../../../src/ui/headless.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"headless.d.ts","sourceRoot":"","sources":["../../../src/ui/headless.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAWV,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAG7B;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA2mB/E;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAAC,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAmD3G"}
|
package/dist/src/ui/headless.js
CHANGED
|
@@ -199,6 +199,24 @@ export async function startHeadlessMode(options) {
|
|
|
199
199
|
});
|
|
200
200
|
break;
|
|
201
201
|
}
|
|
202
|
+
case "update_claude_token": {
|
|
203
|
+
const tokenInput = input;
|
|
204
|
+
if (!tokenInput.token || typeof tokenInput.token !== "string" || tokenInput.token.trim() === "") {
|
|
205
|
+
console.error("[Headless] Rejected update_claude_token: empty or invalid token");
|
|
206
|
+
sendOutput({
|
|
207
|
+
type: "error",
|
|
208
|
+
error: { message: "Token must be a non-empty string", code: "INVALID_TOKEN" },
|
|
209
|
+
});
|
|
210
|
+
break;
|
|
211
|
+
}
|
|
212
|
+
process.env.CLAUDE_CODE_OAUTH_TOKEN = tokenInput.token;
|
|
213
|
+
console.error("[Headless] Claude token updated");
|
|
214
|
+
sendOutput({
|
|
215
|
+
type: "info",
|
|
216
|
+
info: { message: "Claude token updated", code: "TOKEN_UPDATED" },
|
|
217
|
+
});
|
|
218
|
+
break;
|
|
219
|
+
}
|
|
202
220
|
case "ping": {
|
|
203
221
|
sendOutput({
|
|
204
222
|
type: "pong",
|