Skip to content

Repository files navigation

Lymora — 本地优先的 macOS 智能体:读取资料、管理记忆、受控执行

Native macOS · Local inference · Durable context · Controlled actions

简体中文 · English · 使用场景 · 系统架构 · 验证记录 · 源码导读

Lymora

把本地模型、资料、记忆和 Mac 应用连接起来,让一次任务的结果成为下一次工作的上下文。

Lymora 是一个持续开发中的个人 macOS 智能体项目。它使用原生 SwiftUI 界面承载交互,在本机运行语言模型,并把任务状态、资料来源、记忆修订和操作结果保存为可追溯的数据。

项目重点是把模型能力落实为可控制的应用行为:资料回答能找到来源,记忆能够修订和撤回,应用操作需要明确目标与授权,任务中断后能够核对已有状态。

当前阶段:Development preview。 v6.2 正在开发,尚未完整交付。下文展示已实现的机制与指定历史版本的验证记录;各应用和功能的范围见能力状态。资料与源码核对日期:2026-09-22。

从三个场景认识 Lymora

你想完成的事 Lymora 如何参与 已有结果
带着资料提问 选择 TXT、Markdown 或简单文本 PDF,将问题与选定来源绑定,回答中保留引用 指定签名 App 完成 6 个新合成资料输入的验证,覆盖事实提取、缺失信息和来源引用
让信息进入后续任务 从已提交的原话确认保存;用新消息纠正;新任务按项目检索;撤回后停止后续选用 一个真实 App 合成场景走通保存、纠正、App/Core 重启召回与撤回
把指令落实到 Mac 应用 按原请求加载工具,通过 Safari / QQ 适配层读取或操作;将目标、预览、决定和回读结果绑定 有界 Safari 读取有历史 App 记录;QQ 有一条普通 App 个人文本的本地发出记录

这些结果对应不同候选版本,不能合并解释为最新版的全量可靠性或通用桌面控制。详细范围、日期和版本见证据说明。

记忆可以延续,也可以改变

记忆生命周期:确认保存、修订保留、重启召回、撤回停用

记忆来自用户明确保存的已提交内容。纠正会产生新的修订,保留前后关系;撤回使该记录退出后续检索,同时保留历史,以便解释之前的任务使用过什么。

查看原生记忆确认界面

真实 SwiftUI 记忆确认组件截图,使用海盐试验合成数据,展示保存前的原话、项目与确认按钮

原生 SwiftUI 组件截图,使用合成资料,展示的是保存前的确认界面。它不是模型生成图,也不单独证明保存或召回成功。图片与完整 App 记忆验证来自不同检查,来源见素材说明。

从界面到执行

Lymora 架构:SwiftUI 原生界面连接 Python Agent Runtime;运行时协调上下文、工具与本地模型;PostgreSQL 保存持久状态,NATS JetStream 提供事件投递

设计重点 解决的具体问题 实现入口
本地模型资源管理 模型何时加载、是否有足够内存、并发如何受限、取消与空闲时怎样释放资源 Model supervisor
原生应用与权限 工具是否来自原请求、操作的是哪个应用和控件、目标变化后能否继续执行 Native runtime · macOS AX backend
记忆与上下文 信息来自哪里、当前修订是什么、撤回后还会不会被选入新任务 Submitted memory · Context assembler
持久任务与恢复 请求中断后怎样找到原任务、哪些工作可以恢复、未知操作结果如何处理 Run recovery · Native tool contracts

本地推理使用已有 Qwen3.5-9B 量化模型与 llama.cpp / llama-server。项目工作集中在运行时、资源生命周期、原生应用接入、上下文和持久状态;模型训练与量化算法不属于本项目的实现贡献。

更深入的设计取舍、失败处理和阅读顺序见工程与源码导读。

两条技术阅读路线

关注 AI Agent: 从资料如何进入上下文开始,阅读原请求约束、按需工具加载、应用身份校验和结果回读,再看显式记忆如何进入下一次任务。

关注 AI Infra / 系统研发: 从模型进程所有权、内存与并发准入开始,阅读持久 Run/Step、租约与恢复、事务状态和操作结果核对。

技术层 当前实现
原生交互 Swift / SwiftUI,macOS Accessibility,按适配器使用 Apple Events
服务与编排 Python / FastAPI,类型化工具契约,持久任务状态
本地推理 Qwen3.5-9B,llama.cpp / llama-server,资源生命周期管理
状态与事件 PostgreSQL、pgvector、NATS JetStream
检查与验证 Python / Swift 定向测试、隔离数据库检查、指定签名 App 场景记录

验证到哪一步了

记录 可以说明什么 阅读入口
6 个资料输入 2026-09-08 的指定 App 对合成 TXT / Markdown / 简单文本 PDF 完成事实、缺失信息及引用检查 资料问答
1 个记忆生命周期场景 保存、更正、同一 App/Core 重启后召回、撤回后的后续检索行为 记忆验证
1 条 QQ 本地发出记录 指定个人文本任务的一次本地发出,不等同于远端已读、群聊或附件能力 原生应用
v6.2 首批集成检查 后端 538 passed;隔离 PostgreSQL 128 passed;App 184 passed / 3 skipped / 0 failed,仅对应该次改动范围 检查范围

测试检查、组件截图、真实 App 运行和外部效果分别记录。当前没有把这些结果折算成整体完成率;历史全架构检查也并非全部通过。

能力状态

能力 当前状态 边界
本地推理与模型资源生命周期 已有实现与定向检查 受模型、硬件和配置约束
显式记忆保存、修订与撤回 已有完整 App 场景记录 不是自动记录一切,也不是长期跨日使用评测
选定资料问答 已有有界 App 验证 TXT / Markdown / 简单文本 PDF;不覆盖扫描件、复杂排版和通用 Office 编辑
Safari / QQ 原生适配 部分能力已有 App 记录,继续开发 不能据此宣称任意网页、完整聊天历史、群聊、附件或通话均可用
Mail 与更多应用 部分源码已集成,完整对话链仍在开发 不宣传为完整可用的邮件助手
跨日持续任务与更广泛自动化 v6.2 开发范围 不计入已交付能力

从这里开始

  • 想了解产品: 先看上面的三个场景、记忆流程和能力状态。
  • 想评估工程实现: 按源码导读阅读关键模块与对应测试。
  • 想搭建开发环境: 阅读开发入口。目前没有面向任意 Mac 验证过的一键安装包。

完整运行涉及本地模型、数据库、事件服务及原生 App 身份和权限配置。仓库内的 Core 确定性说明脚本只演示架构边界,不会调用模型,不作为实际任务成功证明。

作者与使用范围

由 Timx-G 发起和维护的个人工程项目。技术交流可以围绕架构取舍、关键模块、失败修复与验证记录展开;第三方模型和基础组件的归属保持明确。

本项目自有源码目前用于作品展示与技术评估,暂未授予开放复用许可。第三方组件继续遵循各自许可;GitHub 平台规则允许的查看与 fork 不受本说明改变。详见源码使用说明。

开发状态与版本入口

当前开发目标为 Lymora v6.2 / IMPLEMENTATION IN PROGRESS。本文核对基线为 1287a0440ecfc39ef764910581af4d42fb795c28。公开仓库使用独立历史,测试账号与私人主机路径已替换为示例;它不等同于已签名安装包。源码整理范围与可复现检查见公开说明。

About

Lymora · 本地优先的 macOS 智能体 | Native SwiftUI, local inference, durable memory and controlled actions. Development source showcase.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages