github volcengine/OpenViking v0.4.21

4 hours ago

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。

兼容性与迁移

  1. MCP search 调用方:默认 mode=\"list\" 下,query_expansionmax_tokensquotaspurposedetaildetail_by_categorydedup_turnsexclude_urispeer_scopeother_peer_penaltyother_peer_penaltiesrewriterewrite_max_bullets 现在会报参数错误。需要上下文组装时显式传 mode=\"context\";只要排序结果时移除这些字段。

    result = await client.search(
        query=\"incident timeline\",
        mode=\"context\",
        max_tokens=4000,
        exclude_uris=[\"viking://resources/internal.md\"],
    )
  2. Python SDKopenviking-sdkrequires-python>=3.10 降到 >=3.8,并兼容 Python 3.8/3.9 缺少的 Path.is_relative_to 与部分 TypedDict key metadata 行为。Python SDK component 已单独发布为 python-sdk@0.1.12 / openviking-sdk==0.1.12

  3. Docker 部署:容器默认工作目录改为 /app/.openviking,相对存储路径会落在持久化挂载中。继续建议挂载 ~/.openviking:/app/.openviking;依赖 /app 相对路径的自定义脚本需要改为绝对路径或显式设置工作目录。

  4. Codex OAuth 新配置:初始化向导默认模型由已退役的 gpt-5.4 调整为 gpt-5.6-terra。已有配置不会自动改写,仍使用 gpt-5.4 的部署应在维护窗口更新。

  5. VikingDB 字段长度:远程 VikingDB 写入前会限制 string/text 字段大小,超长 abstract 可能以截断形式存储;不要依赖超长 abstract 做精确匹配。

  6. 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 search validation 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

  1. 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, and rewrite_max_bullets now raise an argument error instead of being ignored. Use mode=\"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\"],
    )
  2. Python SDK: openviking-sdk lowers requires-python from >=3.10 to >=3.8 and replaces Python 3.9+ assumptions around Path.is_relative_to and some TypedDict key metadata. The Python SDK component has been released as python-sdk@0.1.12 / openviking-sdk==0.1.12.

  3. 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 /app as cwd should use absolute paths or set cwd explicitly.

  4. New Codex OAuth configurations: The setup wizard default changes from retired gpt-5.4 to gpt-5.6-terra. Existing configs are not rewritten automatically; update saved gpt-5.4 configs during normal maintenance.

  5. VikingDB field limits: Remote VikingDB writes now enforce string/text field limits. Oversized derived abstract values may be stored as prefixes; do not depend on exact matching of oversized abstracts.

  6. ACL documentation: Removed stale relations capability 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 moving main.

First-time Contributors

Full Changelog: v0.4.20...3fca257

Don't miss a new OpenViking release

NewReleases is sending notifications on new releases.