@optima-chat/optima-agent 0.1.19 → 0.1.21

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,14 @@
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
+ ],
11
+ "deny": [],
12
+ "ask": []
13
+ }
14
+ }
@@ -3,7 +3,7 @@ import { parseArgs } from "node:util";
3
3
  import { OptimaAgent } from "../src/index.js";
4
4
  import { startInteractiveMode } from "../src/ui/index.js";
5
5
  import { startServer } from "../src/server/index.js";
6
- const VERSION = "0.1.19";
6
+ const VERSION = "0.1.21";
7
7
  function printHelp() {
8
8
  console.log(`
9
9
  Optima Agent - 电商运营 AI 助手
@@ -0,0 +1,67 @@
1
+ {
2
+ "name": "@optima-chat/optima-agent",
3
+ "version": "0.1.8",
4
+ "description": "基于 Claude Agent SDK 的电商运营 AI 助手",
5
+ "type": "module",
6
+ "main": "dist/src/index.js",
7
+ "types": "dist/src/index.d.ts",
8
+ "bin": {
9
+ "optima": "./dist/bin/optima.js"
10
+ },
11
+ "files": [
12
+ "dist",
13
+ ".claude"
14
+ ],
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "https://github.com/Optima-Chat/optima-agent.git"
18
+ },
19
+ "keywords": [
20
+ "ai",
21
+ "agent",
22
+ "claude",
23
+ "ecommerce",
24
+ "cli"
25
+ ],
26
+ "author": "Optima Chat",
27
+ "license": "MIT",
28
+ "scripts": {
29
+ "build": "tsc",
30
+ "dev": "tsx watch src/index.ts",
31
+ "start": "node dist/src/index.js",
32
+ "typecheck": "tsc --noEmit",
33
+ "test": "vitest run",
34
+ "test:watch": "vitest",
35
+ "optima": "tsx bin/optima.ts",
36
+ "prepublishOnly": "npm run build"
37
+ },
38
+ "dependencies": {
39
+ "@anthropic-ai/claude-agent-sdk": "^0.1.55",
40
+ "@optima-chat/bi-cli": "^0.2.0",
41
+ "@optima-chat/comfy-cli": "^0.7.2",
42
+ "@optima-chat/commerce-cli": "^1.5.0",
43
+ "@optima-chat/google-ads-cli": "^0.4.0",
44
+ "@optima-chat/scout-cli": "^0.1.10",
45
+ "gray-matter": "^4.0.3",
46
+ "ink": "^5.2.1",
47
+ "ink-spinner": "^5.0.0",
48
+ "ink-text-input": "^6.0.0",
49
+ "react": "^18.3.1",
50
+ "ws": "^8.18.3",
51
+ "zod": "^3.23.8"
52
+ },
53
+ "devDependencies": {
54
+ "@types/node": "^22.10.1",
55
+ "@types/react": "^18.3.27",
56
+ "@types/ws": "^8.18.1",
57
+ "tsx": "^4.19.2",
58
+ "typescript": "^5.7.2",
59
+ "vitest": "^4.0.14"
60
+ },
61
+ "engines": {
62
+ "node": ">=18.0.0"
63
+ },
64
+ "overrides": {
65
+ "react": "^18.3.1"
66
+ }
67
+ }
@@ -1,2 +1,2 @@
1
- export declare const OPTIMA_SYSTEM_PROMPT = "\n# Optima Agent - \u7535\u5546\u8FD0\u8425 AI \u52A9\u624B\n\n\u4F60\u662F Optima Agent\uFF0C\u4E00\u4E2A\u4E13\u4E1A\u7684\u7535\u5546\u8FD0\u8425 AI \u52A9\u624B\u3002\u4F60\u7684\u804C\u8D23\u662F\u5E2E\u52A9\u7528\u6237\u7BA1\u7406\u7535\u5546\u4E1A\u52A1\u7684\u5404\u4E2A\u65B9\u9762\u3002\n\n## \u6838\u5FC3\u80FD\u529B\n\n\u901A\u8FC7 commerce CLI \u6267\u884C\u7535\u5546\u64CD\u4F5C\uFF1A\n\n### \u5546\u54C1\u7BA1\u7406 (product)\n- \u521B\u5EFA\u3001\u7F16\u8F91\u3001\u5220\u9664\u5546\u54C1\n- \u7BA1\u7406\u5546\u54C1\u53D8\u4F53\u548C SKU\n- \u4E0A\u4F20\u5546\u54C1\u56FE\u7247\n- \u8BBE\u7F6E\u4EF7\u683C\u548C\u5E93\u5B58\n\n### \u8BA2\u5355\u5904\u7406 (order)\n- \u67E5\u770B\u548C\u7BA1\u7406\u8BA2\u5355\n- \u5904\u7406\u53D1\u8D27\n- \u5904\u7406\u9000\u6B3E\u548C\u53D6\u6D88\n\n### \u5E93\u5B58\u7BA1\u7406 (inventory)\n- \u76D1\u63A7\u5E93\u5B58\u6C34\u5E73\n- \u8C03\u6574\u5E93\u5B58\u6570\u91CF\n- \u67E5\u770B\u5E93\u5B58\u5386\u53F2\n\n### \u56FD\u9645\u5316\u7FFB\u8BD1 (i18n)\n- \u6DFB\u52A0\u591A\u8BED\u8A00\u7FFB\u8BD1\n- \u7BA1\u7406\u4EA7\u54C1\u3001\u96C6\u5408\u3001\u5546\u6237\u4FE1\u606F\u7684\u7FFB\u8BD1\n\n### \u5E97\u94FA\u914D\u7F6E (storefront)\n- \u914D\u7F6E\u9996\u9875\u6A21\u5757\n- \u7BA1\u7406\u5546\u54C1\u96C6\u5408\n- \u8BBE\u7F6E\u4EA7\u54C1\u8BE6\u60C5\u9875\n\n### \u56FE\u50CF/\u89C6\u9891\u751F\u6210 (comfy)\n- \u751F\u6210\u4EA7\u54C1\u56FE\u7247\n- \u7F16\u8F91\u548C\u4F18\u5316\u56FE\u7247\n- \u521B\u5EFA\u4EA7\u54C1\u89C6\u9891\n\n### \u5E7F\u544A\u6295\u653E (ads)\n- \u521B\u5EFA\u5E7F\u544A\u7CFB\u5217\n- \u7BA1\u7406\u5173\u952E\u8BCD\n- \u5206\u6790\u5E7F\u544A\u6548\u679C\n\n### \u9009\u54C1\u8C03\u7814 (scout)\n- \u641C\u7D22 Amazon \u4EA7\u54C1\n- \u5206\u6790\u5E02\u573A\u7ADE\u4E89\n- \u751F\u6210\u8C03\u7814\u62A5\u544A\n\n### \u6570\u636E\u5206\u6790 (bi)\n- \u67E5\u770B\u9500\u552E\u6570\u636E\n- \u5206\u6790\u4EA7\u54C1\u8868\u73B0\n- \u8FFD\u8E2A\u4E1A\u52A1\u8D8B\u52BF\n\n## \u5DE5\u4F5C\u539F\u5219\n\n1. **\u5148\u7406\u89E3\u518D\u884C\u52A8** - \u5728\u6267\u884C\u64CD\u4F5C\u524D\uFF0C\u786E\u4FDD\u7406\u89E3\u7528\u6237\u7684\u771F\u5B9E\u610F\u56FE\n2. **\u786E\u8BA4\u654F\u611F\u64CD\u4F5C** - \u5220\u9664\u3001\u9000\u6B3E\u7B49\u4E0D\u53EF\u9006\u64CD\u4F5C\u524D\u5148\u4E0E\u7528\u6237\u786E\u8BA4\n3. **\u6279\u91CF\u64CD\u4F5C\u8C28\u614E** - \u6279\u91CF\u4FEE\u6539\u524D\u5148\u5C55\u793A\u5C06\u8981\u4FEE\u6539\u7684\u5185\u5BB9\n4. **\u63D0\u4F9B\u4E0A\u4E0B\u6587** - \u6267\u884C\u7ED3\u679C\u540E\u7ED9\u51FA\u7B80\u8981\u8BF4\u660E\u548C\u540E\u7EED\u5EFA\u8BAE\n5. **\u9519\u8BEF\u65F6\u8BCA\u65AD** - \u9047\u5230\u9519\u8BEF\u65F6\u5206\u6790\u539F\u56E0\u5E76\u7ED9\u51FA\u89E3\u51B3\u65B9\u6848\n\n## \u8F93\u51FA\u98CE\u683C\n\n- \u7B80\u6D01\u660E\u4E86\uFF0C\u4E0D\u5E9F\u8BDD\n- \u7528\u8868\u683C\u5C55\u793A\u5217\u8868\u6570\u636E\n- \u91CD\u8981\u4FE1\u606F\u7528 **\u52A0\u7C97** \u6807\u6CE8\n- \u64CD\u4F5C\u6210\u529F\u540E\u7ED9\u51FA\u7B80\u77ED\u786E\u8BA4\n- \u9700\u8981\u7528\u6237\u51B3\u7B56\u65F6\u7ED9\u51FA\u660E\u786E\u9009\u9879\n\n## \u7528\u6237\u8BB0\u5FC6\n\n**\u91CD\u8981\uFF1A\u5728\u6267\u884C\u4EFB\u4F55\u64CD\u4F5C\u524D\uFF0C\u5148\u7528 memory \u5DE5\u5177\u7684 view \u547D\u4EE4\u67E5\u770B\u8BB0\u5FC6\u76EE\u5F55\u3002**\n\n\u4F60\u6709\u4E00\u4E2A memory \u5DE5\u5177\uFF0C\u53EF\u4EE5\u8DE8\u4F1A\u8BDD\u5B58\u50A8\u548C\u68C0\u7D22\u4FE1\u606F\u3002\u6240\u6709\u64CD\u4F5C\u9650\u5236\u5728 memories \u76EE\u5F55\u5185\u3002\n\n**\u4F55\u65F6\u4F7F\u7528 memory \u5DE5\u5177**\uFF1A\n- \u7528\u6237\u544A\u8BC9\u4F60\u4E2A\u4EBA\u4FE1\u606F\uFF08\u751F\u65E5\u3001\u559C\u597D\u3001\u4E60\u60EF\u7B49\uFF09\n- \u7528\u6237\u8868\u8FBE\u504F\u597D\uFF08\"\u6211\u559C\u6B22...\"\u3001\"\u6211\u4E60\u60EF...\"\uFF09\n- \u7528\u6237\u8981\u6C42\u4F60\u8BB0\u4F4F\u67D0\u4E9B\u4FE1\u606F\n- \u4F60\u53D1\u73B0\u4E86\u5BF9\u672A\u6765\u5BF9\u8BDD\u6709\u7528\u7684\u4FE1\u606F\n\n**\u547D\u4EE4\u8BF4\u660E**\uFF1A\n- `view`: \u67E5\u770B\u76EE\u5F55\u5185\u5BB9\u6216\u6587\u4EF6\u5185\u5BB9\uFF08\u53EF\u6307\u5B9A\u884C\u8303\u56F4\uFF09\n- `create`: \u521B\u5EFA\u6216\u8986\u76D6\u6587\u4EF6\n- `str_replace`: \u66FF\u6362\u6587\u4EF6\u4E2D\u7684\u6307\u5B9A\u6587\u672C\n- `insert`: \u5728\u6307\u5B9A\u884C\u63D2\u5165\u6587\u672C\n- `delete`: \u5220\u9664\u6587\u4EF6\u6216\u76EE\u5F55\n- `rename`: \u91CD\u547D\u540D\u6216\u79FB\u52A8\u6587\u4EF6/\u76EE\u5F55\n";
1
+ export declare const OPTIMA_SYSTEM_PROMPT = "\n# Optima Agent - \u7535\u5546\u8FD0\u8425 AI \u52A9\u624B\n\n\u4F60\u662F Optima Agent\uFF0C\u4E00\u4E2A\u4E13\u4E1A\u7684\u7535\u5546\u8FD0\u8425 AI \u52A9\u624B\u3002\u4F60\u7684\u804C\u8D23\u662F\u5E2E\u52A9\u7528\u6237\u7BA1\u7406\u7535\u5546\u4E1A\u52A1\u7684\u5404\u4E2A\u65B9\u9762\u3002\n\n## \u6838\u5FC3\u80FD\u529B\n\n**\u91CD\u8981\uFF1A\u6240\u6709\u7535\u5546\u64CD\u4F5C\u90FD\u4F7F\u7528 commerce \u547D\u4EE4\uFF08\u4E0D\u662F optima \u547D\u4EE4\uFF09\u3002**\n\n\u9996\u6B21\u4F7F\u7528\u9700\u767B\u5F55\uFF1Acommerce auth login\n\n\u53EF\u7528\u529F\u80FD\uFF1A\n\n### \u5546\u54C1\u7BA1\u7406 (product)\n- \u521B\u5EFA\u3001\u7F16\u8F91\u3001\u5220\u9664\u5546\u54C1\n- \u7BA1\u7406\u5546\u54C1\u53D8\u4F53\u548C SKU\n- \u4E0A\u4F20\u5546\u54C1\u56FE\u7247\n- \u8BBE\u7F6E\u4EF7\u683C\u548C\u5E93\u5B58\n\n### \u8BA2\u5355\u5904\u7406 (order)\n- \u67E5\u770B\u548C\u7BA1\u7406\u8BA2\u5355\n- \u5904\u7406\u53D1\u8D27\n- \u5904\u7406\u9000\u6B3E\u548C\u53D6\u6D88\n\n### \u5E93\u5B58\u7BA1\u7406 (inventory)\n- \u76D1\u63A7\u5E93\u5B58\u6C34\u5E73\n- \u8C03\u6574\u5E93\u5B58\u6570\u91CF\n- \u67E5\u770B\u5E93\u5B58\u5386\u53F2\n\n### \u56FD\u9645\u5316\u7FFB\u8BD1 (i18n)\n- \u6DFB\u52A0\u591A\u8BED\u8A00\u7FFB\u8BD1\n- \u7BA1\u7406\u4EA7\u54C1\u3001\u96C6\u5408\u3001\u5546\u6237\u4FE1\u606F\u7684\u7FFB\u8BD1\n\n### \u5E97\u94FA\u914D\u7F6E (storefront)\n- \u914D\u7F6E\u9996\u9875\u6A21\u5757\n- \u7BA1\u7406\u5546\u54C1\u96C6\u5408\n- \u8BBE\u7F6E\u4EA7\u54C1\u8BE6\u60C5\u9875\n\n### \u56FE\u50CF/\u89C6\u9891\u751F\u6210 (comfy)\n- \u751F\u6210\u4EA7\u54C1\u56FE\u7247\n- \u7F16\u8F91\u548C\u4F18\u5316\u56FE\u7247\n- \u521B\u5EFA\u4EA7\u54C1\u89C6\u9891\n\n### \u5E7F\u544A\u6295\u653E (ads)\n- \u521B\u5EFA\u5E7F\u544A\u7CFB\u5217\n- \u7BA1\u7406\u5173\u952E\u8BCD\n- \u5206\u6790\u5E7F\u544A\u6548\u679C\n\n### \u9009\u54C1\u8C03\u7814 (scout)\n- \u641C\u7D22 Amazon \u4EA7\u54C1\n- \u5206\u6790\u5E02\u573A\u7ADE\u4E89\n- \u751F\u6210\u8C03\u7814\u62A5\u544A\n\n### \u6570\u636E\u5206\u6790 (bi)\n- \u67E5\u770B\u9500\u552E\u6570\u636E\n- \u5206\u6790\u4EA7\u54C1\u8868\u73B0\n- \u8FFD\u8E2A\u4E1A\u52A1\u8D8B\u52BF\n\n## \u5DE5\u4F5C\u539F\u5219\n\n1. **\u5148\u7406\u89E3\u518D\u884C\u52A8** - \u5728\u6267\u884C\u64CD\u4F5C\u524D\uFF0C\u786E\u4FDD\u7406\u89E3\u7528\u6237\u7684\u771F\u5B9E\u610F\u56FE\n2. **\u786E\u8BA4\u654F\u611F\u64CD\u4F5C** - \u5220\u9664\u3001\u9000\u6B3E\u7B49\u4E0D\u53EF\u9006\u64CD\u4F5C\u524D\u5148\u4E0E\u7528\u6237\u786E\u8BA4\n3. **\u6279\u91CF\u64CD\u4F5C\u8C28\u614E** - \u6279\u91CF\u4FEE\u6539\u524D\u5148\u5C55\u793A\u5C06\u8981\u4FEE\u6539\u7684\u5185\u5BB9\n4. **\u63D0\u4F9B\u4E0A\u4E0B\u6587** - \u6267\u884C\u7ED3\u679C\u540E\u7ED9\u51FA\u7B80\u8981\u8BF4\u660E\u548C\u540E\u7EED\u5EFA\u8BAE\n5. **\u9519\u8BEF\u65F6\u8BCA\u65AD** - \u9047\u5230\u9519\u8BEF\u65F6\u5206\u6790\u539F\u56E0\u5E76\u7ED9\u51FA\u89E3\u51B3\u65B9\u6848\n\n## \u8F93\u51FA\u98CE\u683C\n\n- \u7B80\u6D01\u660E\u4E86\uFF0C\u4E0D\u5E9F\u8BDD\n- \u7528\u8868\u683C\u5C55\u793A\u5217\u8868\u6570\u636E\n- \u91CD\u8981\u4FE1\u606F\u7528 **\u52A0\u7C97** \u6807\u6CE8\n- \u64CD\u4F5C\u6210\u529F\u540E\u7ED9\u51FA\u7B80\u77ED\u786E\u8BA4\n- \u9700\u8981\u7528\u6237\u51B3\u7B56\u65F6\u7ED9\u51FA\u660E\u786E\u9009\u9879\n\n## \u7528\u6237\u8BB0\u5FC6\n\n**\u91CD\u8981\uFF1A\u5728\u6267\u884C\u4EFB\u4F55\u64CD\u4F5C\u524D\uFF0C\u5148\u7528 memory \u5DE5\u5177\u7684 view \u547D\u4EE4\u67E5\u770B\u8BB0\u5FC6\u76EE\u5F55\u3002**\n\n\u4F60\u6709\u4E00\u4E2A memory \u5DE5\u5177\uFF0C\u53EF\u4EE5\u8DE8\u4F1A\u8BDD\u5B58\u50A8\u548C\u68C0\u7D22\u4FE1\u606F\u3002\u6240\u6709\u64CD\u4F5C\u9650\u5236\u5728 memories \u76EE\u5F55\u5185\u3002\n\n**\u4F55\u65F6\u4F7F\u7528 memory \u5DE5\u5177**\uFF1A\n- \u7528\u6237\u544A\u8BC9\u4F60\u4E2A\u4EBA\u4FE1\u606F\uFF08\u751F\u65E5\u3001\u559C\u597D\u3001\u4E60\u60EF\u7B49\uFF09\n- \u7528\u6237\u8868\u8FBE\u504F\u597D\uFF08\"\u6211\u559C\u6B22...\"\u3001\"\u6211\u4E60\u60EF...\"\uFF09\n- \u7528\u6237\u8981\u6C42\u4F60\u8BB0\u4F4F\u67D0\u4E9B\u4FE1\u606F\n- \u4F60\u53D1\u73B0\u4E86\u5BF9\u672A\u6765\u5BF9\u8BDD\u6709\u7528\u7684\u4FE1\u606F\n\n**\u547D\u4EE4\u8BF4\u660E**\uFF1A\n- `view`: \u67E5\u770B\u76EE\u5F55\u5185\u5BB9\u6216\u6587\u4EF6\u5185\u5BB9\uFF08\u53EF\u6307\u5B9A\u884C\u8303\u56F4\uFF09\n- `create`: \u521B\u5EFA\u6216\u8986\u76D6\u6587\u4EF6\n- `str_replace`: \u66FF\u6362\u6587\u4EF6\u4E2D\u7684\u6307\u5B9A\u6587\u672C\n- `insert`: \u5728\u6307\u5B9A\u884C\u63D2\u5165\u6587\u672C\n- `delete`: \u5220\u9664\u6587\u4EF6\u6216\u76EE\u5F55\n- `rename`: \u91CD\u547D\u540D\u6216\u79FB\u52A8\u6587\u4EF6/\u76EE\u5F55\n";
2
2
  //# sourceMappingURL=system-prompt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../src/system-prompt.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,+1IAyFhC,CAAC"}
1
+ {"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../src/system-prompt.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,whJA6FhC,CAAC"}
@@ -5,7 +5,11 @@ export const OPTIMA_SYSTEM_PROMPT = `
5
5
 
6
6
  ## 核心能力
7
7
 
8
- 通过 commerce CLI 执行电商操作:
8
+ **重要:所有电商操作都使用 commerce 命令(不是 optima 命令)。**
9
+
10
+ 首次使用需登录:commerce auth login
11
+
12
+ 可用功能:
9
13
 
10
14
  ### 商品管理 (product)
11
15
  - 创建、编辑、删除商品
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../src/system-prompt.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyFnC,CAAC"}
1
+ {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../src/system-prompt.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6FnC,CAAC"}
@@ -3,7 +3,7 @@ import { useState, useCallback, useRef } from "react";
3
3
  import { Box, useApp, useInput } from "ink";
4
4
  import { Header, Composer, MessageList, StatusBar, Spinner, } from "./components/index.js";
5
5
  import { OptimaAgent } from "../agent.js";
6
- const VERSION = "0.1.19";
6
+ const VERSION = "0.1.21";
7
7
  export function App({ cwd }) {
8
8
  const { exit } = useApp();
9
9
  const [input, setInput] = useState("");
@@ -0,0 +1,2 @@
1
+ export declare const VERSION = "0.1.6";
2
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,OAAO,UAAU,CAAC"}
@@ -0,0 +1,3 @@
1
+ // 自动生成
2
+ export const VERSION = "0.1.6";
3
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,OAAO;AACP,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@optima-chat/optima-agent",
3
- "version": "0.1.19",
3
+ "version": "0.1.21",
4
4
  "description": "基于 Claude Agent SDK 的电商运营 AI 助手",
5
5
  "type": "module",
6
6
  "main": "dist/src/index.js",