@optima-chat/optima-agent 0.9.60 → 0.9.62
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.
|
@@ -8,8 +8,15 @@ description: "基于 IPD 方法论的产品研究全生命周期工具。在 ~/k
|
|
|
8
8
|
## 启动 SOP
|
|
9
9
|
|
|
10
10
|
1. 检查 `~/kb/product-research/` 是否存在
|
|
11
|
-
- 不存在 → 执行 `Skill("initializing-kb")` 创建 KB,**名称必须是 `product-research`**,不要复用其他已有 KB
|
|
12
|
-
|
|
11
|
+
- 不存在 → 执行 `Skill("initializing-kb")` 创建 KB,**名称必须是 `product-research`**,不要复用其他已有 KB。然后只复制以下 4 个模板文件(不要复制 `*-template.md` 文件):
|
|
12
|
+
```
|
|
13
|
+
cp template/kb/AGENTS.md ~/kb/product-research/AGENTS.md
|
|
14
|
+
cp template/kb/wiki/entities/seller-profile.md ~/kb/product-research/wiki/entities/seller-profile.md
|
|
15
|
+
cp template/kb/wiki/overview/roadmap.md ~/kb/product-research/wiki/overview/roadmap.md
|
|
16
|
+
cp template/kb/wiki/overview/cbb.md ~/kb/product-research/wiki/overview/cbb.md
|
|
17
|
+
```
|
|
18
|
+
- **必须询问用户填写 seller-profile.md 的关键字段**(至少:主营市场、目标价位、最低毛利率、最低净利率、单品启动预算)。
|
|
19
|
+
=== CRITICAL: 用户说的数值是什么就填什么,禁止自行调整。用户说"毛利率50%"就填50%,不要改成30%或40%。===
|
|
13
20
|
2. 检查 `wiki/entities/seller-profile.md` 是否已填写关键字段
|
|
14
21
|
- 未填写 → 必须询问(不能跳过关键字段:最低毛利率、最低净利率、单品启动预算)
|
|
15
22
|
3. 读取 `~/kb/product-research/wiki/entities/seller-profile.md` + `~/kb/product-research/index.md` + `~/kb/product-research/wiki/overview/roadmap.md` + `~/kb/product-research/wiki/overview/cbb.md`
|
|
@@ -157,14 +157,19 @@
|
|
|
157
157
|
## 第三步:数据分析
|
|
158
158
|
|
|
159
159
|
=== GATE CHECK ===
|
|
160
|
-
|
|
160
|
+
运行以下命令:
|
|
161
161
|
```
|
|
162
|
-
cache_count=$(ls ~/.scout/cache/{project}/ | wc -l)
|
|
163
|
-
raw_count=$(ls ~/kb/product-research/raw/ | wc -l)
|
|
164
|
-
|
|
162
|
+
cache_count=$(ls ~/.scout/cache/{project}/ 2>/dev/null | wc -l)
|
|
163
|
+
raw_count=$(ls ~/kb/product-research/raw/ 2>/dev/null | wc -l)
|
|
164
|
+
sources_count=$(ls ~/kb/product-research/wiki/sources/ 2>/dev/null | wc -l)
|
|
165
|
+
echo "cache: $cache_count, raw: $raw_count, sources: $sources_count"
|
|
165
166
|
```
|
|
166
|
-
|
|
167
|
-
-
|
|
167
|
+
三个条件全部满足才能继续:
|
|
168
|
+
- raw_count >= cache_count(缓存文件已复制到 raw/)
|
|
169
|
+
- sources_count >= raw_count(每个 raw 文件有对应的 source 页)
|
|
170
|
+
- 三者都 > 0
|
|
171
|
+
|
|
172
|
+
**任一条件不满足 → STOP。返回第二步执行 Ingest(cp → `Skill("ingesting-sources")` → `Skill("updating-related-pages")`)。**
|
|
168
173
|
=== END GATE CHECK ===
|
|
169
174
|
|
|
170
175
|
**所有分析数据必须通过 `Skill("querying-the-wiki")` 从 KB 查询,禁止直接读 `~/.scout/cache/` 中的 JSON 文件。**
|
|
@@ -138,11 +138,11 @@ review 通过后再烧字幕:
|
|
|
138
138
|
video-edit subtitle <video>
|
|
139
139
|
```
|
|
140
140
|
|
|
141
|
-
### Banner
|
|
141
|
+
### Banner(顶部持续标语横幅)
|
|
142
142
|
|
|
143
|
-
|
|
143
|
+
视频顶部持续显示 4-12 字大字标题,牌匾风(深酒红实心底色块 + 米白思源黑体加粗 72pt)。
|
|
144
144
|
|
|
145
|
-
|
|
145
|
+
**这是默认动作,不是可选**:subtitle 跑完后,**主动**走以下 4 步,不要等用户开口要求。唯一跳过条件——Step 1 判脸贴顶;或用户初始 prompt 已明确说"不要标题/不要 banner"。
|
|
146
146
|
|
|
147
147
|
#### Step 1:判断是否适合加 banner
|
|
148
148
|
|
package/dist/bin/banner-tool.js
CHANGED
|
@@ -2,15 +2,16 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* banner-tool inject <ass-path> --text <文本> --duration <秒> [options]
|
|
4
4
|
*
|
|
5
|
-
* 在 ASS 字幕文件里注入"顶部持续 banner Style + Dialogue"(
|
|
5
|
+
* 在 ASS 字幕文件里注入"顶部持续 banner Style + Dialogue"(牌匾风)。
|
|
6
6
|
*
|
|
7
|
-
* 视觉:深酒红 #
|
|
7
|
+
* 视觉:深酒红 #5A1414 实心底色块 + 米白 #F5F5F5 思源黑体加粗 72pt
|
|
8
|
+
* + 8pt 内 padding + Layer 1 在主字幕之上 + 0s 持续到结束。
|
|
8
9
|
* 幂等:重跑 Style 不重复添加,Dialogue 替换。
|
|
9
10
|
*/
|
|
10
11
|
import { readFileSync, writeFileSync, existsSync, renameSync } from 'fs';
|
|
11
12
|
import { tmpdir } from 'os';
|
|
12
13
|
import { join } from 'path';
|
|
13
|
-
const KAIPAI_BANNER_STYLE = 'Style: Banner,Source Han Sans SC,
|
|
14
|
+
const KAIPAI_BANNER_STYLE = 'Style: Banner,Source Han Sans SC,72,&H00F5F5F5,&H00F5F5F5,&H0014145A,&H00000000,1,0,0,0,100,100,2,0,3,8,0,8,90,90,60,1';
|
|
14
15
|
function parseArgs(argv) {
|
|
15
16
|
// 全局 --help / -h
|
|
16
17
|
if (argv.includes('--help') || argv.includes('-h')) {
|
|
@@ -104,11 +105,11 @@ function injectBanner(args) {
|
|
|
104
105
|
content = content.replace(/(\[V4\+ Styles\][\s\S]*?)(\n\n\[Events\])/, `$1\n${KAIPAI_BANNER_STYLE}$2`);
|
|
105
106
|
styleAdded = true;
|
|
106
107
|
}
|
|
107
|
-
// 2. Dialogue 替换或附加
|
|
108
|
+
// 2. Dialogue 替换或附加 — 实心红底牌匾,无 ━ 装饰
|
|
108
109
|
const wrapped = wrapText(args.text);
|
|
109
110
|
const startTime = fmtAssTime(args.start);
|
|
110
111
|
const endTime = fmtAssTime(args.start + args.duration);
|
|
111
|
-
const newDialogue = `Dialogue: 1,${startTime},${endTime},Banner,,
|
|
112
|
+
const newDialogue = `Dialogue: 1,${startTime},${endTime},Banner,,90,90,60,,${wrapped}`;
|
|
112
113
|
if (/^Dialogue: \d+,[^,]+,[^,]+,Banner,/m.test(content)) {
|
|
113
114
|
content = content.replace(/^Dialogue: \d+,[^,]+,[^,]+,Banner,[^\n]+/m, newDialogue);
|
|
114
115
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"banner-tool.js","sourceRoot":"","sources":["../../bin/banner-tool.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"banner-tool.js","sourceRoot":"","sources":["../../bin/banner-tool.ts"],"names":[],"mappings":"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"}
|