Einsia/OpenChronicle

GitHub: Einsia/OpenChronicle

面向所有支持工具调用的 LLM 代理的开源本地优先记忆系统,将 macOS 上的日常操作上下文转化为持久化的结构化记忆。

Stars: 1527 | Forks: 109

OpenChronicle

OpenChronicle

面向所有支持工具调用的 LLM 代理的、开源且本地优先的记忆系统。

可将其视为 OpenAI Chronicle 的开源版——但它更加开放、不依赖特定模型、支持内部审查且易于修改。

Star History Chart

OpenChronicle 为 AI 代理提供了一个基于真实屏幕和应用上下文构建的、支持内部审查的本地记忆系统。 它运行在您的 Mac 上,能从您的日常操作中捕获结构化上下文,并将其转化为持久化的 Markdown 记忆:包括您正在进行的工作、您做出的决定、您使用的工具,以及与您相关的人员或项目。 任何能够调用工具的代理都可以使用它。目前 MCP 客户端的兼容效果最好,但 OpenChronicle 的目标是成为所有使用工具的代理的通用记忆层——而不是局限于某一种协议、模型提供商或应用程序。 ## 为什么选择 OpenChronicle OpenAI Chronicle 揭示了一个重要的未来趋势:代理能够记住您真实的工作上下文。 OpenChronicle 是我们推出的开源替代方案: - **本地优先** - 记忆数据保存在您的本地机器上 - **不依赖特定模型** - 支持 Ollama、LM Studio、OpenAI、Anthropic 或任何兼容 LiteLLM 的提供商 - **对工具友好** - 可被任何支持工具调用的代理使用 - **支持内部审查** - 以 Markdown 形式保存在磁盘中,并使用本地 SQLite 数据库 - **开放** - 采用 MIT 许可证,专为可扩展性而设计 ## 为什么优先采用 AX OpenChronicle 目前将 **AX 树(无障碍树)上下文** 作为其主要信号,并将屏幕截图作为长期的次要信号。 我们认为对于一个早期的记忆系统来说,这是正确的权衡: - **更低的成本** - 处理结构化文本的成本远低于依赖大量屏幕截图的 OCR / 视觉处理流水线 - **更精准的意图捕获** - 对于捕获活跃应用、聚焦元素、正在编辑的文本、URL 以及交互状态,AX 通常表现更好 - **更精简、更干净的记忆** - 更容易进行去重、规范化、索引建立和长期保留 - **更坚实的基础** - 未来可以利用屏幕截图来丰富 AX 难以处理的视觉上下文 ## OpenChronicle 与 OpenAI Chronicle 的对比 | | OpenAI Chronicle | **OpenChronicle** | | ------------------- | ------------------------------- | ---------------------------------------------- | | 源码 | 闭源 | **MIT 许可证,开源** | | 模型选择 | 仅限 OpenAI 生态 | **自由选择** | | 适用对象 | 特定产品的工作流 | **任何支持工具调用的代理** | | 主要捕获方式 | 依赖屏幕截图 / OCR | **优先使用 AX 树**,辅以屏幕截图 | | 存储 | 本地生成的记忆 | **您机器上的 Markdown + SQLite** | | 可扩展性 | 有限 | **解析器可修改、记忆逻辑可定制、支持多种集成** | ## 工作原理 ``` flowchart LR W[mac-ax-watcher
events] S0["S0 dispatcher
dedup · debounce
min-gap"] S1["S1 parser
focused_element
visible_text · url"] BUF[(capture-buffer
/*.json)] TL["Timeline
normalizer
1-min · verbatim"] TB[(timeline_blocks)] SM["Session mgr
idle 5m · app-switch 3m
max 2h"] S2["S2 reducer"] ED[(event-
YYYY-MM-DD.md)] CLF["Classifier
→ user- / project- / tool- /
topic- / person- / org-*.md"] STORE[("SQLite FTS5
+ Markdown")] W --> S0 --> S1 --> BUF --> TL --> TB --> S2 --> ED --> CLF --> STORE ED --> STORE BUF -. pre_capture_hook
(post-write · skipped on content-dedup) .-> SM SM -. flush 5m / on_end .-> S2 TB -. grounding .-> CLF ``` 核心理念很简单: 1. 捕获上下文 2. 将其压缩为会话 3. 提取持久化的事实 4. 在本地存储记忆 5. 允许代理通过工具进行查询 ## 您将获得什么 * 由 macOS AX 事件驱动的**事件捕获** * **具备会话感知的记忆写入**,而非杂乱无章的单次快照日志 * **人类可读的 Markdown 记忆** * **本地 SQLite 索引** * **结构化的记忆文件**,例如用户、项目、工具、主题、人员、组织以及日常事件 * **更新而非删除的历史记录**(Supersede-not-delete) * **支持本地或云端模型** * **常驻的代理可读接口**,目前以 MCP 作为支持最好的接入方式 ## 安装 要求 **macOS 13+** 以及 **Xcode Command Line Tools**(可通过 `xcode-select --install` 安装)。 ``` git clone https://github.com/Einsia/OpenChronicle.git cd openchronicle bash install.sh ``` ## 运行 ``` openchronicle start openchronicle start --foreground openchronicle status openchronicle pause openchronicle resume openchronicle stop ``` 实用的检查命令: ``` openchronicle capture-once openchronicle timeline tick openchronicle timeline list openchronicle writer run openchronicle rebuild-index ``` ## 连接代理 OpenChronicle 专为**支持工具调用的代理**而设计。 ### 目前支持最好的方式:MCP 守护进程在以下位置托管一个 MCP 端点: ``` http://127.0.0.1:8742/mcp ``` 支持的集成路径包括: * Claude Code * Claude Desktop * Codex * opencode * 自定义本地代理 * 以及更多... 有关设置详情,请参阅 [docs/mcp.md](docs/mcp.md)。 ## 贡献 我们特别希望在以下三个领域获得帮助: ### 1. 更好的上下文解析器 针对浏览器、终端、编辑器、Slack、Notion、Cursor、Linear、Figma 等应用的特定解析与规范化处理。 ### 2. 更好的记忆管理 会话精简、持久化事实提取、压缩、更新/合并逻辑以及检索质量优化。 ### 3. 更多代理集成 支持更多 MCP 客户端、IDE 代理、编码助手、桌面代理以及本地编排框架。 如果您关注本地优先的代理、个人 AI 记忆或开放的上下文基础设施,这个项目正适合您。 文档 * [docs/architecture.md](docs/architecture.md) - 端到端流水线与代码结构 * [docs/config.md](docs/config.md) - 配置与模型设置 * [docs/capture.md](docs/capture.md) - 事件驱动捕获与 AX 细节 * [docs/timeline.md](docs/timeline.md) - 规范化与反幻觉设计 * [docs/session.md](docs/session.md) - 会话划分规则 * [docs/writer.md](docs/writer.md) - 缩减器、分类器与重试模型 * [docs/mcp.md](docs/mcp.md) - 当前的工具接口与集成 * [docs/memory-format.md](docs/memory-format.md) - 文件布局与更新语义 * [docs/troubleshooting.md](docs/troubleshooting.md) - 常见问题 ## 开发 ``` uv sync --all-extras uv run pytest uv run ruff check ``` ## 许可证 MIT。
标签:AI代理, Anthropic, CIS基准, DLL 劫持, LiteLLM, LLM, LLM评估, LM Studio, Mac应用, Markdown, MCP, Ollama, OpenAI, RAG, SQLite, Unmanaged PE, 上下文捕获, 个人知识管理, 人工智能, 内存规避, 大语言模型, 工作流自动化, 工具调用, 开源, 数字记忆, 本地优先, 检索增强生成, 模型无关, 用户模式Hook绕过, 记忆层, 逆向工具, 防御加固