
字
字节笔记本
2026年9月24日 · 约 4 分钟读完
当 Agent 和界面共用同一套"动作":agent-native 框架解析
API中转
¥120
做 AI 产品的团队大多遇到过同一个别扭:Agent 在聊天框里干活,用户在另一个界面里看结果,两边对不上号。BuilderIO(做了多年组件工具的那家)开源的 agent-native 给出了一个干净的答案:把每个能力定义成一份"动作",Agent 把它当工具调,界面从代码调,一次定义,五路复用。项目目前 6.7 千 stars(TypeScript),刚登上 GitHub Trending。

核心思路:Agent 不该隔着聊天框干活
它的出发点是一个类比:编码 agent 之所以好用,是因为环境给了它上下文——文件、测试、预览都在手边。知识工作同样需要这样的环境,一个真正的 UI 能让人检查、编辑、批准、分享 agent 的产出。
实现上是三个"共享":
- 共享动作(Shared actions):agent 把每个能力当工具调用,UI 从代码调用同一条实现,校验、权限、逻辑完全一致;
- 共享数据:agent 干的活直接出现在界面里,界面里的改动 agent 也立刻可见;
- 共享应用状态:当前页面、选中的记录、激活的视图,这些 UI 状态会作为上下文喂给 agent。
作者有一句话概括得很准:Agent 不会去点你的界面,它和界面走的是同一层动作。
快速上手
bash
npx --yes @agent-native/core@latest create my-agent --standalone --template chat定义一个动作只需要一个文件:
ts
import { defineAction } from "@agent-native/core/action";
import { z } from "zod";
// 一个 action 同时供给 UI、agent、HTTP、MCP、A2A 和 CLI
export default defineAction({
description: "Return a friendly greeting.",
schema: z.object({
name: z.string().default("world").describe("Name to greet"),
}),
http: { method: "GET" },
run: async ({ name }) => {
return { message: `Hello, ${name}!` };
},
});写完这个文件,agent 立刻把 hello 当工具用,React 里用 useActionQuery 调同一个函数,HTTP、MCP、A2A、CLI 的暴露自动生成——不用为每个入口重写一遍。
开箱包含什么
- Agent 聊天:委托任务、提问、审阅结果都在同一个界面;
- 认证与权限:谁能看、谁能改共享的工作,有现成的控制;
- 技能与记忆:给 agent 可复用的专长和持久上下文;
- 自动化:按计划或事件触发 agent 工作;
- Agent 团队:把工作委派给同工作区或互联的专家 agent;
- PostgreSQL 后端:生产用 PostgreSQL,本地开发用 PGlite,任何 Nitro 兼容宿主都能部署。
LLM、数据库、工具和基础设施全部自带,你建的一切都归你。
适合谁用
- 想给产品加"agent 能力"的前端/全栈团队:与其从聊天框壳子攒起,不如直接在动作层上建;
- 做多 agent 产品的团队:agent teams、自动化、审批这套组件是现成的;
- BuilderIO 出品(builder.io 低代码团队,5963 个 commit 的成熟度摆在那里),社区模板里还有 Clips 会议记录这类完整示例 agent 可以抄。
一个定位提醒:它是应用框架,不是 agent 运行时——LLM 自己带(Bring your own LLM),它管的是 agent 和你的应用怎么共享动作、数据和状态。
仓库地址:github.com/BuilderIO/agent-native。
相关文章
分享:


