Anima:开源的硬件智能代理操作系统,让设备学会思考
📅 2026年06月08日 · 技术
Anima 是什么?
今天的智能家居系统大多是"遥控器的升级版":你发出指令,设备执行。灯泡不懂你为什么开灯,空调不知道你刚从外面回来,加湿器不明白为什么湿度突然下降。
Anima 是一个开源的代理操作系统,目标是让硬件从"联网设备"进化为"协作智能体"。它不只是接收命令,而是理解环境、记住你的习惯、推理用户意图,然后做出符合情境和偏好的决策。
名字 "Anima" 来自拉丁语,意思是"灵魂"。这反映了项目的核心理念:今天的智能硬件已经有传感器、连接和执行能力,但大多数设备仍在被动等待指令。Anima 想给这些设备一个可运行的智能中心。
系统架构:大脑 + 技能 + 记忆
Anima 的整体设计分为三层:
- Brain(大脑):中央决策层,用 LLM 合并用户对话、设备状态、环境信号、记忆和技能能力,生成可执行的计划
- Skill(技能):设备领域的知识包,包含舒适模型、占用感知、跨设备协作规则和偏好学习
- Memory(记忆):长期记忆系统,从交互历史中提取偏好,形成稳定的习惯画像
这不是让 LLM 随意控制设备。Brain 在明确的技能边界、设备能力和安全规则内做决策。比如空调技能知道温度舒适范围、季节因素和与其他设备的交互方式,加湿器技能理解湿度舒适区间和静音时段保护。
技能系统:设备的"专业知识"
每个技能不是简单的函数或提示词,而是完整的领域知识包,通常包含:
SKILL.md:技能元数据、支持的设备和操作规则knowledge.md:领域知识(如舒适温度范围、节能策略)decide.md:单次决策提示learn.md:长期学习提示actions.py:结构化动作执行入口
内置技能包括灯光(亮度、色温、昼夜节律照明)、加湿器(湿度舒适范围、季节因素)、空调(温度控制、舒适与能耗平衡)、空气净化器(空气质量、静音睡眠策略)、音箱(音频播放、静音时段保护),还有跨设备协调器和设备发现技能。
记忆系统:分层设计
Anima 的记忆采用三层设计:
- L1 核心身份:每次请求加载的最小偏好摘要
- L2 记忆目录:规划器查看的记忆目录,包含可用的学习画像和主题
- L3 记忆细节:技能执行前按设备类型加载的详细记忆
这种分层让系统不必每次请求都读取所有历史。它先了解有哪些记忆存在,只有在真正执行设备技能时才加载具体细节。执行结果、用户对话和设备状态持续写入历史,后台提取成稳定的长期记忆,最终影响未来的设备决策。
硬件支持:小米 MIoT 设备
目前支持小米/米家设备:
- 本地网络扫描发现设备
- 小米云 QR 登录获取设备列表和令牌
- 本地
IP + token控制普通 MIoT 设备 - 部分小米音箱云端播放能力
推荐路径是 Dashboard 的小米 QR 登录:生成二维码后用米家 App 扫描,设备自动同步;没有返回令牌的设备可以手动输入。
技术栈与运行
后端基于 FastAPI + Python 3.11+,前端是 React + Vite Dashboard,代理核心用 LangGraph 实现。安装很简单:
git clone https://github.com/Fullive-AI/Anima.git
cd Anima
pnpm install
pnpm dev
启动后打开:
- Dashboard:http://localhost:3000
- Backend API:http://localhost:8080
- Swagger:http://localhost:8080/docs
LLM 配置支持任何 OpenAI 兼容 API(OpenAI、DeepSeek、豆包、Anthropic 代理、本地 Ollama)。设置环境变量即可:
ANIMA_LLM_API_KEY=sk-xxx
ANIMA_LLM_MODEL=gpt-4o
扩展能力
添加新技能只需创建目录:
skills/custom/my_skill/
├── SKILL.md
├── references/
│ ├── knowledge.md
│ ├── decide.md
│ └── learn.md
└── scripts/
└── actions.py
添加新协议适配器参考 MIoT 实现,接口很小:discover() 发现设备,subscribe() 订阅状态,execute() 执行动作。
项目状态
Anima 还在早期阶段,但核心循环已经完整:设备发现 → Brain 规划 → Skill 决策 → Adapter 执行 → 状态验证 → 记忆学习。成熟部分包括核心运行时、Dashboard、MIoT 适配器、技能框架和记忆提取。仍在演进的部分是更多协议适配器、更强的记忆检索和冲突处理、技能市场、多用户模型和安全策略。