返回资源广场

Skills 资源 / 技能包

running-dream-cycle

跑 GBrain 的 dream cycle 离线维护循环,触发 16 phase 的 enrichment 与 cross-session 整合。Use when 需要手动跑 gbrain dream 让 brain 自我整理、预览 16 个 phase 的调度清单、配置 synthesize 语料目录、理解为何 fresh brain 首次 dream 无变化、或验证 dream 幂等性时。涵盖两个 API key(DashScope embed + Anthropic synthesize/patterns/propose_takes)、dry-run 预览、真跑与耗时、16 phase 语义、idempotent 机制;不含把 dream 注册成后台守护进程(见 scheduling-brain-autopilot)。

SKILL.md 技能文档

能力目标

让 Agent 手动跑一次 dream cycle——brain 的离线维护循环、一次 blocking single-run 跑完 16 个 phase——完成 embedding、fact 抽取、cross-session 整合(synthesize → reflections → patterns)等,并能预览调度、读懂各 phase 状态、判断哪些「无产出」是设计预期、验证 dream 可安全重复调度。

前置

  • brain 已 import。dream 对 brain 已有内容做整合(synthesize / patterns),不拉取外部数据;对页面事实的补全(extract_facts / propose_takes / consolidate)也在同一个 dream 命令里一并完成。
  • 两个 API key:DASHSCOPE_API_KEY(embed phase)、ANTHROPIC_API_KEY(synthesize / patterns / propose_takes 三个 LLM phase 走 Anthropic Claude、不是 DashScope)。
  • brain 目录必须是 git repo(sync phase 要求)。
  • gbrain 命令用 timeout -k 5 300 gbrain dream ... 包裹(LLM phase 可能较慢、留足超时;exit 124 正常)。

实操流程

  1. 导两个 key,brain 目录 git init:

    export DASHSCOPE_API_KEY="<你的 DashScope key>"
    export ANTHROPIC_API_KEY="<你的 Anthropic key>"
    cd "$BRAIN_DIR" && git init && git add . && git commit -m "brain state for dream"
    
  2. 配置 synthesize 的语料目录——synthesize phase 不读 DB、直接读文件系统上的原始 transcript(需要完整对话原文、不是 chunk 片段):

    gbrain config set dream.synthesize.session_corpus_dir "$BRAIN_DIR/meetings/"
    
  3. dry-run 预览 16 phase 调度(不写入、不消耗 LLM quota):

    timeout -k 5 60 gbrain dream --dry-run --json --dir "$BRAIN_DIR/"
    

    canonical 16 phase 顺序:lint → backlinks → sync → synthesize → extract → extract_facts → resolve_symbol_edges → patterns → recompute_emotional_weight → consolidate → propose_takes → grade_takes → calibration_profile → embed → orphans → purge。其中只有 synthesize、patterns、propose_takes 三个走 Anthropic,其余是本地规则计算或 DashScope embedding。

  4. 记录 baseline 后真跑:

    timeout -k 5 60 gbrain get 'people/lena-kovac' > /tmp/baseline.txt 2>&1
    timeout -k 5 300 gbrain dream --json --dir "$BRAIN_DIR/" > /tmp/dream.json 2>&1; cat /tmp/dream.json
    timeout -k 5 60 gbrain get 'people/lena-kovac' > /tmp/after.txt 2>&1
    diff /tmp/baseline.txt /tmp/after.txt
    

    JSON summary 的 status: partial 不是错误——只表示有 phase 被 skip 或 warn(synthesize 需 corpus dir、patterns 需 ≥3 reflections、orphans 是 audit)。非 LLM phase 个位数毫秒,最慢是 propose_takes(扫全部 page,首次约数秒到 20s+)。

  5. 验证幂等:再跑一次,行为应一致:

    timeout -k 5 120 gbrain dream --json --dir "$BRAIN_DIR/"
    # sync +0 added / embed 0 newly embedded / patterns 0 reflections —— 与首次一致
    

校验回路

  • dry-run 输出 16 个 phase 的计划状态;真跑的 JSON phases 字段有 16 个 key。
  • 真跑 status 为 partial 或 ok,其中 ≥11 个 phase status=ok(synthesize / patterns / calibration_profile 在数据不足时 skip 是预期)。
  • 第二次 dream 的 totals 与第一次一致(synth_pages=0 patterns=0 embedded=0 等相同),证明幂等。

常见陷阱

  • fresh / stub brain 首次 dream 的 diff 为空、这是成功不是坏了:page 内容太薄时 extract_facts 抽不出埋藏事实、propose_takes 找不到值得提议的 take。被动复利是渐进的、需要时间维度累积(多次 import、更多 wikilink、更多 timeline 条目后 diff 才逐渐显现),不是一次性爆发。
  • 没有 gbrain enrich 命令:enrichment 是 structural requirement、无手动触发入口,全部行为通过 dream 驱动、用户无机会误用。
  • synthesize FAIL / skip:skip 是没配 session_corpus_dir;FAIL 多是 Anthropic 用量超限(该 phase 硬编码 Anthropic Haiku 做 verdict + Sonnet 做 synthesis、不支持切换 provider)。patterns 需 synthesize 先产出 ≥3 reflection 才触发,二者有严格输入输出依赖。
  • git log 不出现 dream auto-commit:当且仅当 synthesize / patterns 产生了新 markdown 文件,sync phase 才自动 commit。fresh brain 首次 dream 不产新文件 → 不 commit,属预期。
  • embed 报缺 key:daemon 场景下 export 不生效——但手动跑用 export 即可;embed 缺 DASHSCOPE_API_KEY、propose_takes 缺 ANTHROPIC_API_KEY。

