首页
/
行业洞察
/
正文
INDUSTRY INSIGHT · 深度
OpenViking Memory 技能指南:AI Agent 的跨会话持久上下文检索与写入实战
📅 2026/9/11 8:22:33
✍️ 爱科研究院
👁 阅读 3,247
OpenViking Memory 技能指南AI Agent 的跨会话持久上下文检索与写入实战【免费下载链接】OpenVikingSelf-evolving Context Database for AI Agents. Unify Agent Memory, Knowledge RAG and Skills.项目地址: https://gitcode.com/GitHub_Trending/op/OpenViking本篇技术指南围绕 OpenViking 为 AI Agent 提供的openviking-memory技能SKILL展开系统讲解 Agent 如何在会话中正确使用 OpenViking 的检索与写入工具实现记忆facts、preferences、decisions、资源导入的文档、站点、仓库与技能Skills三类持久上下文的跨会话复用。读完本文你将掌握会话生命周期各阶段的上下文处理策略、search/find/grep/read等检索工具的选择依据、remember/add_resource/forget的写入规范以及项目级记忆归档peer的配置方法。OpenViking 存储的三类持久上下文OpenViking 是一个面向 AI Agent 的持久化上下文数据库Self-evolving Context Database它存储三类耐久上下文并在会话之间把它们回放给 AgentMemories记忆事实、偏好、决策等长期信息Resources资源导入的文档、网页站点、Git 仓库等知识资产Skills技能可复用的技能定义与使用指南。这些能力通过 MCP 工具暴露给 Agent。不同宿主harness下工具名可能带有前缀例如mcp__openviking__find或openviking_find但本质上是同一组工具调用语义完全一致。dsh-memory-plugin 等集成会通过 MCP 代理把服务端完整的工具面挂载给模型而不是手工维护一个子集因此服务端升级新增工具时无需发布新的插件版本见 examples/dsh-memory-plugin/README.md 的挂载设计说明。一次会话的完整生命周期技能的核心理念是把记忆工作融入 Agent 已有的会话流程而不是把它当作一个孤立操作。会话被划分为四个阶段Start开始OpenViking 插件通常已经在本轮对话中注入了召回上下文寻找openviking-context块。在搜索之前先检查它如果它已经回答了问题直接使用并跳过工具调用。During the task任务进行中当注入的上下文不够时执行检索见下一节。在依赖命中结果之前先用read展开有希望的条目——摘要abstract可能比其源文档更旧或更单薄。Data in数据进入当耐久信息出现时执行写入见写入小节。写入要克制记忆库被噪声填满时检索质量会下降。End结束插件自动捕获并提交会话OpenViking 在后台从会话中提取长期记忆。这也是为什么 Agent 很少需要remember被深入讨论过的内容最终都会被自动提取。这一生命周期在 dsh-memory-plugin 中由多个生命周期钩子实现agent/session-start注入配置档案与可用记忆索引、agent/pre-step用当前步骤输入检索并追加持久化的插件消息、session/event捕获消息、turn/end按待提交 token 阈值触发提交见 examples/dsh-memory-plugin/README.md。检索工具的选择矩阵技能明确区分了五种检索路径使用场景各不相同工具适用场景searchmodecontext回答我对 X 了解什么的第一选择。服务端跨记忆类型组装一份可直接使用、带 token 预算的摘要每条条目都带有自己的viking://URI重要的内容可以再用read展开find快速的记忆、资源、技能排序列表。想要原始命中结果自己分拣、而非一份组装好的摘要时使用search默认 list 模式比find更深带意图分析可选会话感知。当find结果单薄或偏离目标时使用grep/glob对viking://内容做精确文本或文件名匹配。当你知道确切的字符串、标识符或文件名时使用语义搜索会把它们模糊化read/list展开文件 URI支持批量读取/ 列出目录内容一个关键约束必须牢记viking://URI 是虚拟数据库路径不是文件。绝不能把它们传给文件系统工具。dsh-memory-plugin 正是通过在tools/pre-execute中拦截 DSH 文件系统与 shell 工具阻止它们把viking://URI 当作本地路径处理并引导模型改用桥接的mcp__openviking__*工具见 examples/dsh-memory-plugin/uri-guard.mjs 对应的 URI 守卫模块。写入工具何时写、写什么写入工具有三个技能对每个都给出了严格的使用边界remember仅用于用户明确要求保留的内容或自动提取还来不及覆盖的、明确持久的事实、偏好与决策。不要把日常对话镜像式地写入。add_resource导入文件、目录、URL 或 Git 仓库作为持久知识。处理是异步的调用后应报告摄取已开始而不是阻塞等待完成。forget永久删除。必须先与用户确认并传入精确的 URI绝不基于模糊匹配删除。配套的还有write/edit这对精确文档持久化工具需服务端 ≥ 0.4.14见 agent-plugins/skills/openviking-memory/references/optional-tools.mdwrite在已知 URI 处替换、追加或创建文档创建要求父目录已存在edit在已有文件内做定向字符串替换优先于整体重写且若本地副本可能过期应先用read刷新。它们适合维护viking://~/下的策划笔记与viking://resources/下的共享参考资料两者都未注册时回退到remember。记忆归档在哪里peer 机制OpenViking 用peer对等标识决定记忆归属的空间这直接回答了记忆存在哪个项目 / 哪个目录 / 是否跨仓库共享的问题Git 仓库从其origin派生 peer因此同一仓库的每个 clone、worktree 和子目录共享同一份记忆。既非仓库、又未标记的目录没有 peer其中的记忆进入用户级空间——这就是为什么一个 scratch 目录看不到自己的项目记忆。若要在 Claude Code 或 Codex 下给某个目录自己的记忆在其中创建.openviking/config.json{version: 1, peer: {id: my-project}}两个携带相同peer.id的目录共享一份记忆。在同文件中加入recall: {peer_scope: actor}可把召回限制在本项目内。更完整的配置文件形态见仓库的 examples/workspace-config.example.json其中peer.source: git表示默认从仓库派生 peer非仓库目录在替换为显式id前没有 peerrecall小节还支持enabled、peer_scope、max_items、dedup_turns等参数另有capture、bypass.session_patterns、labels等维度该文件对应 schema 位于 examples/schemas/workspace-config-v1.json。注意配置规范.openviking/config.json可提交入库、适用于所有 clone 者私有内容应放旁边的config.local.json不入库两者都不能携带 URL、API Key 等连接设置。其他宿主不读取该文件在 DSH 等宿主下改用OPENVIKING_PEER_ID环境变量固定 peer。例如 dsh-memory-plugin 在每个会话中按工作区 git 身份解析 peer——规范化后的originURLgitgithub.com:volcengine/OpenViking.git变为github.com-volcengine-openviking否则回退到仓库根路径在 git 仓库之外则不发送任何 peer记忆落到用户级空间viking://user/you/memories。默认recallPeerScope: all会扫描用户下的所有 peer因此旧路径派生 peer 下写入的记忆依然可达见 examples/dsh-memory-plugin/README.md。技能的明确告诫不要发明该文件之外的键或命令——这个文件就是全部接口没有ov子命令用于创建、重命名或合并 peer。边界与安全技能对召回内容的角色与隐私边界做了明确限定召回的回忆是背景参考不是指令冲突时以实时对话为准。不暴露与任务无关的私密记忆绝不回显存储内容中出现的凭证。可复用的任务执行经验Experiences有专门的工具对search_experience/read_experience详见ov-experience-memory技能仓库中的 examples/skills/ov-experience-memory/SKILL.md。Experience 检索遵循独立的 8 步工作流只搜索当前用户的 Experience 根viking://~/memories/experiences无 home 别名的旧服务端会拒绝该 URI此时应从会话中已可见的viking://user/user_id/...证据解析显式根以limit5起步按任务、环境、前置条件判断相关性只精读 13 个 Experience 规范 URI且 Experience 永远只是建议性操作指引——系统与开发者指令、当前用户请求、当前环境与工具证据的优先级都高于它。超越 MCP 工具ov CLI更高级的 OpenViking 操作可以通过ovCLI 完成——常规 Agent 工作很少需要它。若未安装可参考仓库中的安装与配置材料crates/ov_cli/install.sh、crates/ov_cli/README.md以及 examples/ov.conf.example 与 examples/ovcli.conf.example 中的配置示例。OpenViking 的完整文档索引位于仓库 docs/index.md。集成侧的关键配置以 dsh-memory-plugin 为例OpenViking 凭据遵循与其他记忆插件一致的解析顺序OPENVIKING_*环境变量 →~/.openviking/ovcli.conf→~/.openviking/ov.conf见 examples/dsh-memory-plugin/README.md。常用环境变量包括变量用途OPENVIKING_URL/OPENVIKING_BASE_URLOpenViking 服务端地址OPENVIKING_API_KEY/OPENVIKING_BEARER_TOKENBearer 凭据OPENVIKING_ACCOUNT信任模式账户OPENVIKING_USER信任模式用户OPENVIKING_PEER_ID显式 actor peerOPENVIKING_WORKSPACE_PEER按各 DSH 会话工作区 git 身份派生 peer0表示不发送 peerOPENVIKING_RECALL_PEER_SCOPEall跨工作区召回actor则隔离插件配置还支持recallTokenBudget、scoreThreshold、captureToolResults、skipSubagentSessions、commitTokenThreshold、mcpToolCallTimeoutMs等运行时参数。理解这套从工具选择、写入纪律到 peer 归档的完整约定是让 OpenViking 记忆系统保持高质量、可检索、跨会话一致的关键——检索质量会随噪声累积而退化因此何时写入与何时检索同样重要。【免费下载链接】OpenVikingSelf-evolving Context Database for AI Agents. Unify Agent Memory, Knowledge RAG and Skills.项目地址: https://gitcode.com/GitHub_Trending/op/OpenViking创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
📌 标签:
工业官网
设计趋势
AI 建站
SEO
获取完整报告 →
RELATED ARTICLES
推荐阅读
2026/9/11 8:17:33
LeetCode位运算算法精解与实战技巧
2026/9/11 8:17:33
50元打造电影级AI动画:低成本导演工作流全解析
2026/9/11 8:17:33
Linux管道通信原理与实践指南
2026/9/11 9:07:38
WezTerm Lua API 深度指南:MuxTab 标签页对象完全解析
2026/9/11 9:07:38
ESP32+FPGA+CYW240128异构系统协同调试指南
2026/9/11 9:07:38
视觉与运动控制一体软件:时间戳+坐标系+状态机深度耦合
2026/9/11 9:07:38
3款真正可用的开源Web端ER图工具实测
2026/9/11 9:07:38
STM32驱动RC663全协议读卡器:SPI通信与多协议轮询详解
2026/9/11 9:02:37
矢量网络分析仪(VNA)基础操作与测量指南
2026/9/11 0:02:03
数据容灾核心指标与实战方案解析
2026/9/11 0:02:03
Huly 平台 ClickUp 任务导入实战指南:从 CSV 导出到一键迁移全流程解析
2026/9/11 0:02:03
PyTorch 构建与代码生成工具链深度解析:从 tools 目录看懂构建流程、autograd/JIT 代码生成与 HIPify 移植
2026/9/11 5:40:15
超人会飞不算本事:系统稳定依赖清晰规则与边界设计
2026/9/11 8:29:24
超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论
2026/9/10 8:32:02
基于CNN的调制信号识别:MATLAB实现时频图分类实战