主动式 AI Agent · 自我进化

不用催,它自己会干活没事的时候,也不来打扰

Rna 常驻在你的项目里。你不在时它接着排查,查出东西才来找你;你指出一次问题,它就记成一条规则,以后自己检查。

交互演示

HUD 重设计~/ink-bird

待命

把 HUD 上的分数改醒目点,一眼就能看到。

接着聊,或者随时改主意…

它在想什么

每次有动静都先快速判断,再决定要不要请大模型出手

    主动协作

    大部分时候,它选择不出声

    项目里一有动静,Rna 就会想一想:接着等、动手干、跟你说一声,还是记下来。切换下面的状态试试,看看哪些会受影响、哪些不会。

    等待
    29
    干活
    6
    汇报
    4
    学习
    1
    等待干活汇报学习

    已经告诉你

    • 暂时没什么要说的。

    先压着

      不按次数说话

      说不说,看这次有没有真东西,也看你以前对类似消息的反应。

      你在忙,它只是先不说

      打字、专心干活、免打扰,都只会让消息晚点到;后台该查的照样在查。

      没人理的事,下次更难再提

      你一直没回应的话题,下次得有更充分的理由才会再说;你回复处理了,这件事就翻篇。

      刚查过的不再查一遍

      动手之前先问一句:这是不是在重复刚做完的检查?之后没有新变化,就不再花这份钱。

      你不在的时候

      关掉窗口,Rna 也没闲着。下面是一次后台工作的完整经过。

      发现异常

      构建后自动截图对比,发现 390px 宽度下画面变了。有凭有据,不是瞎猜。

      发现

      截图对比 · 390 × 844

      HUD 分数和 foreground/reeds.png 重叠了 38%

      foreground/reeds.pngz-index 25
      hud/score-badgez-index 20
      world/backgroundz-index 0

      来源:构建后自动截图 · 4 分钟前

      自己去查

      在沙箱里把问题复现出来。动过的每个文件都留了底,一键就能还原。

      后台任务

      在 390px 下复现并排查层级

      1. 启动预览 127.0.0.1:5173
      2. 分别截 390 和 430 两种宽度
      3. 对比 z-index:HUD 是 20,芦苇是 25
      4. 整理成报告 hud-layering-report.md
      在沙箱中运行 · 改了 1 个文件

      等你回来再说

      你回来时,按事情归好类给你看;不重要的放进收件箱,不打断你手头的事。

      你不在时发生的事3 件事
      1. 1HUD 被芦苇挡住只有 390px 宽度会这样,430px 以上正常,报告已经写好。
      2. 2低端机卡顿Redmi 9 关掉透明排序后,帧率回到 52fps。
      3. 3素材清理 · 已免打扰两个没用到的 ogg 文件,下次清理时删掉。

      说到做到

      答应过的事都记在账上:对谁说的、什么时候交。到没到期,看实际进展来定。

      答应过的事
      • 把 HUD 挪到芦苇上面,再补一张 390px 截图

        你交代的 · 已超时 3 小时

      • 关掉透明排序后,在 Redmi 9 上重新测帧率

        Rna 答应的 · 3 小时后到期

      放手让它改,随时能退回来

      子代理和后台各自在独立的工作树里动手,改完再合并回项目;每一轮都留检查点,一键整轮回退,而且它会记住你退回了什么。

      worker · 调整 HUD 层级

      在自己的工作树里改
      • src/hud.css
      • src/reeds.js

      worker · 补 390px 说明

      在自己的工作树里改
      • docs/hud.md
      • src/hud.css

      项目文件夹

      • src/hud.css
      • src/reeds.js你未提交的改动
      • docs/hud.md

      自我进化

      说一次就记住,还会自己检查

      Rna 每次只改一个“基因”:一条约束、一段技能说明,或一个检查脚本。挑一句纠正试试,看它怎么归类、怎么验证,最后长到项目的基因树上。

      挑一句纠正

      JEV 归类

      能直接从文件里查出来吗?-.--
      会改变做事的方法吗?-.--

      验证关卡

      1. 程序自检
      2. 改动复核
      3. 实地试跑
      4. 试用观察

      第 7 代

      画像提示词技能工具守卫标准7
      已生效试用中已停用

      点树上任意一个节点,看看它记了什么

      先花小钱做判断,再让大模型动笔

      “是不是”“选哪个”“打几分”这类问题,交给 JEV 就够了。它是专门做判断的模型,只答选择题,从不写长文。大模型只在真要动笔的时候才上场。

      查看实测数据和提问技巧
      ≈1/1000
      相当于大模型的成本每百万输入 token 约 0.042 美元,输出不收钱
      ≈200ms
      一次判断的耗时还没开始写,答案就已经有了
      282ms
      一次答完 20 个问题拆成 20 次分别问,要 4.6 秒

      以上数据来自 2026 年 10 月 2 日对 jev-1.13.0 的实测。

      桌面、命令行、代码,用的是同一个后台

      • 桌面版

        macOS(Apple 芯片)安装包,Node 和后台服务都已内置。关掉窗口,后台照样干活。

      • CLI

        和桌面版连的是同一个后台。在终端里开的对话,回到桌面能接着聊。

      • Rna SDK

        自研执行内核,不依赖任何第三方运行库。会话、工具、技能、MCP、主动循环,都能单独拿来用。

      终端
      # 交给系统托管,关了终端也照常运行./rna service start# 一个目录就是一个项目,重复打开会沿用原来的./rna project-open ~/code/ink-bird./rna chat --project PROJECT_ID# 看看后台在忙什么,需要的话给它换个方向./rna background PROJECT_ID./rna background PROJECT_ID steer ACTION_ID --text '先核对官方来源'
      example-rna.mjs
      const session = await createSession({  sessionId: 'hud', projectId: 'ink-bird', cwd, stateDir, model,  tools: await createWorkspaceTools(cwd, { deniedPaths: [stateDir] }),});const running = session.prompt('检查 390px 下的 HUD 层级');await session.steer('先看低端机');            // 在下一个安全节点生效await session.followUp('结束后补一张截图');    // 这一轮结束后接着做await running;

      现状

      已经能做的,和还没做到的

      每次发版都附带验收记录,没通过的也照实写出来。

      现在就能用

      • macOS 安装包(Apple 芯片与 Intel),每次发布都在对应系统上启动验证
      • 17 个服务预设,可以直接用 ChatGPT 订阅登录
      • 子代理和后台在独立工作树里改,合并回项目,每一轮都能整轮回退
      • 记忆可选内置本地记忆(无需 Docker)或 OpenViking 语义记忆,服务不可用会直接报错,不糊弄
      • 技能和 MCP 按项目安装,聊天时让它自己装也行
      • 后台命令跑在 macOS 沙箱里,改动一键还原
      • 支持应用更新、恢复点和离线数据还原

      还没做到

      • 还没有 Developer ID 签名、Apple 公证和自动更新
      • Windows 与 Linux 桌面版是预览,没有代码签名
      • 密钥存在本机的 0600 权限文件里,还没接入系统钥匙串
      • 前台命令和 MCP 只做了应用层限制,不是系统级沙箱
      • Claude 只能用 API Key 接入,Anthropic 不允许第三方使用订阅

      让项目自己转起来

      项目、对话和密钥都留在你自己的电脑上。接上你常用的模型服务,几分钟就能开第一个项目。