Agent-Native
Agent-Native 是一个开源的 TypeScript 框架,用于构建将自主工作与专用 UI 相结合的智能体。把每一个能力只需定义一次,作为动作(action):智能体将其作为工具调用,UI 则从代码里调用它。
快速开始
npx --yes @agent-native/core@latest create my-agent --standalone --template chat
完整的框架介绍请参阅入门指南。
为什么要为智能体构建 UI?
编程智能体(coding agents)工作时依赖的不只是一个文本框。它们所处的环境提供上下文、工具、文件、测试与预览,让其能力与产出都能被看见。
知识工作同样需要这种环境。UI 既展示了智能体能做什么,也提供了人们熟悉的方式来查看、编辑、审批并分享其成果。
Agent-Native 的工作原理
- 共享动作。 智能体把每个能力作为工具调用,UI 则从代码里调用它。两条路径使用同一套校验、权限与实现。
- 共享数据。 智能体完成的工作会出现在 UI 中,UI 中完成的工作对智能体同样可用。
- 共享应用状态。 智能体会接收相关的 UI 状态,例如当前页面、选中的记录或当前视图。
智能体并不是在 UI 上模拟点击,它与 UI 使用同一个动作层完成工作。
示例:一个共享动作
创建 actions/hello.ts:
import { defineAction } from "@agent-native/core/action";
import { z } from "zod";
// 一个动作驱动所有入口:UI、智能体、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}!` };
},
});
智能体会把 hello 作为一个工具来接收。React 端用 useActionQuery("hello", { name: "Alex" }) 调用同一个函数。Agent-Native 还会把它通过 HTTP、MCP、A2A 与 CLI 暴露出去。
内置能力
- 智能体聊天: 在同一个 UI 中让人委派工作、提问并查看结果。
- 身份认证与权限: 控制谁能访问与修改共享的工作内容。
- 技能与记忆: 为智能体提供可复用的专业知识与持久化的上下文。
- 自动化: 按计划或事件触发运行智能体任务。
- 智能体团队: 在同一工作区或跨已连接的智能体之间,把任务委派给各具专长的智能体。
- PostgreSQL 后端: 在生产环境使用 PostgreSQL,在任意兼容 Nitro 的主机上本地开发时使用 PGlite。
你可以自带大语言模型(LLM)、SQL 数据库、工具与基础设施。你所构建的一切都归你所有。
观看 Agent-Native 的实际演示:
https://github.com/user-attachments/assets/ef51644b-6506-46d8-8083-0af7b7e5b65c
开源智能体
可以从以下任意一个智能体开始,或将其作为构建你自己的智能体的参考。
Clips(片段)
录制并理解会议、屏幕与语音备忘录。
Design(设计)
生成并打磨交互式设计稿。
Slides(幻灯片)
创建并编辑符合品牌规范的演示文稿。
Analytics(分析)
对你的数据提问,并构建仪表板。
Calendar(日历)
寻找空闲时间、安排事件并管理预约。
Mail(邮件)
对邮件排定优先级、起草回复并跟进。
Assets(素材)
创建并整理符合品牌的媒体素材。
Content(内容)
撰写、组织并发布内容。
Plans(方案)
通过图表、线框图与原型来创建并评审可视化方案。