github volcengine/OpenViking v0.3.15

latest release: v0.3.16
10 hours ago

OpenViking v0.3.15

本次 v0.3.15 是一个覆盖面很广的版本,重点落在 Memory/Session 体系升级、OpenClaw 与 Claude Code 生态打磨、CLI 与资源操作能力增强,以及服务端可靠性、安全性和部署体验提升。整体来看,这是一个明显偏“能力扩展 + 工程稳定性补强”的版本。

Highlights

  • Memory 体系继续升级:引入 Working Memory v2、agent-scope 两阶段 trajectory/experience memory pipeline,并补齐 persistent session、recall redesign、memory isolation 等能力,进一步改善长会话、群聊、多 agent 和跨轮次记忆质量。
  • OpenClaw / Claude Code 集成增强:OpenClaw 插件与主链路补上自动 recall、5.2 contract 兼容、shared remember writes、自动安装与发布流程;Claude Code 插件新增可选 statusline、/ov status、session-start profile injection,并继续清理 tool-output 捕获链路。
  • CLI 与资源接入更完整:新增 ov CLI 支持与 --progress 展示,add-resource 支持路径变量和 -p,并为 add-resource / add-skill 增加异步任务跟踪。
  • 服务端启动与部署更稳/health/ready 生命周期解耦,初始化阶段可响应健康检查;Docker entrypoint、Helm readiness probe、延迟初始化失败退出逻辑同步完善。
  • 安全与兼容性补强:限制 register_user 的高权限角色注册,升级 python-multipartlitellm 安全基线,并修复 JSON typed loads、OpenAI VLM retry、RAGFS 扩展版本校验等稳定性问题。

Upgrade Notes

  • 如果你使用 Memory / OpenClaw / cc-memory-plugin,建议关注本版本的 session memory、persistent recall、memory isolation 和 shared remember writes 行为变化;这些改动会直接影响长会话记忆注入、群聊隔离和插件侧记忆捕获方式。
  • 如果你依赖 健康检查或容器编排v0.3.15 起建议优先使用 /ready 作为 readiness probe;/health 已支持在初始化期间响应,但不再等价于“服务已完全可用”。
  • 如果你使用 CLI 或自动化脚本,可以评估迁移到新的 ov CLI 工作流,并注意 add-resource / add-skill 已支持异步任务跟踪,输出与交互节奏会比旧版本更明确。
  • 如果你接入 MCP / OAuth 客户端,本版本新增原生 OAuth 2.1 authorization 支持,同时对 MCP 的资源添加、目录删除、tool 命名和 store 元数据做了兼容性修复。
  • 如果你运行在安全敏感环境,建议同步升级到本版本以获得 python-multipart >=0.0.27litellm >=1.83.7 以及管理接口权限收敛带来的安全修复。

What's Changed

Memory / Session / Recall

  • 引入 Working Memory v2:7-section session memory、anti-bloat guards、sliding-window tokens,并完成 OpenClaw 集成。
    #1782
  • cc-memory-plugin 完成 persistent session and recall redesign
    #1615
  • 支持 memory isolation,并进一步补齐群聊模式。
    #1711 #1905
  • 增加 agent-scope two-phase trajectory/experience memory pipeline
    #1880
  • 修复 memory queue stall、fs-error 分类、final extract output 解析要求、bot memory build 等一批记忆链路问题。
    #1531 #1902 #1912
  • cc-memory-plugin 修复 assistant turn 默认捕获、inline tool I/O、tool-heavy batch 丢失等问题。
    #1849 #1850

OpenClaw / Claude Code / Plugin Ecosystem

  • OpenClaw 插件统一 session 与 agent-prefix 路由,支持合并连续 user turns,并补上自动 recall 通过 assemble 路径。
    #1832 #1835 #1858
  • OpenClaw 主链路支持 5.2 contracts、shared remember writes,并在 enable 前补充 plugin load path。
    #1866 #1913
  • 增加 OpenClaw OpenViking 插件的 自动化安装与 ClawHub 发布流程,适配 OpenClaw >5.4
    #1904
  • Claude Code 插件新增 OpenViking statusline(opt-in)/ov status、session-start profile injection,并清理 tool-output capture。
    #1890 #1914
  • cc-plugin 移除 plugin commands 中的 --scope,增加 legacy install path。
    #1876
  • MCP 工具命名进一步收敛,便于跨插件统一调用。
    #1851

CLI / Resource / Tasking

  • 新增 ov CLI support,并增加 ov --progress 进度展示。
    #1916 #1872
  • add-resource 支持 path variables-p
    #1896
  • add-resource / add-skill 增加 async task tracking
    #1763
  • 修复 CLI 摘要展示策略、BOM 配置兼容,以及 markdown slicing / Rust CLI 兼容性问题。
    #1921 #1922 #1919

Server / API / OAuth / Admin

  • 新增 response feedback tracking 到 OpenAPI / observability 链路。
    #1660
  • 新增面向 MCP 客户端的 原生 OAuth 2.1 authorization
    #1870
  • 服务端支持 shared temp upload mode
    #1899
  • register_user 现在会限制特权角色注册。
    #1624
  • list_agents endpoint 已补充进 admin API overview 文档。
    #1826

