OpenViking v0.4.16
OpenViking v0.4.16 重点增强了 Agent、Memory 与资源导入能力,同时补强 URI 处理、文件系统行为和运行可观测性。本次版本新增 VikingBot 远程 Skills、用户级 Memory 提取策略、更加快速且可持久化的异步资源导入、面向当前调用方的 viking://~ URI 简写,以及适用于长时间运行 Agent 的 Context Compilation 工作流。
版本亮点
- VikingBot 支持更丰富、更长程的 Agent 工作流:VikingBot 现在可以发现、缓存并使用远端 OpenViking 中托管的 Skills。Context Compilation 也新增了源素材实体化、读取链路追踪,以及 LLM Wiki、知识图谱、日报和知识蒸馏等可复用工作流。(#4095, #4059)
- 按用户控制 Memory 提取策略:管理员可以为每个用户配置
memory_policy,精确限定可提取的 Memory 类型。对于未显式携带策略的既有 Session,新策略会在后续 commit 时生效。(#4126) - 资源导入更快、更可观测:
add-resource使用wait=false时,源数据准备会转移到可持久化的后台任务中,降低请求延迟,同时保留任务归属和可靠性。上传任务新增 Context 数量和排队阶段统计;VectorDB 返回 4xx 时,错误也会正确返回给调用方。(#4100, #4097, #4118, #4160) - 用户路径更简洁,URI 处理更可靠:新增
viking://~,可表示当前调用方的用户根目录。服务端入口现在会统一规范化并校验 Viking URI,同时补齐管理员场景下的 current-user URI 展开。(#4167, #4048, #4145) - 元数据与集成体验持续优化:语义 L0/L1 sidecar 统一以受保护的 OKF 元数据形式管理;CLI 初始化向导新增 VolcEngine/BytePlus 套餐档位与自定义交互配置;DSH 可经由共享 stdio MCP Proxy 暴露工具。(#4092, #4101, #4157)
详细变更
VikingBot、Skills 与 Agent 工作流
- VikingBot 新增远端 OpenViking Skill 的发现、缓存与执行支持。(#4095)
- Context Compilation 支持更适合长时间运行 Agent 的工作流:包括源素材实体化、读取追踪及配套的编译方案文档。(#4059)
- 新增 DSH Memory Plugin,并将 DSH 工具服务迁移至共享 stdio MCP Proxy。(#4157)
- 修复 VikingBot 在 Windows 上的 Session 路径可移植性问题。(#4162)
- 更新 DSH 对当前 Release Candidate peer 的兼容性。(#4169)
Memory、元数据与检索
- 新增用户级 Memory 提取策略,提供管理员读取/更新接口和服务端默认策略。(#4126)
- 提升跨 Session Memory 更新与部分删除的可靠性,并统一 Entity URI 的大小写规范。(#4121, #4070)
- L0/L1 语义 sidecar 调整为受保护的 OKF 内容,优化元数据处理和写入保护。(#4092)
- 在属性标签和检索结果返回前过滤非法 tags。(#4123, #4153)
- SDK 暴露 tree level limit 参数。(#4110)
资源、连接器与存储
- 通过把源数据准备放入可持久化的任务链路,降低
wait=false资源导入的请求延迟。(#4100) - 资源任务新增 Context 数量以及排队上传阶段的统计信息。(#4097, #4118)
- 新增 TOS 资源连接器参数;将 TOS
NotFound视为 S3 对象不存在;恢复对旧版飞书文档导入的支持。(#4129, #4165, #4130) - 修复
add-resource在 VectorDB 返回 4xx 时吞掉错误的问题。(#4160) - 修复文件/目录递归删除语义,并确保删除账号时同步删除其持久化文件系统数据。(#4181, #4125)
- 当 RAGFS 缺少 pathlock manager 时返回配置错误,而非触发 panic。(#4083)
URI、MCP、CLI 与 Studio
- 新增当前调用方用户根目录别名
viking://~,并在服务端入口统一规范化请求 URI。(#4167, #4048) - 管理员请求中,current-user URI 别名可被正确展开。(#4145)
- MCP 读取文件时会保留并返回底层文件系统错误。(#4093)
- CLI 初始化向导新增 VolcEngine/BytePlus 套餐档位与自定义交互配置。(#4101)
- Web Studio 现在会遵守 Task API 限制,并在请求日志中显示错误详情。(#4148, #4172)
- 修复 LiteLLM 异步 Embedding 向量未按预期长度截断的问题。(#4146)
文档
升级提示
- Resource Relations 已移除。 实验性的 Resource Relation REST API、CLI 命令及关联文档均不再提供。若当前使用
/api/v1/relations,或使用ov relations、ov link、ov unlink,请在升级前删除或替换相关集成。(#3956) viking://~是基于已认证调用方解析的便捷别名;既有规范 URI(如viking://user/...)仍保持可用。- 管理用户的提取策略可调用
GET或PATCH /api/v1/admin/accounts/{account_id}/users/{user_id}/settings。将memory_policy显式设为null,即可清除持久化的用户覆盖策略并恢复继承默认配置。
新贡献者
完整变更:v0.4.15...v0.4.16
What's Changed
- fix(mcp): return read errors from underlying fs by @sponge225 in #4093
- docs(hermes): recommend memory setup openviking by @ZaynJarvis in #4098
- docs: add a cross-integration capability reference page by @t0saki in #4076
- feat(vikingbot): support OpenViking remote skills by @yeshion23333 in #4095
- feat: refine OKF sidecar metadata handling and write protection by @MaojiaSheng in #4092
- perf(resource): speed up wait=false add-resource by @qin-ctx in #4100
- feat(cli): add VolcEngine/BytePlus plan tiers and interactive custom setup to init wizard by @t0saki in #4101
- feat(resources): expose context count in upload tasks by @ehz0ah in #4097
- fix(sdk): expose tree level limit by @HaningZS in #4110
- fix(ragfs): return config error instead of panicking when pathlock manager is missing by @wutongyuonce in #4083
- feat: add user-scoped memory extraction policies by @heaoxiang-ai in #3906
- Revert "feat: add user-scoped memory extraction policies" by @heaoxiang-ai in #4122
- fix(resource): collect stats for queued uploads by @ehz0ah in #4118
- fix: delete account remain data in filesystem by @baojun-zhang in #4125
- refactor: remove resource relation edges by @sponge225 in #3956
- fix(uri): server 入口校验并补全 URI,内部只用规范 URI by @qin-ctx in #4048
- fix(feishu): support legacy doc imports by @qin-ctx in #4130
- fix(memory): canonicalize entity URI casing by @stone16 in #4070
- fix(memory): make cross-session updates and partial deletions reliable by @fujiajie666 in #4121
- Fix/filter invalid attr tags by @zhoujh01 in #4123
- fix(uri): expand current-user URIs for admins by @qin-ptr in #4145
- fix(embedding): truncate LiteLLM async vectors by @AaronZ345 in #4146
- docs: tag GitHub referrals with UTM by @ZaynJarvis in #4155
- docs: use connect agent template tokens by @ManAsWind in #4152
- fix(storage): 修复 ov add-resource在向量库返回4xx时吞异常问题 by @chuanbao666 in #4160
- feat(dsh): serve tools over the shared stdio MCP proxy by @t0saki in #4157
- fix(web-studio): respect task API limits by @ehz0ah in #4148
- feat(compile): improve source materialization and long-running agent loops by @fujiajie666 in #4059
- feat: restore user-scoped memory extraction policies by @heaoxiang-ai in #4126
- fix: treat TOS NotFound as missing S3 object by @MDNDDD in #4165
- feat(uri): add viking://~ home alias for the caller's user root by @t0saki in #4167
- fix(dsh): support current release candidate peers by @ZaynJarvis in #4169
- feat: new tos connector args by @zihengli-bytedance in #4129
- feat(studio): show error details in request logs by @ehz0ah in #4172
- fix(storage): fix recursive flag for file/dir delete by @baojun-zhang in #4181
- fix(bot): make session paths portable on Windows by @yeshion23333 in #4162
- docs: note benchmark model configuration by @chenjw in #4183
- fix(search): filter invalid result tags by @zhoujh01 in #4153
New Contributors
Full Changelog: v0.4.15...v0.4.16