Agent-Native:让 AI Agent 与专用 UI 无缝融合的 TypeScript 框架
Agent-Native 是一个开源 TypeScript 框架,用于构建将自主 Agent 能力与专用 UI 无缝融合的「agentic apps」。它解决了一个核心矛盾:传统 Agent 仅限于文本对话,而真实的工作环境需要上下文感知、持久状态、人机协作与可视化反馈。Agent-Native 通过「统一 action 层」让 AI Agent 和前端 UI 调用同一套能力,实现真正的端到端自动化。截至 2026-09-24,该项目已斩获 6,707 stars、605 forks,上线首日即登上 GitHub Trending,并受到开发者社区广泛认可。
核心能力与设计原则
Agent-Native 的设计哲学是「one action, every surface」——同一个 action,AI Agent 可以当工具调用,React UI 可以用 hook 调用,HTTP/MCP/A2A/CLI 全部共享同一套验证、权限和实现逻辑。
核心设计原则:
- Shared actions(共享 action):一次定义,Agent 和 UI 同时获得能力,无重复工作
- Shared data(共享数据):Agent 的工作结果直接出现在 UI,UI 的操作结果 Agent 也能读取
- Shared application state(共享状态):Agent 实时感知 UI 上下文(当前页面、选中记录、活跃视图)
- Agent 不操作 UI:Agent 通过 action 层工作,而非模拟点击——这是它与传统 browser agent 的本质区别
认可度
| 指标 | 数据 |
|---|---|
| GitHub Stars | 6,707(截至 2026-09-24) |
| Forks | 605 |
| 今日 Trending | ✅ 是(GitHub Trending 主页) |
| 所属组织 | BuilderIO(知名开源公司,旗下有 Mitosis、Partytown 等热门项目) |
| License | MIT |
链接
GitHub:https://github.com/BuilderIO/agent-native
官方文档:https://agent-native.com/docs
原作者
BuilderIO — 专注于让 Web 开发更高效的知名开源组织,旗下项目累计获得数万 stars,以架构设计精良著称。
介绍
Agent-Native 的起源非常务实:编码 Agent 有文件、测试、预览环境来展示能力,但知识工作型 Agent(如处理邮件、分析数据、生成内容)却缺少同样的可见性和控制力。Agent-Native 为此打造了一个完整的应用框架。
框架以 action 为核心原子单元。一个 action 包含描述(description)、输入 schema(Zod 校验)、运行逻辑(run 函数),同时声明 HTTP 方法、权限等元数据。定义一次,Agent 作为 tool 调用它,UI 通过 useActionQuery 调用它——两边完全对等。
框架内置六大功能模块:Agent Chat(人机对话界面)、Authentication & Permissions(权限控制)、Skills & Memory(Agent 专业能力与持久记忆)、Automations(定时/事件驱动任务)、Agent Teams(多 Agent 协作)、PostgreSQL Backend(生产级数据持久化)。开发者只需关注业务逻辑,基础设施全部由框架承担。
框架还提供了丰富的开箱即用 App 示例:Clips(会议录制理解)、Design(设计生成)、Slides(演示文稿)、Analytics(数据分析)、Calendar(日历)、Mail(邮件)等,覆盖知识管理的核心场景。
特点
- TypeScript 原生:完整类型安全,IDE 全链路补全
- 多端暴露:同一 action 自动支持 UI、Agent、HTTP、MCP、A2A、CLI 六个调用入口
- 无 UI 点击:Agent 通过 action 层工作,结果可审计、可回滚,与真实用户操作等效
- 开箱即用的 App Gallery:9 个生产级示例应用,可直接使用或二次开发
- NPM 生态:一行命令创建项目
npx @agent-native/core@latest create my-agent --standalone --template chat - PostgreSQL 生产就绪:生产环境用 PostgreSQL,本地开发用 PGlite,数据层无需额外适配
使用方法
安装
npx --yes @agent-native/core@latest create my-agent --standalone --template chat
cd my-agent
npm run dev
定义一个 Action
// actions/hello.ts
import { defineAction } from "@agent-native/core/action";
import { z } from "zod";
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 调用
Agent 自动获得 hello 作为 tool,调用方式与普通 tool 无异,无需额外配置。
UI 调用
import { useActionQuery } from "@agent-native/core/react";
const { data } = useActionQuery("hello", { name: "Alex" });
// data: { message: "Hello, Alex!" }
使用场景与人群
适用场景:
- 需要人机协作的知识工作流(邮件处理、内容审核、数据分析)
- 多 Agent 协作系统(各 Agent 通过 action 分工,人工监督最终结果)
- 企业内部工具(HR 审批、财务报销、客服工单)——天然需要 UI 可视化而非纯对话
- 需要持久状态和上下文感知的 Agent 应用(不能每次对话从零开始)
目标用户:
- 全栈开发者,想快速构建有 AI 能力的企业级应用
- AI 应用架构师,设计 Agent 与 UI 的协作模式
- 开发者关系/技术布道师,基于框架示例快速 demo
输入与输出案例
案例 1:日历助理创建会议
- Input(Agent):用户说「帮我约周五下午 3 点和张总开会,讨论季度规划」
- Action:
calendar.createEvent({ title: "季度规划讨论", attendees: ["zhang@company.com"], startTime: "2026-09-26T15:00:00Z" }) - Output:会议创建成功,UI 实时显示新日程条目,Agent 返回确认消息给用户
案例 2:数据分析仪表盘
- Input(Agent):用户问「Q3 的收入趋势如何?」
- Action:
analytics.query({ metric: "revenue", dimension: "month", filter: "quarter=Q3" }) - Output:框架渲染图表,用户在 UI 中看到折线图,同时 Agent 给出文字总结:「Q3 收入环比增长 23%,主要来自企业客户的订阅增长」
评论区
登录后可评论。