ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

OpenViking 代理集成全景指南:为各类 Agent 运行时统一接入长期记忆与上下文后端

OpenViking 代理集成全景指南:为各类 Agent 运行时统一接入长期记忆与上下文后端 OpenViking 代理集成全景指南为各类 Agent 运行时统一接入长期记忆与上下文后端【免费下载链接】OpenVikingSelf-evolving Context Database for AI Agents. Unify Agent Memory, Knowledge RAG and Skills.项目地址: https://gitcode.com/GitHub_Trending/op/OpenVikingOpenViking 作为面向 AI Agent 的自进化上下文数据库Self-evolving Context Database for AI Agents可以充当多种 Agent 运行时的长期记忆与上下文后端。本文以 Agent 集成概览 为骨架系统梳理从 Claude Code、OpenClaw、Codex、Cursor 到 Hermes、LangChain 等十余种集成方式的选择矩阵、前置条件、低延迟召回调优与超时预算原理并下沉到仓库源码验证关键机制帮助读者为自己的 Agent 环境选择并配置最合适的记忆接入方案。为什么需要 Agent 集成层Agent 在对话过程中产生的会话内容会话消息、工具调用、反馈结论如果不经过提炼会随会话结束而流失而跨会话、跨项目的语义检索又依赖一个统一、可版本化的记忆与知识后端。OpenViking 的定位正是这个后端它把 Agent 的记忆、知识 RAG 与技能统一管理在viking://命名空间下并提供 REST API 与 MCP 工具面让任何 Agent 运行时都能以「长期记忆 上下文检索」的方式接入。集成层的核心价值在于三点自动捕获auto-capture通过宿主 hook 或插件事件把每一轮对话、工具输出增量写入 OpenViking达到阈值后提交commit归档并做记忆抽取自动召回auto-recall每次用户提问前自动检索相关记忆、技能注入到提示词上下文并支持跨轮去重与结果压缩digest统一能力面检索、记忆、资源、技能、文件浏览等操作抽象为一致的 MCP 工具或原生工具不同 Agent 获得同样的语义能力。选择矩阵按你的 Agent 运行时选型OpenViking 官方文档维护了一张「如果使用 X就用 Y」的决策表覆盖从 IDE 插件到无头 CLI、从桌面 UI 到通用 MCP 客户端的多类运行时你的运行时推荐集成一句话说明Claude CodeClaude Code Memory Plugin通过 hooks 实现自动召回 自动捕获OpenClawOpenClaw Plugincontext-engine 全生命周期集成Codex / TraeCode CLI 2.0Codex Memory Plugin生命周期 hooks 支持自动召回与增量捕获CursorCursor Memory Integration一条命令安装生命周期 hooks、MCP 工具、规则与技能TRAE / TRAE CNTRAE Memory Integration一个安装器配置提示时召回、轮次捕获与 OpenViking 工具DeepSeek HarnessdshDeepSeek Harness Memory Bundle进程内 Cordis 插件含 pre-step 召回、事件捕获与 MCP 工具Hermes AgentHermes Agent内置 OpenViking 记忆 provider无需安装插件OpenCodeOpenCode PluginMCP 工具 生命周期 hooks支持仓库上下文、自动召回与捕获pipi Coding Agent Extension原生扩展自动召回、轮次捕获与阈值提交LangChain / LangGraphLangChain and LangGraphretriever、工具、上下文后端、store 与中间件多个本地编码 Agent / 桌面 UIOpenViking Helper可视化 Agent 设置、会话检查与记忆管理任意 Agent Plugins 1.0 客户端Agent Plugins 1.0 Package一个便携包openviking-memory技能 OpenViking MCP 工具Manus / Claude Desktop / ChatGPT / 其他 MCP 客户端MCP Clients把任意 MCP 兼容客户端指向内置/mcp端点ZCode / AstrBot / …Community Plugins社区维护的各运行时集成能力对照表如果你关心各集成的具体差异——工具面、自动召回、会话与提交行为、压缩接管compaction takeover、降级与容错——参见 Integration Capability Reference。这是一张跨集成的对比矩阵从工具面MCP 透传 15 个工具 vs 原生注册 7 个到关机语义正常退出、CtrlC、SIGTERM、kill -9 各自是否提交都有逐格结论可作为选型与排障的权威依据。从形式上看这些集成可分为几类详见能力对照表 §1.3全量套件hooks 自动化 MCP 工具面 周边 UXclaude-code、codextrae-cli 通过别名安装归入此类薄 hook共享agent-hook-runtime核心行为基本一致差异仅在宿主事件与阈值cursor、trae/trae-cn、zcode插件事件opencode宿主事件面最丰富dispose处理关机原生进程内dshCordis、pi扩展 压缩接管、openclaw完整 ContextEngine 接管、hermesMemoryProvider工具形态ov CLI全部显式调用无后台自动动作非编码形态Open WebUI工具服务器、LangChainSDK 库、Agent Plugins 便携包MCP 技能规格包、通用直接 MCP、日志摄入、Helper桌面端。所有集成的前置条件页面上的每个集成都连接到一个正在运行的 OpenViking 服务器。如果还没有服务器先按 快速入门 部署# 方式一Python 包安装本地命令与库 uv tool install openviking --upgrade # 或 pip install openviking openviking-server init # 首次初始化配置 openviking-server doctor # 自检 openviking-server # 启动服务# 方式二Docker Compose 独立服务 services: openviking: image: ghcr.io/volcengine/openviking:latest container_name: openviking ports: - 1933:1933 volumes: - ~/.openviking:/app/.openviking restart: unless-stoppeddocker-compose up -d默认端点http://localhost:1933/health无需认证即可探测详见认证指南远程使用需要 API Key在ov.conf的server段配置auth_mode: api_key与root_api_key客户端可通过X-API-Key头或Authorization: Bearer user-key携带密钥详见 Authentication。低延迟召回调优查询扩展与结果压缩当响应延迟最敏感时可以关闭两个独立可选的模型调用查询扩展query expansion与召回结果压缩recall-result compression。关闭它们后语义检索、预算控制、层级降级tier degradation与跨轮去重仍然正常工作——这意味着它们是被仔细隔离的可选阶段而不是召回链路的地基。环境变量开关以下环境变量对 Claude Code 与 Codex 记忆插件同时生效OpenCode 与 pi 也可切换查询扩展通过各自配置文件中的recallQueryExpansion但不读取压缩开关二者都不请求服务端 digestexport OPENVIKING_RECALL_QUERY_EXPANSIONoff export OPENVIKING_RECALL_COMPRESSoffovcli.conf 中的等价配置同样的设置可以写入~/.openviking/ovcli.conf{ url: https://openviking.example.com, api_key: your-api-key, plugin: { recallQueryExpansion: off, recallCompress: off } }配置生效规则原文明确源码亦有印证环境变量优先于ovcli.conf参见 Claude Code 插件配置解析 中process.env.OPENVIKING_RECALL_*对配置项的覆盖逻辑修改后必须重启 Agent让 hook 进程重新加载配置这些是插件客户端设置服务器端ov.conf无需改动plugin段目前只被 Claude Code 与 Codex 插件读取以其他 harness 命名的plugin条目当前是惰性的inert旧的环境变量OPENVIKING_RECALL_REWRITE仍为兼容性保留新配置应使用统一命名。本地压缩的两种暴露方式两个插件都有本地压缩路径但暴露方式不同Claude Code默认recallCompressauto——优先使用本地claude -pSonnet 低 effort本地 CLI 不可用时回落到 OpenViking 服务端 digest。client强制仅本地压缩server强制仅服务端压缩。从源码看本地压缩子进程运行时会强制关闭所有 OpenViking hooks 以避免递归examples/claude-code-memory-plugin/scripts/lib/host-compressor.mjs且对小于 1500 字符的输入跳过压缩、按 digest 做缓存。Codex默认调用本地codex exec依次尝试gpt-5.3-codex-spark与gpt-5.6-luna低 effort 模式不启用服务端压缩。两者的共享默认值是recallCompressautoOPENVIKING_RECALL_COMPRESSoff在两个插件中都关闭压缩Codex 将auto或client解释为启用本地压缩器。上下文请求的超时预算一串熔断的串联上下文请求比普通请求等待更久因为客户端侧中止会丢弃整个响应而不是仅仅丢弃超时的那一段。服务端流水线是串行的每个可选阶段都有自己的熔断fuse阶段服务端配置默认值查询扩展retrieval.recall_intent_timeout_s5s检索、正文读取、预算分配—常驻阶段—digest 重写retrieval.recall_rewrite_timeout_s30s这两个熔断配置定义在 retrieval_config.py类型为float且必须大于 0查询扩展实现见 expansion.py它读取会话最近 5 条消息RECENT_MESSAGES 5做意图分析原查询永远排第一追加至多MAX_PLANNED_QUERIES个计划查询超时或失败时故障收敛回原查询fail closed。因此请求的超时预算由请求实际要求的内容决定携带session_id会消耗扩展熔断→ 客户端预算15s同时请求 digest → 预算45s两者都不要 → 使用插件自身的普通超时。这一「按请求体推导截止时间」的逻辑在共享召回核心中有明确注释与实现examples/codex-memory-plugin/scripts/shared/recall-core.mjs的contextRequestTimeoutMs扩展 15000ms、重写 45000ms 两个下限并允许显式配置覆盖。设计目标是客户端预算必须覆盖服务端每一阶段避免客户端提前中止丢掉整个响应。固定超时OPENVIKING_RECALL_CONTEXT_TIMEOUT_MS如需固定上下文请求超时设置export OPENVIKING_RECALL_CONTEXT_TIMEOUT_MS30000或写入ovcli.conf的plugin.recallContextTimeoutMs。规则必须高于请求将要消耗的熔断之和否则客户端会在服务端熔断之前先中止必须低于 Agent 自身的 hook 超时否则 hook 会被宿主先杀掉该配置在 Claude Code 插件解析中同样以Math.max(0, ...)做了非负钳制examples/claude-code-memory-plugin/scripts/config.mjs。源码印证从文档到实现文档论断源码证据扩展熔断默认 5s、重写熔断默认 30sretrieval_config.py查询扩展失败回退原查询expansion.pymode ! auto、会话为空、异常、超时均返回[query]客户端按请求体推导超时15s/45srecall-core.mjs 的contextRequestTimeoutMs服务端注入预算默认 1600 tokenparams.py 的DEFAULT_MAX_TOKENS 1600在 search.py 中作为max_tokens请求字段默认值压缩开关对 Claude Code 生效、旧变量兼容Claude Code 插件 README 中的环境变量表OPENVIKING_RECALL_COMPRESSoff/client/server/auto深入一步能力对照表里的关键设计决策若想把调优做扎实建议顺手阅读 Integration Capability Reference 中的三个维度会话与提交生命周期服务端默认不自动提交memory.session_auto_commit.default_enabled false、idle_enabled false所有自动提交都依赖各客户端自己的阈值逻辑进程异常死亡后未提交的消息要等同一会话后续手动提交才归档。这是排查「为什么我的记忆没入库」时的第一知识点。召回 digest 的服务端实现rewrite参数false/true/auto默认falserewrite_max_bullets默认 6对所有调用者开放digest 输出带OpenViking memory digest:头与-项目符号每条须引用命中集中的合法viking://URI且受 30s 熔断保护。降级链与负缓存JS 系 harness 的召回走三级降级context face → 旧版/recall→ 裸 find 兜底context face 不可用时会在~/.openviking/state/context-face.json写 6 小时负缓存机器级共享。小结OpenViking 的 Agent 集成层遵循一个清晰的设计哲学核心能力检索、记忆、资源、技能、提交集中在服务器端客户端只做事件适配、参数组装与超时管理。选型时按「我的运行时」对照选择矩阵部署时确保服务器可达且认证就绪调优时用好OPENVIKING_RECALL_QUERY_EXPANSION/OPENVIKING_RECALL_COMPRESS与上下文超时预算链即可在保持语义检索、预算控制与跨轮去重能力的前提下把每次提示的额外延迟压到最低。更细粒度的跨集成差异请以 Capability Reference 为准。【免费下载链接】OpenVikingSelf-evolving Context Database for AI Agents. Unify Agent Memory, Knowledge RAG and Skills.项目地址: https://gitcode.com/GitHub_Trending/op/OpenViking创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表