Storage / FS / Search / Rebuild

  • 修复 _enqueue_direct_vectorization 透传 context_type,并兼容 read_file 返回 str 的情况。
    #1853
  • 修复 skill write URI 的 agent scope prefix 解析、写入时 shorthand namespace URI canonicalization,以及 multi-dot 文件名资源解析问题。
    #1889 #1929 #1875
  • glob 现在会把 AGFS “not a directory” 映射为 FailedPrecondition
    #1898
  • stat() 暴露 isLocked,便于感知 path-lock 状态。
    #1940
  • 优化 VikingFS grep 实现,并为本地索引恢复增加节流进度日志。
    #1731 #1888
  • 新增 rebuild API scaffold
    #1592

Reliability / Deploy / Docker

  • 服务端采用 分阶段 lifespan,使 /health 在初始化期间可响应。
    #1878
  • Docker entrypoint 改为等待 /ready 后再启动 console;Helm readiness probe 也同步切换到 /ready
    #1886 #1884
  • 延迟初始化失败时会主动退出进程,避免僵尸可用态。
    #1893
  • Docker 构建缓存 cargo + ccache,去掉冗余 maturin 步骤,显著改善 Python 改动下的重建速度。
    #1885
  • SIGTERM 处理改为 sys.exit(0)
    #1883

Security / Compatibility / Model Integrations

  • 升级 python-multipart >=0.0.27,修复 GHSA-pp6c-gr5w-3c5g
    #1877
  • 升级 litellm >=1.83.7,覆盖 5 个 GHSA 安全问题。
    #1882
  • 修复 OpenAI embedding 默认维度、VLM 重试关闭、rerank payload 健壮性、RAGFS cpython 扩展校验、JsonUtils typed loads validation。
    #1825 #1860 #1933 #1854 #1768

Docs / Assets / Misc

  • 文档补充 temp upload 配置、OpenClaw status / --json 验证方式,并持续整理 changelog / roadmap。
    #1925 #1924 #1845
  • 新增更紧凑的 favicon 变体,并修复透明背景丢失问题。
    #1879 #1881
  • 更新微信二维码与相关资源。
    #1863 #1865 #1864

Full Changelog: v0.3.14...v0.3.15

