@optima-chat/optima-agent 0.5.12 → 0.7.0

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.
@@ -0,0 +1,262 @@
1
+ ---
2
+ name: tiktok
3
+ description: TikTok influencer marketing and trend discovery. Use when user needs to find TikTok creators (TikTok网红/达人/创作者), discover viral products (爆款/热销/带货), analyze trending videos (热门视频/趋势), research hashtags (话题/标签/#), or competitive analysis (竞品/对手分析).
4
+ ---
5
+
6
+ # TikTok - Influencer Marketing & Trend Discovery
7
+
8
+ ## 典型场景
9
+
10
+ 当用户说:
11
+ - "帮我找TikTok网红" / "找美妆博主" → `scout tiktok creators`
12
+ - "TikTok上什么产品火" / "最近有什么爆款" → `scout tiktok trending --has-product`
13
+ - "搜索XX相关的视频" → `scout tiktok search-videos "XX"`
14
+ - "这个视频数据怎么样" + URL → `scout tiktok video-insights <url>`
15
+ - "TikTok热门话题" / "有什么热门标签" → `scout tiktok hashtags`
16
+ - "看看XX网红推广什么产品" → `scout tiktok creator-products @username`
17
+
18
+ ### 场景决策表
19
+
20
+ | 用户需求 | 推荐命令 | 关键参数 |
21
+ |---------|---------|---------|
22
+ | 找网红合作 | `tiktok creators` | `--follower-count` 筛选粉丝规模,`--sort engagement_rate` 按互动率排序 |
23
+ | 发现爆款产品 | `tiktok trending --has-product` | `--region` 指定市场,`--time-period 7d` 近期趋势 |
24
+ | 研究产品热度 | `tiktok search-videos "产品名" --has-product` | 找带货视频,验证商业化程度 |
25
+ | 分析爆款视频 | `tiktok video-insights <url>` | 获取字幕和评论,分析成功要素 |
26
+ | 内容策略研究 | `tiktok hashtags` | 找热门话题,结合搜索视频看内容格式 |
27
+ | 竞品分析 | `tiktok search-videos "品牌名"` | 找竞品推广视频,分析营销策略 |
28
+
29
+ ## 核心命令
30
+
31
+ ### 1. 查找创作者 - `scout tiktok creators`
32
+
33
+ **用途**:找网红合作,按粉丝数和互动率筛选
34
+
35
+ ```bash
36
+ # 找中等规模高互动网红(最适合合作)
37
+ scout tiktok creators --follower-count "100K-1M" --sort engagement_rate --limit 20
38
+
39
+ # 找大V网红
40
+ scout tiktok creators --follower-count "1M-10M" --country US --limit 10
41
+
42
+ # 按地区和受众筛选
43
+ scout tiktok creators --country GB --audience-country US --limit 20
44
+ ```
45
+
46
+ **返回数据**:
47
+ - `username`, `displayName` - 账号信息
48
+ - `followers`, `totalVideos`, `totalLikes` - 规模指标
49
+ - `engagementRate` - **最重要**,衡量粉丝活跃度
50
+ - `avgViews` - 平均播放量
51
+ - `verified` - 认证状态
52
+ - `profileUrl` - 主页链接
53
+
54
+ **关键指标**:
55
+ - **互动率 >5%** = 优质网红(粉丝活跃)
56
+ - **互动率 2-5%** = 正常水平
57
+ - **互动率 <2%** = 粉丝质量差或僵尸粉
58
+ - **avgViews / followers > 1** = 内容质量好,算法推荐多
59
+
60
+ ### 2. 热门视频 - `scout tiktok trending`
61
+
62
+ **用途**:发现正在火的产品和内容
63
+
64
+ ```bash
65
+ # 找美国近7天的热门带货视频
66
+ scout tiktok trending --region US --time-period 7d --has-product --limit 20
67
+
68
+ # 找英国24小时内爆火内容
69
+ scout tiktok trending --region GB --time-period 24h --limit 30
70
+ ```
71
+
72
+ **返回数据**:
73
+ - `views`, `likes`, `comments`, `shares` - 互动数据
74
+ - `productUrl` - 产品链接(如果有)
75
+ - `description` - 视频文案
76
+ - `creator` - 创作者信息
77
+
78
+ **分析逻辑**:
79
+ - **多个视频推同一产品** = 趋势信号强
80
+ - **评论问"哪里买"** = 购买意向高
81
+ - **likes/views >5%** = 内容质量好
82
+ - **有 productUrl** = 已商业化,市场验证
83
+
84
+ ### 3. 搜索视频 - `scout tiktok search-videos`
85
+
86
+ **用途**:研究特定产品/话题的视频
87
+
88
+ ```bash
89
+ # 找咖啡机相关的所有视频
90
+ scout tiktok search-videos "coffee maker" --limit 30
91
+
92
+ # 只找带货视频(验证商业化)
93
+ scout tiktok search-videos "coffee maker" --has-product --limit 20
94
+ ```
95
+
96
+ **--has-product 参数的意义**:
97
+ - 有产品链接 = 已经有人在卖 = 市场验证
98
+ - 如果搜到很多带货视频 = 竞争激烈
99
+ - 如果只有几个带货视频 = 机会窗口
100
+
101
+ ### 4. 视频深度分析 - `scout tiktok video-insights`
102
+
103
+ **用途**:分析爆款视频的成功要素
104
+
105
+ ```bash
106
+ scout tiktok video-insights "https://tiktok.com/@user/video/123456789"
107
+ ```
108
+
109
+ **返回数据**:
110
+ - `video` - 完整数据(views, likes, comments, shares)
111
+ - `transcript` - **关键**,视频字幕,分析 Hook 和文案
112
+ - `comments` - 用户评论,提取情感和购买意向
113
+
114
+ **分析重点**:
115
+ 1. **Transcript 前 3 秒** - 开头 Hook 是什么
116
+ 2. **Comments 里的高频词** - "where to buy", "I need this" = 强购买意向
117
+ 3. **Likes/Views 比例** - >5% 是优秀内容
118
+ 4. **Shares** - 高分享 = 传播性强
119
+
120
+ ### 5. 热门话题 - `scout tiktok hashtags`
121
+
122
+ **用途**:找热门话题,优化内容策略
123
+
124
+ ```bash
125
+ scout tiktok hashtags --region US --limit 30
126
+ ```
127
+
128
+ **返回数据**:
129
+ - `name` - 话题名称
130
+ - `views` - 浏览量(>10B = 超级热门)
131
+ - `trending` - 是否正在趋势中
132
+
133
+ **使用建议**:
134
+ - 浏览量 >10B = 主流话题,竞争激烈
135
+ - 浏览量 1-10B = 细分话题,精准流量
136
+ - `trending: true` = 正在爆发,时效性强
137
+
138
+ ### 6. 创作者产品提取 - `scout tiktok creator-products`
139
+
140
+ **用途**:看某个网红推广什么产品
141
+
142
+ ```bash
143
+ scout tiktok creator-products @username --sort popular --limit 30
144
+ ```
145
+
146
+ **返回数据**:
147
+ - `products` - 产品URL列表
148
+ - `fromVideo` - 产品出现在哪个视频,视频表现如何
149
+
150
+ **分析用途**:
151
+ 1. **找网红前** - 看他推广过什么,判断品类契合度
152
+ 2. **竞品分析** - 看竞品找了哪些网红
153
+ 3. **产品验证** - 如果多个网红都推同一产品 = 供应商可靠或产品好卖
154
+
155
+ ## 工作流程
156
+
157
+ ### 流程1:发现爆款产品 → 验证 → 采购
158
+
159
+ ```bash
160
+ # 1. 发现趋势产品
161
+ scout tiktok trending --region US --has-product --time-period 7d --limit 20
162
+
163
+ # 2. 深入分析爆款视频(选播放量最高的)
164
+ scout tiktok video-insights "https://tiktok.com/video/xxx"
165
+ # 看评论是否有强购买意向,transcript 看卖点
166
+
167
+ # 3. 验证 Amazon 市场(切换到 scout skill)
168
+ scout search "product name" --limit 10
169
+ # 看市场规模、竞争、价格区间
170
+
171
+ # 4. 找 1688 供应商(使用 scout 的 supplier-search 命令)
172
+ scout supplier-search "产品关键词" --limit 10
173
+ # 计算利润空间
174
+ ```
175
+
176
+ ### 流程2:网红营销选号
177
+
178
+ ```bash
179
+ # 1. 找目标粉丝规模的网红
180
+ scout tiktok creators --follower-count "100K-1M" --sort engagement_rate --limit 20
181
+
182
+ # 2. 看他们推广过什么(判断品类契合度)
183
+ scout tiktok creator-products @top_creator_1 --limit 30
184
+ scout tiktok creator-products @top_creator_2 --limit 30
185
+
186
+ # 3. 分析他们的爆款视频(学习内容风格)
187
+ scout tiktok video-insights "https://tiktok.com/video/xxx"
188
+
189
+ # 4. 建立候选名单,联系合作
190
+ ```
191
+
192
+ ### 流程3:竞品分析
193
+
194
+ ```bash
195
+ # 1. 搜索竞品品牌名
196
+ scout tiktok search-videos "competitor brand" --limit 30
197
+
198
+ # 2. 找到他们的推广视频,分析内容策略
199
+ scout tiktok video-insights "竞品视频URL"
200
+
201
+ # 3. 提取他们合作的网红
202
+ # 从搜索结果中记录 creator usernames
203
+
204
+ # 4. 分析他们的网红选择策略
205
+ scout tiktok creator-products @competitor_influencer
206
+ ```
207
+
208
+ ## 数据解读关键
209
+
210
+ ### 网红质量判断
211
+
212
+ | 指标 | 优秀 | 良好 | 一般 | 差 |
213
+ |------|------|------|------|-----|
214
+ | 互动率 | >8% | 5-8% | 2-5% | <2% |
215
+ | avgViews/followers | >2 | 1-2 | 0.5-1 | <0.5 |
216
+ | 验证状态 | ✓ | - | - | - |
217
+
218
+ **决策**:
219
+ - 互动率最重要,>5% 优先考虑
220
+ - 粉丝数不是越多越好,100K-1M 性价比最高
221
+ - 看 totalVideos,少于 50 可能是新号或不稳定
222
+
223
+ ### 视频表现判断
224
+
225
+ **互动率**:
226
+ - Likes/Views >5% = 优秀
227
+ - Likes/Views 3-5% = 良好
228
+ - Likes/Views <3% = 一般
229
+
230
+ **评论率**:
231
+ - Comments/Views >0.5% = 高互动
232
+ - Comments/Views <0.2% = 低互动
233
+
234
+ **购买意向信号(从 comments)**:
235
+ - "Where to buy" / "Link?" = 强购买意向
236
+ - "I need this" / "Ordering now" = 已转化
237
+ - "@朋友" 标记 = 传播潜力
238
+
239
+ ### 产品趋势判断
240
+
241
+ **强趋势信号**:
242
+ - ✅ trending 中有 3+ 个视频推同一产品
243
+ - ✅ 搜索该产品,有 10+ 个带货视频
244
+ - ✅ 评论区高频询问购买链接
245
+ - ✅ Amazon 有对应产品且评论数 >100
246
+
247
+ **弱信号/风险**:
248
+ - ⚠️ 只有 1-2 个视频,可能是偶然
249
+ - ⚠️ 评论区负面反馈多
250
+ - ⚠️ Amazon 没有对应产品(难转化)
251
+ - ⚠️ 视频播放高但无产品链接(纯内容向,不好变现)
252
+
253
+ ## 重要提醒
254
+
255
+ 1. **Region 很重要**:美国和英国的趋势完全不同,务必指定 `--region` 匹配目标市场
256
+ 2. **Time Period 选择**:
257
+ - `24h` - 抓最新趋势,但可能是昙花一现
258
+ - `7d` - 稳定趋势,最推荐
259
+ - `30d` - 长期趋势,但可能已经过时
260
+ 3. **--has-product 筛选**:找产品机会必须加这个参数,否则很多纯内容向视频
261
+ 4. **Engagement Rate > Follower Count**:小网红高互动比大V低互动效果好
262
+ 5. **跨 Skill 联动**:TikTok 发现趋势 → scout 验证市场 → scout supplier-search 找供应商,这是完整链路
@@ -1 +1 @@
1
- {"version":3,"file":"headless.d.ts","sourceRoot":"","sources":["../../../src/ui/headless.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAUV,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAG7B;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA8jB/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"}
1
+ {"version":3,"file":"headless.d.ts","sourceRoot":"","sources":["../../../src/ui/headless.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAUV,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAG7B;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAylB/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"}
@@ -1,5 +1,6 @@
1
1
  import { createInterface } from "readline";
2
2
  import { ConversationManager } from "./conversation-manager.js";
3
+ import { getUserRole } from "./user-role.js";
3
4
  /**
4
5
  * Headless 模式 - 参数化版本
5
6
  *
@@ -16,8 +17,31 @@ export async function startHeadlessMode(options) {
16
17
  function generateRequestId() {
17
18
  return `ask_question_${Date.now()}_${++requestIdCounter}`;
18
19
  }
19
- // canUseTool 回调:处理 AskUserQuestion 工具
20
+ // canUseTool 回调:处理权限检查和 AskUserQuestion 工具
20
21
  const canUseTool = async (toolName, input, conversationId) => {
22
+ // 读取用户角色(使用缓存,高性能)
23
+ const userRole = getUserRole();
24
+ const isMerchant = userRole === 'merchant' || userRole === 'admin';
25
+ // 检查 Bash 工具(拦截商户 CLI)
26
+ if (toolName === "Bash" && !isMerchant) {
27
+ const command = input.command || '';
28
+ // 只拦截 commerce 和 bi-cli 两个 CLI
29
+ const merchantCLIRegex = /\b(commerce|bi-cli)\b/;
30
+ if (merchantCLIRegex.test(command)) {
31
+ return {
32
+ behavior: "deny",
33
+ message: `抱歉,商铺管理功能需要先创建商铺。
34
+
35
+ 您可以点击左侧导航栏的 "Shop" 图标,按照引导创建您的商铺。
36
+ 创建完成后,我就可以帮您管理商品、订单、评论、库存等功能了!
37
+
38
+ 目前您可以使用:
39
+ - 图像生成(comfy 工具)
40
+ - Amazon 商品调研(scout 工具)
41
+ - 视频处理(ffmpeg 工具)`,
42
+ };
43
+ }
44
+ }
21
45
  if (toolName === "AskUserQuestion") {
22
46
  // 生成唯一 request_id
23
47
  const requestId = generateRequestId();
@@ -1 +1 @@
1
- {"version":3,"file":"headless.js","sourceRoot":"","sources":["../../../src/ui/headless.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"headless.js","sourceRoot":"","sources":["../../../src/ui/headless.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * 获取当前用户角色
3
+ * 数据源:~/.optima/token.json(使用 60 秒缓存)
4
+ *
5
+ * @returns 'customer' | 'merchant' | 'admin'
6
+ */
7
+ export declare function getUserRole(): string;
8
+ /**
9
+ * 清除角色缓存(用于测试)
10
+ */
11
+ export declare function clearUserRoleCache(): void;
12
+ //# sourceMappingURL=user-role.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-role.d.ts","sourceRoot":"","sources":["../../../src/ui/user-role.ts"],"names":[],"mappings":"AAWA;;;;;GAKG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAmDpC;AAWD;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAGzC"}
@@ -0,0 +1,74 @@
1
+ import { readFileSync, existsSync } from "fs";
2
+ import { join } from "path";
3
+ import { homedir } from "os";
4
+ const TOKEN_FILE = join(homedir(), '.optima', 'token.json');
5
+ // 角色缓存
6
+ let cachedUserRole = null;
7
+ let cacheTimestamp = 0;
8
+ const CACHE_TTL = 60000; // 60秒缓存
9
+ /**
10
+ * 获取当前用户角色
11
+ * 数据源:~/.optima/token.json(使用 60 秒缓存)
12
+ *
13
+ * @returns 'customer' | 'merchant' | 'admin'
14
+ */
15
+ export function getUserRole() {
16
+ const now = Date.now();
17
+ // 使用缓存(60秒内有效)
18
+ if (cachedUserRole && (now - cacheTimestamp) < CACHE_TTL) {
19
+ return cachedUserRole;
20
+ }
21
+ // 读取 token.json
22
+ try {
23
+ if (!existsSync(TOKEN_FILE)) {
24
+ console.warn('[getUserRole] token.json not found, defaulting to customer');
25
+ return cacheAndReturn('customer');
26
+ }
27
+ const content = readFileSync(TOKEN_FILE, 'utf-8');
28
+ if (!content || content.trim() === '') {
29
+ console.warn('[getUserRole] token.json is empty, defaulting to customer');
30
+ return cacheAndReturn('customer');
31
+ }
32
+ let token;
33
+ try {
34
+ token = JSON.parse(content);
35
+ }
36
+ catch (parseError) {
37
+ console.error('[getUserRole] Failed to parse token.json:', parseError);
38
+ return cacheAndReturn('customer');
39
+ }
40
+ const role = token?.user?.role;
41
+ // 类型验证
42
+ if (typeof role !== 'string') {
43
+ console.warn('[getUserRole] Invalid role type:', typeof role);
44
+ return cacheAndReturn('customer');
45
+ }
46
+ // 白名单验证
47
+ const validRoles = ['customer', 'merchant', 'admin'];
48
+ if (!validRoles.includes(role)) {
49
+ console.warn('[getUserRole] Invalid role value:', role);
50
+ return cacheAndReturn('customer');
51
+ }
52
+ return cacheAndReturn(role);
53
+ }
54
+ catch (error) {
55
+ console.error('[getUserRole] Unexpected error:', error);
56
+ return cacheAndReturn('customer');
57
+ }
58
+ }
59
+ /**
60
+ * 缓存角色并返回
61
+ */
62
+ function cacheAndReturn(role) {
63
+ cachedUserRole = role;
64
+ cacheTimestamp = Date.now();
65
+ return role;
66
+ }
67
+ /**
68
+ * 清除角色缓存(用于测试)
69
+ */
70
+ export function clearUserRoleCache() {
71
+ cachedUserRole = null;
72
+ cacheTimestamp = 0;
73
+ }
74
+ //# sourceMappingURL=user-role.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-role.js","sourceRoot":"","sources":["../../../src/ui/user-role.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAE7B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;AAE5D,OAAO;AACP,IAAI,cAAc,GAAkB,IAAI,CAAC;AACzC,IAAI,cAAc,GAAW,CAAC,CAAC;AAC/B,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,QAAQ;AAEjC;;;;;GAKG;AACH,MAAM,UAAU,WAAW;IACzB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEvB,eAAe;IACf,IAAI,cAAc,IAAI,CAAC,GAAG,GAAG,cAAc,CAAC,GAAG,SAAS,EAAE,CAAC;QACzD,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,gBAAgB;IAChB,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;YAC3E,OAAO,cAAc,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAElD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;YAC1E,OAAO,cAAc,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,KAAK,CAAC;QACV,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,UAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,UAAU,CAAC,CAAC;YACvE,OAAO,cAAc,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC;QAE/B,OAAO;QACP,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,kCAAkC,EAAE,OAAO,IAAI,CAAC,CAAC;YAC9D,OAAO,cAAc,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC;QAED,QAAQ;QACR,MAAM,UAAU,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC,mCAAmC,EAAE,IAAI,CAAC,CAAC;YACxD,OAAO,cAAc,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC;QAED,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;IAE9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;QACxD,OAAO,cAAc,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,IAAY;IAClC,cAAc,GAAG,IAAI,CAAC;IACtB,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC5B,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,cAAc,GAAG,IAAI,CAAC;IACtB,cAAc,GAAG,CAAC,CAAC;AACrB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@optima-chat/optima-agent",
3
- "version": "0.5.12",
3
+ "version": "0.7.0",
4
4
  "description": "基于 Claude Agent SDK 的电商运营 AI 助手",
5
5
  "type": "module",
6
6
  "main": "dist/src/index.js",