MIRA OS
可自托管、能长期记忆并自主调度工具的持续型个人助手。
按维度查看评分与理由
README说明凭据与工具实现分离、使用Vault、稳定文档加密,并描述工具按需临时启用;SSRF测试还覆盖DNS绑定、私网地址及IPv6过渡地址绕过,因此敏感数据处理和部分网络防护有具体证据。扣分在于依赖基本未锁定版本,一行安装脚本会安装依赖并初始化多项服务,且邮件、家庭自动化、提醒、跨服务器通信等有外部影响的工具未展示逐操作授权、确认门槛、权限范围或审计策略。文档版本历史只提供局部恢复能力,没有系统级回滚说明。作者、许可证及MemGPT来源有明确归属,但第三方组件归属不完整。
README中的FastAPI、PostgreSQL、Valkey、Vault、模型提供商、工具和NLP架构与requirements中的依赖大体一致,安全测试也与HTTP工具场景相互吻合。扣分在于大量依赖无版本上限或精确锁定,可选的Lattice不在PyPI且需要独立守护进程,多项功能依赖外部API、模型下载和基础设施。材料仅称安装器会验证服务、方言会处理提供商失败,没有展示面向用户的错误信息、降级路径或故障排查实例。
材料覆盖本机、Docker、托管服务、交互式和无头部署,并解释多提供商边界、可选工具、持久单线程限制以及缺失可选依赖时的部分降级。每轮检索、每五轮观察、七个使用日综合、五分钟超时扫描和按需工具启用等触发机制相当具体。扣分在于目标用户、资源基线和生产部署要求不够明确,工具自主启用及主动行为的触发条件仍是语义性的,Linux发行版、硬件容量及兼容矩阵也未给出。
README按记忆、工具、架构、许可证和安装组织,术语总体连贯;本机、迁移和Docker安装步骤非常具体,因此安装说明获满分。AGPL-3.0元数据、README链接和完整license.txt一致。扣分在于缺少系统化FAQ、故障排查、版本兼容表、正式限制清单、版本发布策略和变更日志;命名存在MIRA、Mira及拟人化代词混用。维护者作出持续维护承诺并邀请贡献,但没有给出维护团队、响应政策、安全联络或接替机制。
产品提供Web/API交互、连续记忆、可编辑且带版本历史的文档、自动检索和按需工具,输出可直接用于持续对话与知识工作;记忆衰减、上下文折叠、模块化提示和元认知观察构成明显的增量价值。扣分在于这些效果主要由README描述,未提供静态样例输出、基准或质量对比;部署需要数据库、缓存、Vault、多个模型和可能的外部付费API,资源、延迟、令牌节省及托管计费均未量化。
关键架构主张有具体模块、事件、间隔、依赖和一个SQL文件路径,requirements与两组针对SSRF和DNS绑定的测试为部分安全及依赖主张提供交叉印证。扣分在于所给材料没有核心实现文件、完整测试概览、发布记录或设计文档来验证多数记忆和自主代理主张;README将可核实的机制描述与“数字实体”“优雅大脑”等宣传性判断混合,事实、推断和作者观点的界线不够系统。
- 安装命令从main分支下载并直接执行脚本,而不是固定到受评审修订;使用前应检查脚本并固定提交或校验哈希。
- requirements.txt多数依赖未精确锁定;应生成锁文件、启用依赖漏洞扫描并记录升级与修复策略。
- 邮件、家庭自动化、提醒、网页访问和跨服务器通信可能产生现实外部影响;应确认每种工具的权限、用户确认、审计和撤销机制。
- Vault和加密声明不能替代密钥生命周期说明;应核实凭据存储、日志脱敏、备份、删除、轮换及托管服务的数据流。
- 连续单线程记忆和自动生成的用户模型会长期保存推断信息;部署前应确认查看、更正、导出、删除和禁用这些数据的控制。
- 静态材料不足以确认运行正确性、测试可复现性或不存在其他安全缺陷。
这个 Agent 能做什么,适合哪些场景?
MIRA OS 是一个可自托管的持续型数字助手,所有交流沿用同一条永久会话线程,而不是不断新建聊天。它通过 working_memory 的模块化 trinkets 组装系统提示,并在回复前利用 Subcortical 检索相关记忆、解析实体和判断推理需求。旧对话会被折叠成第一人称记忆,长期记忆则借助 PostgreSQL、pgvector、语义相似度、实体关联、遍历、过滤和重排自动召回与衰减。系统还提供不会衰减的加密 Domaindocs、自动发现的文件系统工具,以及定期审视对话偏差的 Peanut Gallery。MIRA 可通过本地网页聊天界面或 API 使用,也可用本机部署脚本、Docker,或由 miraos.org 托管的网页和 macOS 客户端运行。它适合重视连续关系、长期上下文和自托管控制的用户,但部署所需服务较多,并且永久单线程会话是不可关闭的核心约束。
每次用户发言时,Subcortical 会读取当前消息、近期对话和已载入记忆,将代词或片段化指代改写成检索短语,提取实体,筛选仍应保留的旧记忆,并判断任务是否需要更重的推理。主模型随后接收由 working_memory trinkets 组合的上下文,其中可包含记忆、Domaindocs、提醒、时间和元认知指导。记忆主要在生成回复前通过语义相似度、实体中心、记忆遍历、过滤和重排载入;模型也能用 memory_tool 显式搜索、创建或链接记忆。domaindoc_tool 管理稳定的加密文档,支持分节版本历史、共享、固定分节、嵌套分节,以及自主展开和收起正文。invokeother_tool 根据各工具文件的 simple_description 建立目录,并按需临时启用或在会话中固定工具;应用启动时会从 tools/ 自动发现并注册这些工具。每五分钟运行的任务会寻找超过 60 分钟没有新消息的会话段,发布 SegmentTimeoutEvent,再由 SegmentCollapseHandler 生成第一人称摘要、更新缓存、启动长期记忆提取和用户模型反馈流程。每七个实际使用日,Text-Based LoRA 流程会综合行为评估,形成经过 critic 检查的描述性用户模型。系统最终通过持续流式对话返回回答,并可调用联系人、邮件、天气、地图、提醒、网页搜索、图像生成和 Home Assistant 等随附工具。
- 希望助手长期记住个人偏好、项目历史和既往决定,并愿意采用永久单线程对话的个人用户。
- 需要在自己的基础设施上保存助手数据、凭据和长期记忆,同时通过本地网页界面或 API 访问的技术团队。
- 需要让助手共同维护长篇、分层且不随记忆衰减的资料时,可使用带版本历史和折叠能力的 Domaindocs。
- 希望按需加入邮件、天气、地图、提醒、Home Assistant 或自定义能力,而不把所有工具定义永久塞进上下文的开发者。
- 愿意让系统从多次互动中的成功、失误和反馈逐步调整行为提示的长期使用者。
这个 Agent 有哪些优点和局限?
- 把旧对话压缩为带绝对时间的第一人称记忆,并通过最近五份摘要保持模糊但连续的叙事,专门针对长期身份连续性设计。
- 长期记忆按实际使用日而非日历日衰减,并通过访问、显式引用、记忆或实体链接及时间相关性决定保留价值,减少人工清理。
- 工具从 tools/ 自动发现,并由 invokeother_tool 按需临时启用或会话固定,可避免无关工具定义持续占用上下文。
- Domaindocs 提供不会衰减的加密长文档、分节版本历史、共享和折叠能力,与离散记忆形成明确分工。
- 模型边界采用 provider-neutral dialects,提供本机脚本、Docker 和托管服务三种运行边界。
- 没有“新建聊天”功能;永久单线程是明确的架构约束,不适合要求严格隔离多个会话或客户工作区的用户。
- 完整自托管涉及 Python、PostgreSQL、Valkey、HashiCorp Vault、模型下载及可选浏览器自动化,运维面明显大于轻量聊天客户端。
- README 未提供具体 API 端点、请求格式或可复制的首个 cURL 调用,API 接入仍需检查仓库实现。
- 记忆折叠、自动衰减、元认知指导和文本化行为适配都依赖模型生成或判定,来源没有给出准确率、延迟或故障恢复基准。
- 托管版本使用积分和计费系统,但来源未说明价格;本地运行仍可能产生外部模型提供商费用。
如何安装或部署这个 Agent?
本机安装支持 macOS 和 Linux。运行:
curl -fsSL https://raw.githubusercontent.com/taylorsatula/mira-OSS/refs/heads/main/deploy/deploy.sh -o deploy.sh && chmod +x deploy.sh && ./deploy.sh按照屏幕提示完成配置,并提供所选模型提供商的凭据或本地模型设置。脚本会检查并安装依赖、创建 Python venv、安装 requirements、下载 NLP 与嵌入模型、初始化 HashiCorp Vault、创建 mira_service 数据库,并验证 PostgreSQL、Valkey 和 Vault。已有安装可运行:
./deploy/deploy.sh --migrateDocker 部署先构建基础镜像和应用镜像:
docker build -t mira-base:latest -f deploy/docker/Dockerfile.base .
docker build -t mira:latest -f deploy/docker/Dockerfile .
交互式启动:
docker run -it -v mira-data:/opt/vault -p 1993:1993 mira:latest无交互启动示例:
docker run -e MIRA_ANTHROPIC_KEY=sk-ant-xxx -e MIRA_PROVIDER_KEY=gsk_xxx -v mira-data:/opt/vault -p 1993:1993 mira:latestREADME 说明 PostgreSQL 和 Valkey 使用容器卷持久化,而 Vault 数据保存在 mira-data 卷中。
如何使用这个 Agent?
安装后完成引导式配置,选择模型提供商并填写相应凭据或本地提供商设置,然后通过随附的本地网页聊天界面开始同一条持续会话。端口映射示例使用 1993:1993。仓库说明也支持发送 cURL API 请求,但没有给出可核验的具体端点、请求体或首个调用命令,因此不能据此提供一条准确的首次 API 请求。需要新能力时,可按照 tools/HOW_TO_BUILD_A_TOOL.md 的既有 Tool 基类模式创建工具文件,随后停止并重启 MIRA;应用启动时会自动发现该工具。无需本地安装时,可在 miraos.org 注册托管账户,或下载其 macOS 应用;托管用量由服务的积分和计费系统管理。
这个 Agent 与同类方案有什么区别?
MIRA 明确致谢 Letta/MemGPT 提出的“让模型管理自己的上下文窗口”这一思路,但在此基础上描述了自己的永久单线程、第一人称记忆折叠、按使用日衰减、Subcortical、Peanut Gallery 和 Text-Based LoRA 流程。来源没有提供两者的功能、性能或部署成本对照,因此无法作出优劣判断。