What's Changed

  • feat(observability): add response feedback tracking to openapi by @myysy in #1660
  • fix(emb): Fix OpenAI emb model default dimension by @yeshion23333 in #1825
  • fix(openclaw-plugin): unify session and agent-prefix routing across compact, commit, and tools by @jcp0578 in #1832
  • fix(openclaw): route auto recall through assemble by @wlff123 in #1835
  • Introduce Working Memory v2: 7-section session memory, anti-bloat guards, sliding-window tokens, and OpenClaw integration by @huangxun375-stack in #1782
  • docs(admin): list list_agents endpoint in API overview tables by @r266-tech in #1826
  • feat: replace controversial examples with neutral alternatives by @ZaynJarvis in #1844
  • feat(cc-memory-plugin): persistent session and recall redesign by @t0saki in #1615
  • feat: harden MCP add_resource + cc-memory-plugin claude wrapper by @t0saki in #1846
  • docs: fix i18n switch, add v0.3.13/v0.3.14, normalize changelog, update Roadmap by @ZaynJarvis in #1845
  • fix(cc-memory-plugin): default-capture assistant turns + inline tool I/O by @t0saki in #1849
  • fix(cc-memory-plugin): stop silently dropping tool-heavy batches; remove MIGRATION.md by @t0saki in #1850
  • fix(openclaw-plugin): merge consecutive user turns (#1724) by @huangxun375-stack in #1858
  • Feat/memory isolation 支持群聊模式 by @chenjw in #1711
  • fix(storage): pass context_type in _enqueue_direct_vectorization and handle str from read_file by @yc111233 in #1853
  • fix: reject mismatched ragfs cpython extensions by @euyua9 in #1854
  • fix(vlm): disable OpenAI SDK retries by @qin-ctx in #1860
  • Fix/oc2ov v2 session 404 by @kaisongli in #1824
  • Wechat QR code update by @Lumos088 in #1863
  • docs(opencode-plugin): document account/user tenant config from #1820 by @r266-tech in #1861
  • fix(semantic): memory queue stall + permanent fs-error classification by @ZaynJarvis in #1531
  • wechat QR code update by @Lumos088 in #1865
  • [security] fix(admin): restrict privileged roles in register_user by @Hinotoi-agent in #1624
  • Fix JsonUtils typed loads validation by @duyua9 in #1768
  • fix(openclaw): support 5.2 contracts and shared remember writes by @Mijamind719 in #1866
  • feat: ov --progress by @MaojiaSheng in #1872
  • fix(cc-plugin): drop --scope from plugin commands, add legacy install path by @t0saki in #1876
  • feat: serve tight favicon variants for API server and docs site by @t0saki in #1879
  • fix(favicon): preserve transparency instead of baking white background by @t0saki in #1881
  • Delete docs/images/wechat-group-qrcode.jpg by @Lumos088 in #1864
  • fix(server): 分阶段 lifespan 使 /health 在初始化期间可响应 by @A0nameless0man in #1878
  • deps: bump python-multipart >=0.0.27 (GHSA-pp6c-gr5w-3c5g, CVSS 7.5 DoS) by @r266-tech in #1877
  • perf(docker): cache cargo+ccache and drop redundant maturin step (-51% rebuild on .py change) by @t0saki in #1885
  • fix(storage): resolve skill write URI with agent scope prefix by @fengluodb in #1889
  • feat(claude-code-plugin): OpenViking statusline (opt-in) by @t0saki in #1890
  • feat(storage): 本地索引恢复增加时间节流进度日志 by @A0nameless0man in #1888
  • fix(docker): entrypoint 等待 /ready 后再启动 console by @A0nameless0man in #1886
  • fix(deploy): Helm readiness probe 改用 /ready 端点 by @A0nameless0man in #1884
  • fix(server): validate skill metadata by @qin-ctx in #1891
  • fix(utils): SIGTERM 使用 sys.exit(0) 替代 signal.default_int_handler by @A0nameless0man in #1883
  • deps(security): bump litellm floor to >=1.83.7 (5 GHSA: 2 CRITICAL + 3 HIGH) by @r266-tech in #1882
  • fix(skill): reject missing skill names by @qin-ctx in #1874
  • fix(server,plugin): readable OV session id + MCP store role_id by @t0saki in #1895
  • perf(storage): optimize VikingFS grep implementation by @baojun-zhang in #1731
  • fix(server): 延迟初始化失败时退出进程 by @A0nameless0man in #1893
  • fix(markdown): preserve multi-dot filenames during resource parsing by @zexuyann in #1875
  • docs(openclaw-plugin): drop agent_end from README hook list per #1866 by @r266-tech in #1871
  • ci: deploy VitePress docs to TOS by @yufeng201 in #1897
  • chore(agent-tools): converge MCP tool names by @Mijamind719 in #1851
  • feat(server): add shared temp upload mode by @zhoujh01 in #1899
  • fix(server): map AGFS 'not a directory' to FailedPrecondition in glob by @fengluodb in #1898
  • Feat/memory isolation by @chenjw in #1905
  • feat(memory): agent-scope two-phase trajectory/experience memory pipeline by @yangxinxin-7 in #1880
  • chore(cli): bump ov_cli version to 0.3.14 by @ZaynJarvis in #1907
  • feat: path variables and -p for add-resource by @MaojiaSheng in #1896
  • feat(task): add async task tracking for add-resource and add-skill operations by @sponge225 in #1763
  • fix(storage): use UTC date comparison for modTime display in ls & fix same day detection by @ZaynJarvis in #1909
  • feat(openclaw-plugin): 支持 OpenViking OpenClaw 插件的自动化安装与 ClawHub 发布流程,适配OpenClaw >5.4安装 by @LinQiang391 in #1904
  • feat(rebuild): add rebuild api scaffold by @zhoujh01 in #1592
  • feat: ov CLI support by @MaojiaSheng in #1916
  • feat(claude-code-plugin): session-start profile injection, /ov status command, tool-output capture cleanup by @t0saki in #1914
  • fix(wizard): use volcengine provider for BytePlus + add Custom VLM option by @ZaynJarvis in #1915
  • feat(oauth): native OAuth 2.1 authorization for MCP clients by @t0saki in #1870
  • fix: optimize markdown slicing, and fix a rust CLI bug for compability by @MaojiaSheng in #1919
  • fix(memory): require parseable final extract output by @duyua9 in #1902
  • fix: 修复 CLI 对摘要的展示策略,现在有一个非服务端的截断不符合预期 by @MaojiaSheng in #1921
  • fix(openclaw): add plugin load path before enable by @Mijamind719 in #1913
  • docs(config): document temp_upload server config + ovcli.conf upload.mode (#1899) by @r266-tech in #1925
  • docs(openclaw): surface openclaw openviking status / --json in Verify section (#1904) by @r266-tech in #1924
  • fix(cli): tolerate BOM in ov config by @duyua9 in #1922
  • fix(storage): canonicalize shorthand namespace URIs on write by @ehz0ah in #1929
  • fix: Enhance rerank client robustness for unexpected response payloads by @heaoxiang-ai in #1933
  • fix(mcp): support recursive directory deletion in forget tool by @t0saki in #1935
  • fix(bot\skill): Bot memory build, skill experience only extract existing skill_name, ov chat response field by @yeshion23333 in #1912
  • feat(transaction): add redo recovery toggle for session commits by @zhoujh01 in #1934
  • Fix/apply patch bug by @chenjw in #1926
  • feat(fs): expose isLocked in stat() to surface path-lock state by @fengluodb in #1940
  • chore: release setup helper 0.3.0 by @LinQiang391 in #1941

Full Changelog: v0.3.14...v0.3.15

Don't miss a new OpenViking release

NewReleases is sending notifications on new releases.