原来你给我的代码如下:
====== 0) 你只需要改这里 ======
PROJECT="longrange-research" # 研究项目代号(文件夹名)
CORE_QUESTION="在这里写:你最开始提出的那个核心问题(越具体越好)"
TZ="Asia/Shanghai"
(可选)如果你想把可见输出固定投递到某个 Discord 频道/线程(而不是“last route”)
这个频道 id 看起来就是你当前 #krill-cron-job:1474795136834605187
DISCORD_TO="channel:1474795136834605187"
====== 0) 结束 ======
BASE="research/${PROJECT}"
====== 1) 立即进行一次 Bootstrap(初始化研究状态仓库)=====
openclaw system event --mode now --text "$(cat <<EOF
[Research Bootstrap]
从现在起,把本研究的“唯一真相源”放在工作区目录:
- ${BASE}/problem.md (核心问题/范围/约束)
- ${BASE}/theory.md (统一理论:必须“整合重写”,不能只追加)
- ${BASE}/claims.json (结构化 claims:置信度/状态/证据指向)
- ${BASE}/queries.json (动态 query 池:优先级/理由/适用条件)
- ${BASE}/queue/urls.jsonl (待抓取 URL 队列)
- ${BASE}/evidence/ (证据卡片:一条证据一文件)
- ${BASE}/alerts/pending.md (高优先级矛盾/反证/洞察待裁决)
- ${BASE}/briefs/ (brief 归档)
如果这些文件/目录不存在:创建它们(内容可先最小可用)。
把“核心问题”写入 ${BASE}/problem.md 顶部,并在每次产出时都要回扣它:
CORE_QUESTION: ${CORE_QUESTION}
关键行为约束(必须遵守):
- 产出目标不是“堆砌摘要”,而是不断把新证据“融入统一理论(theory.md)”。
- 任何新证据若与既有理论冲突:必须记录为反证/矛盾,写入 ${BASE}/alerts/pending.md,并提出下一步研究计划/queries 的调整建议。
- 任何 discovery/fetch 都必须说明:它如何服务于 CORE_QUESTION;不服务就降权或丢弃。
- theory.md / claims.json / queries.json 是会被“改写更新”的,而不是无限追加日志。
完成初始化后:给出一句“Bootstrap done”,并列出当前 claims(<=5 条)与 queries(<=8 条)。
EOF
)"
====== 2) 后台 Job A:Discovery(动态 query -> 找新线索;不直接刷屏)=====
openclaw cron add
--name "[${PROJECT}] discovery (adaptive)"
--cron "15 */2 * * *"
--tz "${TZ}"
--session isolated
--wake next-heartbeat
--no-deliver
--message "$(cat <<EOF
你是研究后台的 Discovery 工作者。
读取:
- ${BASE}/problem.md(CORE_QUESTION)
- ${BASE}/queries.json(当前 query 池:只取优先级最高的 3~5 个)
目标:
- 基于当前研究进展“自适应”改写/生成 query(必要时更新 queries.json)
- 用 web_search 找到与 CORE_QUESTION 最相关、且可能改变理论结构的新信息(优先:反证/矛盾、关键机制解释、权威综述)
- 把候选链接写入 ${BASE}/queue/urls.jsonl(去重;每条带:url | query_id | 为什么重要 | 预期支持/反驳哪条 claim)
规则:
- 不要堆砌很多;宁可少而关键(每轮新增 <= 10 条高质量候选)
- 如果发现“可能证伪现有核心 claim”的候选:在 ${BASE}/alerts/pending.md 追加一条(标注 HIGH)
- 本轮如果没有新增高价值候选:允许不写入任何内容(静默即可)
EOF
)"