OpenViking v0.4.21
中文
亮点
- 加强存储、队列、路径锁和文件系统稳定性:修复 cp/mv 索引读取、空白资源导入、文件目标误作目录、PathLock 接管、缺失目标锁定、QueueFS 后台队列隔离、completion 状态归属和本地向量存储进程锁。
- 扩展 Agent 和记忆接入能力:新增 Hermes、MiMo/MiMoCode、WorkBuddy 日志源,新增独立 Hermes OpenViking memory provider,支持私有网关 header,并改进插件 hook 与 MCP proxy 连接管理。
- 改进检索和 MCP 行为:新增远程 VikingDB glob,修复 MCP grep 错误报告,MCP
search会拒绝 context-only 参数在 list 模式下被静默忽略。 - 提升 Studio 和 VikingBot 体验:新增 VikingBot 会话与飞书接入,优化 Compile workflow、Agent Experience 引导、任务详情、用户分页、主题和本地化展示。
- 改进部署、解析和 SDK:Docker 相对工作区默认落入持久化挂载;Tree-sitter 解析依赖固定到验证版本;Codex 默认模型改为
gpt-5.6-terra;Python SDK 支持 Python 3.8。
兼容性与迁移
-
MCP search 调用方:默认
mode=\"list\"下,query_expansion、max_tokens、quotas、purpose、detail、detail_by_category、dedup_turns、exclude_uris、peer_scope、other_peer_penalty、other_peer_penalties、rewrite与rewrite_max_bullets现在会报参数错误。需要上下文组装时显式传mode=\"context\";只要排序结果时移除这些字段。result = await client.search( query=\"incident timeline\", mode=\"context\", max_tokens=4000, exclude_uris=[\"viking://resources/internal.md\"], )
-
Python SDK:
openviking-sdk的requires-python从>=3.10降到>=3.8,并兼容 Python 3.8/3.9 缺少的Path.is_relative_to与部分TypedDictkey metadata 行为。Python SDK component 已单独发布为python-sdk@0.1.12/openviking-sdk==0.1.12。 -
Docker 部署:容器默认工作目录改为
/app/.openviking,相对存储路径会落在持久化挂载中。继续建议挂载~/.openviking:/app/.openviking;依赖/app相对路径的自定义脚本需要改为绝对路径或显式设置工作目录。 -
Codex OAuth 新配置:初始化向导默认模型由已退役的
gpt-5.4调整为gpt-5.6-terra。已有配置不会自动改写,仍使用gpt-5.4的部署应在维护窗口更新。 -
VikingDB 字段长度:远程 VikingDB 写入前会限制 string/text 字段大小,超长
abstract可能以截断形式存储;不要依赖超长 abstract 做精确匹配。 -
ACL 文档:已移除过时的
relations权限描述,不应再将relations当作文件操作能力清单的一部分。
回滚
- P0 出现时,停止推广和默认版本切换,记录受影响范围,按批准流程处理 GitHub/PyPI/Docker 产物。
- stg 或生产可先把默认镜像回退到上一个验证版本
v0.4.20,再调查。 - 发布后修复必须从正式 tag 创建
release/v0.4.21-hotfix,不要从移动的main拉 hotfix。
English
Highlights
- Strengthens storage, queue, path-lock, and filesystem reliability: fixes copy/move index reads, empty-resource imports, file targets used as directories, PathLock takeover, missing-target locking, QueueFS background isolation, completion ownership, and local vector-store process locking.
- Expands Agent and memory integrations with Hermes, MiMo/MiMoCode, and WorkBuddy log sources, a standalone Hermes OpenViking memory provider, private gateway headers, and more robust plugin hook / MCP proxy connection handling.
- Improves retrieval and MCP behavior with remote VikingDB glob support, clearer MCP grep failures, and MCP
searchvalidation that rejects context-only parameters in list mode instead of silently ignoring them. - Improves Studio and VikingBot workflows with VikingBot conversations, Feishu onboarding, Compile workflows, Agent Experience setup guidance, task detail localization, server-side user pagination, and UI refinements.
- Improves deployment, parsing, and SDK compatibility: Docker relative workspaces now resolve inside the persistent mount, Tree-sitter dependencies are pinned to validated versions, Codex defaults to
gpt-5.6-terra, and the Python SDK supports Python 3.8.
Compatibility and Migration
-
MCP search callers: In default
mode=\"list\",query_expansion,max_tokens,quotas,purpose,detail,detail_by_category,dedup_turns,exclude_uris,peer_scope,other_peer_penalty,other_peer_penalties,rewrite, andrewrite_max_bulletsnow raise an argument error instead of being ignored. Usemode=\"context\"for context assembly, or remove those fields for ranked results.result = await client.search( query=\"incident timeline\", mode=\"context\", max_tokens=4000, exclude_uris=[\"viking://resources/internal.md\"], )
-
Python SDK:
openviking-sdklowersrequires-pythonfrom>=3.10to>=3.8and replaces Python 3.9+ assumptions aroundPath.is_relative_toand someTypedDictkey metadata. The Python SDK component has been released aspython-sdk@0.1.12/openviking-sdk==0.1.12. -
Docker deployments: The default container working directory is now
/app/.openviking, keeping relative storage paths in the persistent mount. Continue mounting~/.openviking:/app/.openviking; custom scripts relying on/appas cwd should use absolute paths or set cwd explicitly. -
New Codex OAuth configurations: The setup wizard default changes from retired
gpt-5.4togpt-5.6-terra. Existing configs are not rewritten automatically; update savedgpt-5.4configs during normal maintenance. -
VikingDB field limits: Remote VikingDB writes now enforce string/text field limits. Oversized derived
abstractvalues may be stored as prefixes; do not depend on exact matching of oversized abstracts. -
ACL documentation: Removed stale
relationscapability wording from ACL docs.
Rollback
- For a P0, stop rollout and default-version promotion, record affected scope, and handle GitHub/PyPI/Docker artifacts through the approved process.
- stg or production can first revert the default image version to the last verified
v0.4.20, then investigate. - For a post-release fix, branch from the formal tag as
release/v0.4.21-hotfix, never from movingmain.
First-time Contributors
- @runyunzhou — #5000
- @Souptik96 — #4976
- @guuzaa — #4974
- @yaokuku123 — #5068
- @zhangzhangco — #5084
- @alecchen — #5116
- @nocvalight — #5117
- @Tong-bit-art — #4945
Full Changelog: v0.4.20...3fca257