适用范围与前置条件

  • brain 已 import。dream 对 brain 已有内容做整合(synthesize / patterns),不拉取外部数据;对页面事实的补全(extract_facts / propose_takes / consolidate)也在同一个 dream 命令里一并完成。
  • 两个 API key:DASHSCOPE_API_KEY(embed phase)、ANTHROPIC_API_KEY(synthesize / patterns / propose_takes 三个 LLM phase 走 Anthropic Claude、不是 DashScope)。
  • brain 目录必须是 git repo(sync phase 要求)。
  • gbrain 命令用 timeout -k 5 300 gbrain dream ... 包裹(LLM phase 可能较慢、留足超时;exit 124 正常)。

怎么使用

使用步骤

  1. 导两个 key,brain 目录 git init:

    export DASHSCOPE_API_KEY="<你的 DashScope key>"
    export ANTHROPIC_API_KEY="<你的 Anthropic key>"
    cd "$BRAIN_DIR" && git init && git add . && git commit -m "brain state for dream"
    
  2. 配置 synthesize 的语料目录——synthesize phase 不读 DB、直接读文件系统上的原始 transcript(需要完整对话原文、不是 chunk 片段):

    gbrain config set dream.synthesize.session_corpus_dir "$BRAIN_DIR/meetings/"
    
  3. dry-run 预览 16 phase 调度(不写入、不消耗 LLM quota):

    timeout -k 5 60 gbrain dream --dry-run --json --dir "$BRAIN_DIR/"
    

    canonical 16 phase 顺序:lint → backlinks → sync → synthesize → extract → extract_facts → resolve_symbol_edges → patterns → recompute_emotional_weight → consolidate → propose_takes → grade_takes → calibration_profile → embed → orphans → purge。其中只有 synthesize、patterns、propose_takes 三个走 Anthropic,其余是本地规则计算或 DashScope embedding。

  4. 记录 baseline 后真跑:

    timeout -k 5 60 gbrain get 'people/lena-kovac' > /tmp/baseline.txt 2>&1
    timeout -k 5 300 gbrain dream --json --dir "$BRAIN_DIR/" > /tmp/dream.json 2>&1; cat /tmp/dream.json
    timeout -k 5 60 gbrain get 'people/lena-kovac' > /tmp/after.txt 2>&1
    diff /tmp/baseline.txt /tmp/after.txt
    

    JSON summary 的 status: partial 不是错误——只表示有 phase 被 skip 或 warn(synthesize 需 corpus dir、patterns 需 ≥3 reflections、orphans 是 audit)。非 LLM phase 个位数毫秒,最慢是 propose_takes(扫全部 page,首次约数秒到 20s+)。

  5. 验证幂等:再跑一次,行为应一致:

    timeout -k 5 120 gbrain dream --json --dir "$BRAIN_DIR/"
    # sync +0 added / embed 0 newly embedded / patterns 0 reflections —— 与首次一致
    

继续探索

全部资源
Skills 资源 / 技能包

bootstrapping-deepagents-env

在一台干净机器上装好 DeepAgents 运行环境、接入一个 OpenAI 兼容大模型凭证,并跑通第一个 create_deep_agent 工具调用闭环。Use when 需要初始化 DeepAgents 开发环境、系统 Python 版本不达标装不上包、不确定装到了哪个版本、接 DeepSeek 之类国产模型报 ImportError 或 404 这类环境层故障时。涵盖解释器版本核对、虚拟环境置备、主包与提供方包安装、版本核验、凭证注入、最小示例验收;不含 Agent 各项能力的用法(见 tracking-task-progress-with-todos 等能力型 skill)。

Skills 资源 / 技能包

inspecting-agent-graph-and-tools

把一个 create_deep_agent 建出来的智能体拆开看:列出执行图节点、列出实际挂载的工具、捕获框架预装的中间件清单、抓取每轮真正发给模型的工具集。Use when 需要确认某项能力是否真的挂上了、排查「我的工具去哪了 / 这些工具哪来的 / 内置工具到底几个」、验证自定义中间件是否进了图、或要在改配置前后做结构对照时。涵盖图节点自省、工具清单反查、中间件清单捕获、编译期与运行期工具集差异;不含具体能力的用法。

Skills 资源 / 技能包

tracking-task-progress-with-todos

让智能体把多步任务拆成结构化待办清单写进状态,并从调用结果里取出清单、渲染成实时进度、兜底检测「勾完清单却没给答案」的失败形态。Use when 需要给长任务做进度面板、想稳定触发 write_todos、发现规划没被触发、或要把 todos 推给前端 UI 与日志时。涵盖稳定触发写法、取清单的两条路径、三态进度渲染、失败形态检测;不含子任务委派(见 delegating-subtasks-to-subagents)。