无人值守跑完整流程
Run a full pipeline unattended
定时或事件唤醒,从抓取一路做到发布与通知,中途不需要人盯着。
Woken by a schedule or an event, it goes from data collection all the way to publishing and notification without supervision.
一套自己拥有的本地 Agent 运行时:自研循环、可替换执行器、文件优先记忆、无人值守调度与代码化验收。
把记忆、权限、触发和验收握在自己手里,让 Agent 真的把事做完。
我原本已经有一个每天 23:00 自动发布技术趋势的流程:抓取、撰写、渲染、推送,步骤都是我自己定的。但它跑在哪、什么时候醒、记住了什么,全都挂在别人的运行时里。行为归我,运行时归厂商——这是"看起来很像自己的 Agent"和"真的是自己的 Agent"之间最常见的一条界线。
I already had a workflow that publishes a daily tech digest at 23:00: fetch, write, render, push, all steps defined by me. But where it ran, when it woke up and what it remembered all belonged to someone else's runtime. My behaviour, their runtime - that is the most common boundary between something that looks like my own agent and something that actually is.
RAG 不是"自己的"的来源。检索只是上下文装填手段:通用 Agent 读本地文件本身就是按需检索,在个人规模下往往比向量召回更准。真正属于自己的是四件事——记忆归你、权限归你、触发归你、验收标准归你。
RAG is not what makes an agent yours. Retrieval is just context filling: a general coding agent already reads local files on demand, which at personal scale is usually more accurate than vector recall. What is genuinely yours are four things - memory, permissions, triggers and acceptance criteria.
会话、记忆、调度和凭据都在别人的产品里,换一个工具就从零开始,历史也拿不回来。
Sessions, memory, scheduling and credentials live inside someone else's product; switching tools means starting over.
它只在你打开窗口、开口提问时干活。夜里该跑的东西,需要有人先想起它。
It only works when you open a window and type. Anything that should run overnight needs a human to remember it.
哪个任务能写哪些目录、能跑哪些命令、能不能联网,通常没有一处可审计的声明。
Which task may write where, run what, or reach the network is rarely declared in one auditable place.
输出合不合格由人翻一遍才知道;失败后是重跑、降级还是放弃,没有统一策略。
Whether an output is acceptable is decided by scrolling through it; whether a failure retries, degrades or aborts is ad hoc.
定时或事件唤醒,从抓取一路做到发布与通知,中途不需要人盯着。
Woken by a schedule or an event, it goes from data collection all the way to publishing and notification without supervision.
步骤、可用工具、可写路径、预算和降级策略写进一个任务文件,而不是散落在聊天记录里。
Steps, allowed tools, writable paths, budget and degradation policy live in one task file instead of scattered chat history.
每次运行的事实自动落盘并建索引,长期结论由人确认后才沉淀,可检索、可审计、可删除。
Facts from every run are stored and indexed automatically; long-term conclusions are human-confirmed, searchable, auditable and deletable.
同一份输入跑多条路线,比较成功率、可核验率、token 与耗时,而不是凭感觉选方案。
Run several routes over the same input and compare success rate, traceability, tokens and wall-clock instead of guessing.
Codex CLI、Claude Code、云端模型都只是可替换的执行器;调度、记忆和验收留在自己手里。
Codex CLI, Claude Code and cloud models are swappable executors; scheduling, memory and acceptance stay on your side.
每次运行都有台账:步骤、工具调用、token、耗时、失败分类与降级原因,回看就能定位。
Every run leaves a ledger: steps, tool calls, tokens, duration, failure class and degradation reasons.
内核是自己写的确定性循环,模型只是其中一层。任务声明式描述,工具按权限调用,产物经过代码化的验收标准才会落地。
The kernel is a deterministic loop I wrote; the model is only one layer inside it. Tasks are declared, tools are called under explicit permissions, and artifacts must pass acceptance criteria written in code.
以"每日技术趋势"为例,这是它每晚实际走过的路径。任何一步降级都会被记录,而不是悄悄糊过去。
Using the daily tech digest as the example, this is the path it actually walks every night. Every degradation is recorded rather than quietly smoothed over.
下面这组数字来自真实运行,不是设计文档里的估计。它同时解释了一个工程结论:一篇 20 条的双语稿件塞不进一次模型响应。
These numbers come from real runs, not estimates in a design document. They also explain one engineering conclusion: a 20-item bilingual article does not fit in a single model response.
标准库优先,不需要 Docker,也不需要额外服务。仓库里带一条真实任务(每日技术趋势)作为参考实现。
Standard library first: no Docker and no extra services. The repository ships one real task (the daily digest) as a reference implementation.
./agent doctor
./agent doctor
./agent run daily-trends --compose replay --dry-run
./agent run daily-trends --compose replay --dry-run
./agent experiment run daily-trends-compare --date 2026-09-22 --allow-llm
./agent experiment run daily-trends-compare --date 2026-09-22 --allow-llm
./agent status / runs / report <run_id>
./agent status / runs / report <run_id>