OpenChronicle 配置完全指南:Ollama 全本地部署与 4 阶段 LLM 调优清单

发布时间:2026/10/1 2:13:11
OpenChronicle 配置完全指南:Ollama 全本地部署与 4 阶段 LLM 调优清单
OpenChronicle 配置完全指南Ollama 全本地部署与 4 阶段 LLM 调优清单【免费下载链接】OpenChronicle项目地址: https://gitcode.com/gh_mirrors/op/OpenChronicleOpenChronicle 是一款开源、本地优先的 AI Agent 记忆系统它在你的 Mac 上捕获真实工作上下文并沉淀为人类可读的 Markdown 记忆供任意支持工具调用的 LLM Agent 查询。用好它的关键在OpenChronicle 配置——本文作为一份完整指南带你完成 Ollama 全本地部署无需 API Key、不依赖云端并给出一份 4 阶段 LLM 调优清单每个阶段该配什么模型、哪些坑必须避开。config.toml 在哪里如何查看运行时配置位于~/.openchronicle/config.toml或用$OPENCHRONICLE_ROOT整体迁移目录。首次运行openchronicle status时自动按默认值生成无需手写。随时查看已解析的生效配置openchronicle config。所有 LLM 阶段都走 litellm官方默认模板可直接参考 src/openchronicle/config.py 中的DEFAULT_CONFIG_TEMPLATE。Ollama 全本地部署最小配置 3 行搞定OpenChronicle 对云端提供商没有任何硬依赖——任何 litellm 够得着的模型都能用包括本地 Ollama 服务。最小配置如下[models.default] model ollama/qwen2.5:14b # 任意已 pull 的模型加 ollama/ 前缀 base_url http://localhost:11434 api_key_env # 留空——Ollama 不需要 key这段配置里有 3 个新手必踩的坑模型名必须加ollama/前缀litellm 靠它路由到 Ollama。base_url指向本机 Ollama 地址http://localhost:11434否则请求会发到 OpenAI。api_key_env留空。若保留默认的OPENAI_API_KEY而系统里又没导出该变量litellm 会报错——尽管 Ollama 根本用不到 key。4 阶段 LLM 调优按阶段分配模型OpenChronicle 的记忆管线有4 个 LLM 阶段节奏与精度敏感度各不相同。分层分配tiered assignment通常非常值得——timeline 每分钟都触发classifier 又极度怕弱模型阶段触发节奏职责选型建议timeline有捕获时每 60s把 1 分钟捕获窗口归一化为结构化活动记录原文逐字保留“便宜但不弱”的小模型reducer每 5 分钟 flush 会话结束把一个会话的 timeline 块压缩成一条 event-daily 记录中等模型精度决定时间范围与应用归属的质量classifier每 30 分钟 会话结束通过工具调用把长期事实提取到user-/project-/tool-/topic-/person-/org-*.md精度敏感弱模型会“毒化”去重compact文件超阈值后重写过胖的记忆文件名词短语丢失 5% 即拒绝与 classifier 同级或更强推荐的本地分层配置详见 docs/config.md[models.timeline] model ollama/qwen2.5:7b # 便宜但不弱常驻运行 [models.reducer] model ollama/qwen2.5:14b # 压缩整个会话精度重要 [models.classifier] model ollama/qwen2.5:14b # 工具调用弱模型会毒化去重 [models.compact] model ollama/qwen2.5:14b # 与 classifier 同级或更强 每个阶段小节都完整继承[models.default]的字段只覆盖自己写出的项。想全局共用一个模型只填[models.default]其余留空即可。本地模型预检清单4 项硬性检查选完模型后先对照 docs/config.md 的 “Things to check” 清单过一遍能省掉大量排障时间✅Tool-calling工具调用支持——classifier 硬性要求。它靠函数调用循环驱动append/create/supersede。qwen2.5、llama3.1、mistral-nemo、command-r均可用小尺寸 Llama-3.2 与 Phi 系列表现不可靠。✅JSON mode——timeline 与 reducer 硬性要求。两阶段以response_format{type:json_object}调用litellm 会转成 Ollama 的format: json。模型若不遵守、返回散文日志里会出现成片的解析错误——这时别调 prompt换更大的模型。✅上下文窗口num_ctx要够大。timeline 块为 1 分钟粒度reducer 一次 flush 消费约 5 个块2 小时的会话最多可堆约 24 个块。建议 Ollamanum_ctx对 timeline ≥16k对 reducer/classifier ≥32k。默认 2–4k 会静默截断症状极隐蔽。✅api_key_env保持为空避免 litellm 因缺失环境变量直接拒绝请求。验证配置改完跑一次status一行命令全知守护进程只在启动时读取一次配置。编辑config.toml后openchronicle stop openchronicle start openchronicle statusstatus会打印每个阶段解析出的模型并对每个阶段的提供商做迷你探测max_tokens4约 5 秒超时每行显示三种结果之一✓ 234 ms—— 提供商正常应答✗ AuthenticationError: …—— 模型名拼错、api_key_env缺失、base_url写错、key 过期全部会在这第一次status就暴露而不是几小时后在 writer 里静默失败相同(model, base_url, api_key)的阶段会去重探测四阶段共用一个模型时只发一次网络请求。在飞机上或 CI 环境想跳过网络探测可设 mock 环境变量OPENCHRONICLE_LLM_MOCK1 openchronicle status # 各行显示 ✓ mocked常见问题速查表症状原因与修复timeline / reducer 日志刷解析错误模型忽略 JSON mode尺寸太小——换更大模型日志出现classifier ended without commit at iter N模型太弱走不完工具调用协议——升级[models.classifier]classifier 每个会话都写重复事实模型跳过了search_memory去重检查——升级模型不要加代码启动报Address already in use8742 端口被占用lsof -i :8742找出占用进程reducer 连续失败日志见reducer failed (retry N/5)5 次失败后写heuristic兜底条目会话永不丢失排障时优先看这三个日志均在~/.openchronicle/logs/下writer.logreducer/classifier 工具调用、session.logflush 与 tick、timeline.log窗口归一化。完整排障手册见 docs/troubleshooting.md。延伸阅读配置与模型设置docs/config.md4 阶段管线与触发模型docs/writer.mdLLM 封装与 status 探测源码src/openchronicle/writer/llm.py配置默认值与继承逻辑src/openchronicle/config.py会话切分与调优docs/session.md【免费下载链接】OpenChronicle项目地址: https://gitcode.com/gh_mirrors/op/OpenChronicle创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考