github volcengine/OpenViking v0.5.3

3 hours ago

OpenViking v0.5.3

中文

OpenViking v0.5.3 在 v0.5.2.1 之上合入 98 个提交,重点是 Rules(Beta)、存储与路径锁可靠性、鉴权与账户管理、Gateway 多副本、Compile 加固和 Agent 插件改进。本版本包含少量管理接口与旧 Session 兼容的破坏性变更,升级前请阅读下方说明。配套发布 python-sdk@0.1.18。

重点更新

  • Rules(Beta):新增 Rule 服务,并向 Agent 暴露 openviking_rule_search 工具,附中英文指南与 API 参考(#6364、#6613)。
  • 存储与路径锁:新增事务型 SQLite path lock、按 scope 批量刷新 Redis 租约、拒绝跨 scope 的 Tree 锁与路径别名绕过、令牌丢失后撤销租约授权、Provider 迁移后恢复持久化交接;修复递归删除导致 PathLock 提前失效、中文路径旧锁交接恢复;新增可选 Redis 目录 TTL、多写 IOPS 优化(#6679、#6665、#6685、#6687、#6704、#6745、#6631、#6620、#6392、#6646)。
  • 鉴权与账户:支持用户自助轮换 API Key;管理员列表只显示调用者自己的 user key;校验身份角色;支持角色降级与大小写不敏感输入;Group 成员改为批量添加(#6649、#6610、#6752、#6714、#6796)。
  • Gateway:独立 Gateway 可基于 Redis 多副本运行;Session 过期按秒配置;Responses 中 tools: null 正常透传;内嵌 Gateway 数据存放在 storage.workspace 下(#6513、#6651、#6309、#6800)。
  • Compile / 检索:加固目标版本与定时更新、拒绝 system 命名空间作为输入/输出、支持图片源;context 模式可选 rerank 并解耦 rerank.threshold;在线检索绕过入库并发限制;新增 L2 chunk size 配置(#6615、#6634、#6794、#6719、#6605、#6730、#6660)。
  • Agent 插件与连接器:新增 CodeBuddy Code CLI 适配、DeepSeek Harness Desktop、钉钉连接器 OAuth、安装后 Agent onboarding 与历史导入脚本;修复 Codex/pi/opencode/Hermes/MAF 等插件的捕获、提交与去重问题(#5860、#6626、#6609、#6003、#6597、#6598、#6032、#6020、#6799、#6230)。
  • Studio / CLI:改进 Compile 首次使用流程、终端文件系统操作命令、会话面板与指标自适应;CLI 新增 OVPack 进度反馈,add-resource --wait 轮询任务状态(#6491、#6729、#6675、#6487)。

破坏性变更与升级说明

  • 旧 Session 路径兼容移除(#6642):日常读写只访问 viking://user/{user_id}/sessions/...;旧 viking://session/... URI 返回 INVALID_URI,仅存在于旧目录的 Session 视为不存在。
  • 旧会话迁移退役(#6746):POST /api/v1/admin/migrate 现在返回 400 INVALID_ARGUMENT;ov admin migrate 及 Python/TypeScript/Go SDK 对应方法已移除。仍有 0.3.x 遗留会话的部署请在旧版本完成迁移后再升级。
  • Group 成员批量接口(#6796):PUT /api/v1/admin/accounts/{account_id}/groups/{group_id}/members 接收 {"user_ids": [...]}(1–1000 个);旧的 PUT /members/{user_id} 已移除,单个用户请传单元素数组。
  • 身份校验收紧(#6752):未知角色和缺失的注册身份会被拒绝。

兼容性与验证

  • 发布目标:178a8cdfb41b51e7d24c4bf79a13cc54981e0ee8。
  • 配套 SDK:openviking-sdk 0.1.18(python-sdk@0.1.18)。
  • 完整变更范围:v0.5.2.1...v0.5.3。v0.5.2.1 分支上的热修复均已包含在本版本中。

首次贡献者

感谢以下首次贡献者:@caozeal、@zhanglistar、@Huxc2020、@wang2-lat、@vriebge、@DURUII、@lvheyang。

English

OpenViking v0.5.3 adds 98 commits on top of v0.5.2.1. The main areas are Rules (Beta), storage and path-lock reliability, auth and account management, multi-replica Gateway, Compile hardening, and agent plugin improvements. A few admin APIs and legacy Session paths change incompatibly; review the notes below before upgrading. Ships alongside python-sdk@0.1.18.

Highlights

  • Rules (Beta): new Rule service and an openviking_rule_search tool for agents, with English and Chinese guides and API reference (#6364, #6613).
  • Storage and path locks: transactional SQLite path locks, batched Redis lease refresh per scope, rejection of cross-scope Tree locks and path-alias bypasses, lease revocation after token loss, and durable handoff recovery after provider migration. Fixes early PathLock expiry during recursive delete and legacy lock handoff for Chinese paths. Also adds an opt-in Redis directory TTL and multi-write IOPS optimizations (#6679, #6665, #6685, #6687, #6704, #6745, #6631, #6620, #6392, #6646).
  • Auth and accounts: self-service user API key rotation, admin listings that reveal only the caller's own user key, identity role validation, role demotion with case-insensitive input, and batch group-member additions (#6649, #6610, #6752, #6714, #6796).
  • Gateway: the standalone gateway can run as a multi-replica service on Redis. Session expiry is configured in seconds, a null tools field in Responses replies is relayed instead of failing, and embedded gateway data lives under storage.workspace (#6513, #6651, #6309, #6800).
  • Compile / retrieval: hardened target versioning and scheduled updates, rejection of system namespace inputs and outputs, and image sources. Rerank for context mode is now opt-in with a decoupled rerank.threshold, online retrieval bypasses ingestion concurrency limits, and the L2 chunk size is configurable (#6615, #6634, #6794, #6719, #6605, #6730, #6660).
  • Agent plugins and connectors: CodeBuddy Code CLI adapter, DeepSeek Harness Desktop, DingTalk connector OAuth, and post-install agent onboarding with a history import script. Fixes capture, commit, and dedup issues in the Codex, pi, opencode, Hermes, and MAF plugins (#5860, #6626, #6609, #6003, #6597, #6598, #6032, #6020, #6799, #6230).
  • Studio / CLI: a better first-use Compile workflow, filesystem mutation commands in the terminal, and responsive session panes and metrics. The CLI shows OVPack progress, and add-resource --wait polls task status (#6491, #6729, #6675, #6487).

Breaking changes and migration

  • Legacy Session path compatibility removed (#6642): sessions are only read and written under viking://user/{user_id}/sessions/.... Legacy viking://session/... URIs return INVALID_URI, and sessions that exist only in legacy directories are treated as missing.
  • Legacy session migration retired (#6746): POST /api/v1/admin/migrate now returns 400 INVALID_ARGUMENT. ov admin migrate and the matching Python, TypeScript, and Go SDK methods are removed. Deployments that still hold 0.3.x sessions should migrate them on an older release before upgrading.
  • Batch group-member API (#6796): PUT /api/v1/admin/accounts/{account_id}/groups/{group_id}/members takes {"user_ids": [...]} (1–1000). The old PUT /members/{user_id} route is removed; for a single user, send a one-element array.
  • Stricter identity validation (#6752): unknown roles and missing registered identities are rejected.

Compatibility and verification

  • Release target: 178a8cdfb41b51e7d24c4bf79a13cc54981e0ee8.
  • Companion SDK: openviking-sdk 0.1.18 (python-sdk@0.1.18).
  • Full change range: v0.5.2.1...v0.5.3. All hotfixes from the v0.5.2.1 branch are included.

New contributors

Thanks to first-time contributors @caozeal, @zhanglistar, @Huxc2020, @wang2-lat, @vriebge, @DURUII, and @lvheyang.

Full Changelog: v0.5.2.1...v0.5.3

Don't miss a new OpenViking release

NewReleases is sending notifications on new releases.