Ami:本地运行的个人 AI 代理正式开源
NanoNets 在 Hacker News 发布开源个人 AI 代理 Ami,本地运行、连接个人工具,自主处理待办与会…
NanoNets 在 Hacker News 的 Show HN 板块正式开源了一款名为 Ami 的本地 AI 代理工具。它定位为「个人数字分身」,强调以本地化方式接入用户的应用、代码仓库和工具,并在用户授权下执行「琐事」类任务。
核心定位:本地优先、数据不出机器
Ami 的设计核心是「跑在你的机器上」。所有数据(包括 SQLite 数据库、Markdown 知识库、token 凭据)均存储在 ~/.ami/ 目录下,不会被上传到任何组织或第三方服务。工具的访问权限严格等同于用户本人的权限,Ami 只能触达用户能触达的资源。此外,Ami 不会自动发送任何内容——所有邮件、消息回复都需要用户编辑并点击确认后,才会以用户身份发出。
唯一的外网调用是 Anthropic 的 Claude API(用户自行填入 API Key)以及用户主动接入的第三方工具。
工作流程:摄取 → 分类 → 执行 → 迭代
Ami 的运行分为四个阶段:
- 摄取(Ingest):通过各连接器的轮询器,用用户的个人 token/API Key 抓取新消息、邮件、邀请和通知。
- 分类(Triage):调用 Claude 对每条信号进行分类,判定为任务、Fyi(仅供参考)或忽略,并附上截止日期。实体、关系以及用户的纠正、驳回、覆写都会进入知识库,作为决策痕迹引导后续分类。
- 执行(Act):每个待办提供 5 种操作——Plan(只读探索并提出可编辑方案)、Start(在隔离的 Claude Agent SDK 会话中执行)、Resolve(标记用户自己完成并更新知识库)、Dismiss/Snooze(驳回或暂缓)、Review(成果展示并起草回复,用户确认后发出)。
- 迭代(Iterate):用户对已完成任务的反馈会在同一会话中续接,全部上下文保留。
上下文图记忆:Obsidian 风格的本地知识库
Ami 的记忆以 Obsidian 风格的 Markdown 知识库形式存放在 ~/.ami/knowledge/,使用 wiki 链接,并经 git 版本化以便追溯。其支撑的能力包括:
- 会议准备:参会者基于知识库解析,生成会议简报;
- 会议记录:通过本地麦克风与系统音频录制,配合 whisper.cpp 在设备端转录,音频不上传;
- 风格学习:Ami 从用户真实消息及其对草稿的修改中学习写作语气;
- 决策痕迹:过往的例外、覆写与反馈会在类似情境出现时被检索,从而沿用用户已做出的决策模式。
连接器与控制台
Ami 自带有限数量的连接器。如果用户需要新的工具连接,可在 Settings 中点击「Add a connector」,填写名称、主页 URL 和用途,Ami 会调用 Claude Code 自动构建连接器并交付使用。
控制台包含 7 个页面:Home(待办与会议一览)、To-do(跨工具统一任务列表)、Chat(与待办共用工具集的副驾驶对话)、Agents(定时任务代理)、History(历史归档)、Memory(上下文图可视化)、Settings(连接器、模型、用量设置)。全局搜索与通知入口位于顶部导航栏。
快速开始与许可
前置条件为 Node ≥ 20。项目可通过 git clone https://github.com/NanoNets/ami.git && cd ami && ./ami 一键拉起,首次运行会自动安装依赖、构建控制台并启动服务,随后访问 http://localhost:4141 完成引导(粘贴 Claude API Key、连接工具)。可选依赖包括 gh CLI(用于打开 PR)和 ffmpeg + whisper-cpp(用于本地会议录音转录)。
Ami 目前仍处于内部工具与开发阶段(项目方称为 WIP),稳定版将随后推出。项目以 MIT 协议开源。
