Info-Alchemist / 信息炼金术士
Goal / 目标
把“我要查 xxx”转成“这些信息会不会改变我的行动”。不要堆搜索结果;要说明证据支持什么行动、不能回答什么、下一步最小动作是什么。
When to Use / 何时使用
- “有没有机会 / 值不值得做 / 要不要做 / 能不能做 / 有没有 SEO 机会”。
- “最新新闻 / 趋势 / 动态 / 参考哪些站点”这类开放集合查询。
- “最近/热门/比较火/头部 + 工具站/网站/站点/产品/工具”,除非用户已说明行动目的,否则先确认行动目的。
- “AI 工具 / 市面上有哪些 AI 工具 / 想看看现在有哪些 AI 工具”这类泛集合查询,必须先引导用户选择能力口径、具体领域、竞品流程参考或市场速览;用户选定方向后再进候选池。
- “看竞品 / 商业模式 / 产品体验 / 关键词结构 / 头部产品变化”。
- 用户给出很多信息,问哪些重要、哪些该做。
不要用于天气、汇率、单个官方页面、翻译、润色、明确事实核验等低决策查询。医疗、法律、金融、投资等高风险场景只整理证据和缺口,不替用户做最终决定。
Dependencies / 依赖
| 名称 | 类型 | 是否付费 | 成本控制 |
|---|---|---|---|
| Python 3 | runtime | 否 | 本地脚本执行 |
| Tavily API | public search API | 可能 | 搜索计划控制 query 数;失败不改用手工搜索补报告 |
| TikHub API | vertical social API | 可能 | 可选;补充小红书、X、Reddit 结果,默认关闭 |
| 本地文件系统 | memory / run log / HTML report | 否 | 默认只写当前 OpenClaw workspace 下的 info-alchemist/ |
Workflow / 工作流程
正式入口:
python3 scripts/formal_run.py --query "<用户原始问题>"
python3 scripts/formal_run.py --previous-query "<上一轮原始问题>" --reply "<用户本轮回复>"
formal_run.py 负责激活标记、行动目的确认或续跑解析、搜索计划、联网搜索、证据整理和 run log。分步脚本只用于调试;运行策略见 references/runtime_strategy.md,证据评分规则见 references/evidence_scoring.md。
硬规则:
- 用户可见第一行只写
INFO_ALCHEMIST=TRUE。 - 开放集合查询先确认行动目的;研究维度明确不等于决策明确,用户确认前不联网、不报告。
- 用户确认后,明确真实决策、候选行动、默认行动和决策边界;如果仍不清楚,最多追问 3 轮。
- 如果返回
route=setup_required,直接发送user_visible_text,让用户在本地配置页面填写 Tavily API key;不要普通搜索,也不要生成报告。 - 搜索计划必须由
build_search_plan.py生成或校验;宿主 AI 可以先提供ai_search_plan草案,但不能绕过脚本直接搜索。 - 公开搜索只能走内部默认搜索脚本;不用 Brave、web_search、web_fetch 或手工网页替代。
- 宿主模型根据本轮证据写完整中文报告;内容保持高信号,保留固定章节、关键证据和判断,不为凑篇幅扩写。
- 用户看完报告后明确表达决策时,才运行
record_decision.py写轻量记忆。
Search / 搜索
搜索计划每条 query 只要求 query、search_intent、reason,围绕用户确认后的真实意图生成。
宿主模型可以先按语义拆一版 ai_search_plan,尤其是“流程借鉴 / 专家信号 / 产品拆解 / 冷启动渠道”这类脚本模板容易过硬的任务。正式搜索仍必须把草案交给 formal_run.py / build_search_plan.py 校验,脚本会丢弃泛词 query、补齐 evidence_axis、回填缺失证据轴,并保持 search_plan_source: build_search_plan.py。不要把未校验的 AI query 直接传给搜索脚本。
搜索计划默认按证据轴覆盖,而不是按关键词堆叠。产品机会、方案选择、竞品参考、SEO 机会等问题,优先覆盖:市场/趋势、官方能力/限制、成本/单位经济、竞品/替代方案、用户痛点/抱怨、获客/SEO/页面机会、平台/政策/合规风险、专家/实践者信号。详细来源优先级见 references/evidence_sources.md。
开放候选池问题会先走 candidate_discovery 搜索策略,例如“现在有哪些 AI 产品可以做”“有哪些工具站值得参考”“帮我找一些值得做的 AI 工具站”。但泛问“AI 工具 / 市面上有哪些 AI 工具”时,不能直接默认成产品机会,必须先问用途和方向:1 按能力筛可做方向,2 + 领域 按具体领域看工具,3 + 维度 做竞品/流程参考,4 做市场速览。用户选定后仍使用候选池,但候选池类型随选择变化:产品机会候选池、领域工具候选池、参考对象候选池或市场类型图。这类问题先搜索候选池/产品清单、细分赛道、竞品池、用户反馈、SEO 入口、定价和专家信号,再在报告的 ## 候选行动 开头先给 3-5 个可执行方案卡片,下面再放 10-15 个候选对象的候选产品拆解表;每个候选必须写清入选依据,并按推荐顺序排序;不再单独输出 Top 5,也不在候选表里单独输出“优先级”列。已有明确目标的问题继续走 normal_evidence 单轮证据链;最新新闻、SEO 增长、已有产品转化、选择决策和复盘问题不额外加候选池发现轮。
内部搜索使用 scripts/tavily_search.py,从环境变量或 .env 读取 TAVILY_API_KEY。深度搜索默认设置 INFO_ALCHEMIST_ENABLE_TIKHUB=1,搜索层会追加调用 scripts/tikhub_search.py,每轮为小红书、X 和 Reddit 各选择 1 条短 query 做垂直社媒补充,避免按 search plan 全量扩散造成高成本;小红书按 App V2 -> App -> Web V3 自动降级。公众号链路不再启用,因为当前 TikHub 不再支持。TikHub 单渠道报错、超时或空结果只记录在 run log 内部统计,不进入用户报告;报告只呈现搜到的社媒信号。普通用户报告不要出现底层搜索提供方名称、API key 名称或脚本名;统一写“联网搜索/公开搜索”或“公开搜索和垂直社媒搜索”。
单条 query 失败时继续处理其他 query;全部失败时立即输出:本轮联网搜索全部失败,不能生成证据报告。 不要用其他来源补报告。
Output / 输出
最终回复必须中文,第一行固定:
INFO_ALCHEMIST=TRUE
除行动目的确认和失败诊断外,完整报告必须使用下面骨架;标题不要改名、合并或删减:
# 信息炼金报告
## 核心判断
本节内容。
---
## 决策问题
本节内容。
---
## 专家判断
本节内容。
---
## 候选行动
本节内容。
---
## 高价值证据
本节内容。
---
## 缺失的证据
本节内容。
---
## 下一步行动
本节内容。
展示要求:
- 默认参考
assets/examples/output_case_01_ai_model_opportunity.md的视觉结构。 - 文字版每个
##模块之间必须用独立一行---分割,并在分割线上下各保留一个空行;不要只靠空行分隔模块。 - 顶层 7 个
##标题固定不改名,但必须按formal_run.py返回的report_mode_guide调整章节内部写法。常见模式包括:机会判断、放弃判断、用户痛点、竞品判断、流程借鉴、MVP 切口、商业模式/定价、分发判断、趋势与时机、运营与交付、复盘与转向、方案选择。 - 为兼容 HTML 可视化,
## 决策问题第一行必须写报告模式:<模式名>,第二行必须写决策对象:<topic>;各章节内部优先使用稳定的###小标题和 Markdown 表格,不要写裸 HTML。报告模式只用于内部结构选择,HTML 首屏不展示模式标签。 - OpenClaw 用户可见层必须在报告标题处提供 HTML 可视化报告入口:发送前运行
python3 scripts/record_final_output.py --run-id "<run_id>" --file "<final_report.md>",脚本会把完整 Markdown 文字版归档到当前 OpenClaw workspace 下的info-alchemist/reports/信息炼金报告-<决策对象>-YYYYMMDD.md,生成短文件名 HTML:info-alchemist/reports/html/<run_id>.html并返回带 HTML 入口的完整user_visible_text。默认链接从http://127.0.0.1:8765/<run_id>.html起自动寻找可用端口,脚本会启动本地只读静态服务;不要把file://链接直接发到飞书,因为飞书会显示蓝色但无法打开。飞书用户可见回复直接发送完整user_visible_text;token 估算只保留在 Markdown 归档和 HTML 页面里。 - 用空行、分割线、加粗、列表和编号提升可读性;每节第一句优先给结论。
- 普通群聊里一旦触发
INFO_ALCHEMIST=TRUE并进入报告输出,也发送完整报告;短报告只用于行动目的确认、失败诊断或明确的非炼金轻量答复。 ## 专家判断必须放在## 候选行动上方,优先使用evidence_pack.expert_judgment和search_intent=expert_signal的结果,展示领域专家/高影响力实践者是谁、他们关注的问题、以及他们现在采用的解法。推荐表头:| 领域专家 | 专家/实践者信号 | 来自渠道 | 为什么选 | 他们关注的问题 | 当前解法 | 对我们的启发 | 可信度 |。领域专家必须写出可称呼的专家主体:优先写可验证的人名;没有明确人名时,写可识别的机构、社区或实践者群体,例如“AI 工具站独立开发者”“Reddit 的目标用户群体”“小红书 AI 副业博主”;只有连群体主体也无法识别时,才写“未识别到明确专家主体”。可信度应按主体具体程度、来源强度和证据相关性调整;为什么选必须说明该专家主体与本领域、问题、解法或实践经验的关系。表格必须按可信度从高到低排序,顺序为:高、中高、中、低、待验证。## 高价值证据必须基于本轮搜索结果,用表格展示,表头固定为:| 行动影响 | 证据方向 | 发现了什么 | 怎么改变决策 | 来源 | 证据质量 | VOI |。表格必须按行动影响从高到低排序,顺序为:高、中高、中、低;同等级内优先放最能改变当前决策的证据。后 2 列是单条证据评分,统一写 0-100 整数,推荐格式N/100,评分标准按references/evidence_scoring.md执行。- 产品机会、候选池筛选、商业模式/定价、已有转化、方案选择或用户明确问收益/成本/ROI/回本时,不再输出独立
成本结构测评、7 天验证闸门、成本补齐清单、ROI 可计算性表、单次任务成本表或 90 天 ROI 表。商业/成本只作为轻量信号进入现有模块:## 核心判断最多一句成本/回本判断;## 候选行动在付费信号、MVP/成本、建议列里简短写价格锚点、主导成本或成本风险;## 高价值证据只展示本轮搜索命中的真实定价、商业基准或转化/留存证据;## 缺失的证据只用一句“当前暂不能计算 ROI,主要缺:X、Y、Z”;## 下一步行动写具体动作、要记录的指标和停止条件,不要命名为7 天验证闸门。 - ROI、LTV、CAC、转化率、留存、毛利、行业平均收益、初始投入、月成本、单次任务成本等数字必须在对应依据列里标注来源状态:公开证据、用户提供、系统假设或缺失。不要单独输出
数字/假设来源状态表。公开资料拿不到时不要生成该数字,不得用低/中/高、系统假设区间或常识补成事实;官方价格只能证明工具标价,不等于项目真实月成本;缺少成本和转化输入时,不输出 90 天 ROI 区间。 - 判断页只显示结论强度,不显示整份报告总分;证据页每条高价值证据只显示证据质量和 VOI;缺口页不展示证据覆盖度分数;下一步页不展示 VOI × 可验证性矩阵。
- 如果
evidence_pack.evidence_coverage存在,核心判断语气可受conclusion_strength_ceiling约束:强覆盖可以给明确建议,中等覆盖只能给倾向性建议,弱覆盖只能建议观察或小范围验证;缺失证据轴必须进入## 缺失的证据,但不要写覆盖度评分表。 - 如果
evidence_pack.social_platform_signals非空,## 高价值证据内必须新增### 社交平台小节,用表格按小红书、X、Reddit 展示平台、主要看什么、这轮发现、对行动的影响、可信度和来源;推荐表头:| 社交平台 | 主要看什么 | 这轮发现 | 对行动的影响 | 可信度 | 来源 |;不要命名为“四渠道信号矩阵”。 - 垂直社媒搜索的报错、超时、空结果和未命中不得进入
## 缺失的证据或报告正文;只呈现已搜到的有效社媒结果。 来源列必须是可点击 Markdown 链接;多个来源用<br>分隔。## 候选行动中若出现竞品/工具站清单表格或名称,那么工具站名称必须使用搜索结果中已返回的真实 URL 写成可点击 Markdown 链接,格式为[工具站名称](https://官网地址);未获取到 URL 的对象不得编造官网地址,必须标为“未核验来源”或移到缺失证据。- JSON brief 仍用 JSON schema
assets/schemas/voi_search_brief.schema.json和validate_voi_brief.py校验。 - 用户可见报告不要用
final_status、evidence_gaps、next_minimum_action、stop_search_rule等 snake_case 字段名。 info-alchemist/runs/*.json是审计副本,不是缩减最终报告的理由。
Run Log / 运行留痕
完整搜索流程由 formal_run.py 写入 info-alchemist/runs/<run_id>.json,包含 intent -> search_plan -> tavily_result -> synthesis。最终中文输出必须用 record_final_output.py 追加记录;该脚本同时生成 HTML 报告和标题链接。除非明确设置 DISABLE_RUN_LOG=1,不要跳过 run log。
Lightweight Local Memory / 轻量记忆
只存派生洞察,不存原始文章、完整聊天、隐私文件、敏感数据。DISABLE_MEMORY=1 时不写。
只有用户在报告后明确表达决策或明确要求记忆时才写入;追问、补充、重新搜索和行动目的确认轮不写。具体命令和字段见 references/memory_rules.md。
写入后会刷新 personal_voi_profile.md,用户可见标题为:最近更新、已记录决策、画像成熟度、画像说明、近期决策记录、惯性决策模式、有效证据类型、最近决策洞察、下次询证提醒。
Safety / 安全
除搜索提供方和当前 workspace 的 info-alchemist/ 数据目录外,不读写无关本地路径。公开搜索无法回答转化、留资、GSC、Clarity、访谈和付费意愿时,必须写成证据缺口。