Agent-Native
Agent-Native 是一个开源的 TypeScript 框架,用于构建将自主工作与专用 UI 配对的 agent。将每项能力定义一次为 action:agent 将其用作工具,UI 则从代码中调用它。
快速开始
npx --yes @agent-native/core@latest create my-agent --standalone --template chat
请参阅入门指南以获取该框架的完整介绍。
为什么要构建带 UI 的 agent?
编码 agent 的工作方式远不止一个文本框。它们的环境提供了上下文、工具、文件、测试和预览,使其能力和结果可见。知识工作也需要同样的环境。UI 展示了 agent 能做什么,并为人们提供了熟悉的方式来检查、编辑、批准和分享其工作成果。
Agent-Native 的工作原理
- 共享 actions。agent 将每项能力作为工具调用,UI 则从代码中调用它。两条路径使用相同的验证、权限和实现。
- 共享数据。agent 完成的工作会出现在 UI 中,UI 中完成的工作也可供 agent 使用。
- 共享应用状态。agent 接收相关的 UI 状态,例如当前页面、选中的记录或活动视图。
agent 不会通过 UI 进行点击操作。它通过与 UI 相同的 action 层来工作。
示例:一个共享 action
创建 actions/hello.ts:
import { defineAction } from "@agent-native/core/action";
import { z } from "zod";
// One action powers every app surface: UI, agent, HTTP, MCP, A2A, and 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("hello", { name: "Alex" }) 调用同一个函数。Agent-Native 还通过 HTTP、MCP、A2A 和 CLI 将其暴露出来。
内置功能
- Agent 聊天:让人们在同一 UI 中委派工作、提问和审查结果。
- 身份验证和权限:控制谁可以访问和更改共享工作。
- 技能和记忆:为 agent 提供可复用的专业知识和持久化上下文。
- 自动化:按计划或事件运行 agent 工作。
- Agent 团队:将工作委派给同一工作区中的专业 agent 或跨连接的 agent。
- PostgreSQL 后端:在生产环境中使用 PostgreSQL,在任何兼容 Nitro 的主机上使用 PGlite 进行本地开发。
自带你的 LLM、SQL 数据库、工具和基础设施。你构建的一切都归你所有。
查看 Agent-Native 的实际效果:Agent-Native.Demo.mp4
开源 agents
从以下某个 agent 开始,或将其作为你自己项目的示例。
- Clips:录制并理解会议、屏幕和语音笔记。
- Design:生成和优化交互式设计。
- Slides:创建和编辑符合品牌规范的演示文稿。
- Analytics:对数据提问并构建仪表盘。
- Calendar:查找时间、安排事件和管理预订。
- Mail:优先处理邮件、起草回复并跟进。
- Assets:创建和组织符合品牌规范的媒体资源。
- Content:起草、组织和发布内容。
- Plans:通过图表、线框图和原型创建和审查可视化计划。
探索完整的应用画廊,或从框架指南开始。
文档和社区
阅读文档。加入 Discord 来提问、分享你正在构建的内容并获取帮助。
贡献
正在处理此仓库本身?请参阅 DEVELOPMENT.md 了解本地设置、工作区结构和守卫脚本。
许可证
MIT