@optima-chat/optima-agent 0.8.101 → 0.8.103

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.
@@ -18,11 +18,34 @@ description: "将新素材收录到知识库。当用户说'收录这篇文章'
18
18
  - 多个 active → 根据用户问题匹配 `主题` + `说明` 字段;无法判断时列出让用户选
19
19
  4. 读 `~/kb/<slug>/AGENTS.md` 了解该 KB 的契约
20
20
 
21
+ ## 获取素材到 raw/
22
+
23
+ 用户可能通过以下方式提供素材:
24
+
25
+ - 本地文件路径 → `cp <path> ~/kb/<slug>/raw/<命名后的文件名>`
26
+ - URL → 下载到 `~/kb/<slug>/raw/`(用 WebFetch 或 curl)
27
+ - 直接贴图/附件 → 保存到 `~/kb/<slug>/raw/`
28
+
29
+ 文件命名规则:`YYYY-MM-DD-short-description.{ext}`,保留原始扩展名。
30
+
31
+ ## 按类型读取素材
32
+
33
+ | 类型 | 扩展名 | 读取方式 |
34
+ |------|--------|----------|
35
+ | 文本 | `.md` `.txt` | 直接读取 |
36
+ | PDF | `.pdf` | 直接读取(Claude 原生支持) |
37
+ | 图片 | `.png` `.jpg` `.webp` `.gif` | 用 Read 工具查看图片,生成文本描述 |
38
+ | 音频 | `.mp3` `.wav` `.m4a` | 加载 gen skill,调 ASR 转文字 |
39
+ | 视频 | `.mp4` `.mov` `.webm` | 加载 ffmpeg skill 提取音频 → ASR 转文字;提取关键帧 → 查看描述 |
40
+
41
+ 如果素材类型不在上表中,尝试直接读取;读不了就告诉用户不支持该格式。
42
+
21
43
  ## Ingest 流程
22
44
 
23
- 1. `~/kb/<slug>/raw/` 中定位来源文件
24
- 2. 仔细阅读来源,提取主要论点、证据、实体和开放问题
25
- 3. 在 `~/kb/<slug>/wiki/sources/` 中创建或更新对应页面
45
+ 1. 确认素材已在 `~/kb/<slug>/raw/` 中(如不在,先执行上方"获取素材"步骤)
46
+ 2. 按上方类型表读取素材内容
47
+ 3. 提取主要论点、证据、实体和开放问题
48
+ 4. 在 `~/kb/<slug>/wiki/sources/` 中创建或更新对应页面
26
49
  4. 列出哪些 entity、overview 和 analysis 页面受到影响
27
50
  5. 如果任务范围包含来源页之外的更新,交给 updating-related-pages 处理,或执行一次有边界的相关页更新
28
51
  6. 如果这个来源是首次进入 wiki,更新 `~/kb/<slug>/index.md` 和 `~/kb/<slug>/log.md`
@@ -34,6 +57,8 @@ description: "将新素材收录到知识库。当用户说'收录这篇文章'
34
57
  来源页应至少包含:
35
58
 
36
59
  - 来源标题
60
+ - 来源类型(文本 / 图片 / 音频 / 视频 / PDF)
61
+ - 原始文件路径(`raw/` 下的相对路径)
37
62
  - 简短摘要
38
63
  - 关键论点
39
64
  - 关键证据或观察
@@ -41,6 +66,8 @@ description: "将新素材收录到知识库。当用户说'收录这篇文章'
41
66
  - 对既有理解产生的冲突、修正或压力
42
67
  - 指向受影响页面的链接
43
68
 
69
+ 对于多媒体来源,描述就是 source page 的核心内容。如果描述不够准确,直接编辑 source page 或重新 ingest 即可——source page 是可变的,raw/ 里的原始文件才是不可变的。
70
+
44
71
  ## 抽取规则
45
72
 
46
73
  - 将来源明确表达的内容与综合推断区分开
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import "kb-skills/dist/src/cli.js";
3
+ //# sourceMappingURL=kb-skills.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kb-skills.d.ts","sourceRoot":"","sources":["../../bin/kb-skills.ts"],"names":[],"mappings":";AACA,OAAO,2BAA2B,CAAC"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import "kb-skills/dist/src/cli.js";
3
+ //# sourceMappingURL=kb-skills.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kb-skills.js","sourceRoot":"","sources":["../../bin/kb-skills.ts"],"names":[],"mappings":";AACA,OAAO,2BAA2B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@optima-chat/optima-agent",
3
- "version": "0.8.101",
3
+ "version": "0.8.103",
4
4
  "description": "基于 Claude Agent SDK 的电商运营 AI 助手",
5
5
  "type": "module",
6
6
  "main": "dist/src/index.js",
@@ -15,7 +15,8 @@
15
15
  "sentinel": "./dist/bin/sentinel.js",
16
16
  "shopify": "./dist/bin/shopify.js",
17
17
  "logistics": "./dist/bin/logistics.js",
18
- "browser-cli": "./dist/bin/browser-cli.js"
18
+ "browser-cli": "./dist/bin/browser-cli.js",
19
+ "kb-skills": "./dist/bin/kb-skills.js"
19
20
  },
20
21
  "files": [
21
22
  "dist",