OpenViking v0.3.4
OpenViking v0.3.4 重点围绕稳定性、安全性、记忆系统优化、存储能力增强,以及插件与生态集成能力补强展开。
本次版本包含多项核心修复与增强,尤其覆盖了资源导入安全、写接口等待机制、memory v2 压缩链路、Volcengine Vector DB、Bot 渠道能
力,以及 Rust 重构后的 ragfs 文件系统。
版本亮点
- 资源安全进一步加固,HTTP 资源导入已增强对私网 SSRF 的防护能力。PR #1133
(#1133) - 写入类 API 现已支持 request-scoped wait,提升资源写入、技能写入与文件写入链路的一致性与可观测性。PR #1212
(#1212) - agfs 已重构为基于 Rust 的 ragfs,带来更清晰的架构与后续性能演进基础。PR #1221
(#1221) - memory v2 相关链路持续优化,包括锁重试控制、压缩器问题修复、语义队列去重与回忆行为修正。PR #1159
(#1159) PR #1211 (#1211) PR #792
(#792) PR #1225 (#1225) PR #1275
(#1275) - 存储侧新增 Volcengine Vector DB 的 STS Token 支持,方便更灵活的云上鉴权集成。PR #1268
(#1268) - 服务端与认证能力增强,包括 trusted mode 无 API Key 时仅允许 localhost,以及双栈网络配置支持。PR #1279
(#1279) PR #1273 (#1273) - Bot 与模型生态继续扩展,新增 channel mention 能力,并支持 MiniMax-M2.7 / MiniMax-M2.7-highspeed。PR #1272
(#1272) PR #1284 (#1284)
详细更新
安全性与稳定性
- 默认将 OpenClaw Plugin 的 recallPreferAbstract 设为 false,降低默认召回行为偏差。PR #1204
(#1204) - 修复 eval 中 async 导入问题。PR #1203 (#1203)
- 默认将 OpenClaw Plugin 的 ingestReplyAssist 设为 false。PR #1206 (#1206)
- 为 OpenAIVLM client 增加 timeout 参数,减少调用悬挂风险。PR #1208 (#1208)
- 修复短明文文件被误判导致 decrypt 抛出 Ciphertext too short 的问题。PR #1163
(#1163) - 为短明文场景补充加密单测。PR #1217 (#1217)
- 修复 PID lock 回收、recall threshold 绕过与 orphaned compressor refs 等问题。PR #1211
(#1211) - 修复 queuefs 中 memory semantic parent 重复入队问题。PR #792 (#792)
- 修复 redo recovery 中阻塞式 VLM 调用导致的启动卡死问题。PR #1226 (#1226)
- 修复 CLI add-resource 对非 UTF-8 文件名的处理问题。PR #1224 (#1224)
- 为短明文解密问题补充回归测试。PR #1223 (#1223)
- 强化 HTTP 资源导入安全,防御私网 SSRF 场景。PR #1133 (#1133)
- 修复一组发布与兼容性问题,覆盖 #1238、#1242、#1232。PR #1243 (#1243)
- 为 embedding circuit breaker 增加可配置能力并抑制重复日志噪声。PR #1277
(#1277) - 之前引入的 session archive timeout 保护已被回滚。PR #1265 (#1265)
记忆系统与存储能力
- 实现 request-scoped wait for write APIs,增强写接口等待与跟踪能力。PR #1212
(#1212) - 将 agfs 重写为 Rust 版 ragfs,涉及文件系统核心、插件与服务端实现重构。PR #1221
(#1221) - 推进 memory 优化,覆盖记忆提取、更新、类型注册、prompt 模板与 tracing 能力。PR #1159
(#1159) - 将 skills 纳入 plugin 的 autoRecall 搜索范围。PR #1225 (#1225)
- 增强 memory v2 compressor 的锁重试控制。PR #1275 (#1275)
- Volcengine Vector DB 新增 STS Token 支持。PR #1268 (#1268)
- add_message 增加 create time 字段。PR #1288 (#1288)
Bot、服务端与生态集成
- Bot 新增 channel mention 能力。PR #1272 (#1272)
- 服务端支持双栈网络配置能力。PR #1273 (#1273)
- trusted mode 在无 API Key 时限制为 localhost,降低误暴露风险。PR #1279 (#1279)
- 新增 MiniMax-M2.7 与 MiniMax-M2.7-highspeed provider 支持。PR #1284 (#1284)
- 为 Lark 补充 lark-oapi 依赖支持。PR #1285 (#1285)
- Docker 镜像加入 Gemini 可选依赖。PR #1254 (#1254)
文档、工具链与发布流程
- 文档新增 Claude Code Memory Plugin 示例链接与中文说明。PR #1228 (#1228)
- 发布流程修复,更新 release 时同步 main,并增加 Docker Hub 推送能力。PR #1229
(#1229) - CI 中 API 测试矩阵从 5 个 channel 优化为 3 个。PR #1281 (#1281)
- 新增 OpenClaw eval shell 脚本。PR #1287 (#1287)
- 新增 mem0 的 LoCoMo benchmark/eval 脚本。PR #1290 (#1290)
- 补充中英文 Prompt Guide 文档。PR #1292 (#1292)
- 修复 Docker 中 maturin 路径问题。PR #1295 (#1295)
- 更新微信群二维码。PR #1282 (#1282)
新贡献者
- @highland0971 首次贡献:PR #1208 (#1208)
- @yc111233 首次贡献:PR #1163 (#1163)
- @octo-patch 首次贡献:PR #1284 (#1284)
- @SeeYangZhi 首次贡献:PR #1254 (#1254)
完整更新记录:v0.3.3...v0.3.4
What's Changed
- fix(openclaw-plugin): default recallPreferAbstract to false by @wlff123 in #1204
- fix(eval) Fix import async by @yeshion23333 in #1203
- fix(openclaw-plugin): default ingestReplyAssist to false by @wlff123 in #1206
- fix: add timeout parameter to OpenAIVLM client by @highland0971 in #1208
- fix: decrypt raises 'Ciphertext too short' on plaintext files shorter than 4 bytes by @yc111233 in #1163
- feat(encryption): add encrypt unit test for plaintext shorter than t… by @baojun-zhang in #1217
- fix: PID lock recycle, recall threshold bypass, orphaned compressor refs by @JasonOA888 in #1211
- fix(queuefs): dedupe memory semantic parent enqueues (#769) by @Protocol-zero-0 in #792
- docs: add Claude Code Memory Plugin example link and Chinese docs by @Castor6 in #1228
- fix: prevent startup hang from blocking VLM call in redo recovery by @mvanhorn in #1226
- fix(cli): handle non-UTF-8 filenames in add-resource by @mvanhorn in #1224
- test(crypto): add regression tests for decrypting short plaintext files by @yc111233 in #1223
- Implement request-scoped wait for write APIs by @zhoujh01 in #1212
- reorg: Rewrite agfs to ragfs with rust by @MaojiaSheng in #1221
- fix: update main when release, and add docker hub push by @MaojiaSheng in #1229
- fix security: feat(resources): harden HTTP resource ingestion against private-network SSRF by @13ernkastel in #1133
- fix(session): add timeout to _wait_for_previous_archive_done to prevent infinite hang by @yc111233 in #1235
- fix: #1238 and #1242 and #1232 by @MaojiaSheng in #1243
- Feature/memory opt by @chenjw in #1159
- fix(plugin): add skills to autoRecall search scope by @mvanhorn in #1225
- Revert "fix(session): add timeout to _wait_for_previous_archive_done to prevent infinite hang" by @MaojiaSheng in #1265
- feat(bot): channel mention by @yeshion23333 in #1272
- feat(storage): volcengine vector db support sts token by @baojun-zhang in #1268
- feat(server): support host none to use dual stack network by @zhoujh01 in #1273
- feat(auth): Restrict trusted mode without API key to localhost by @zhoujh01 in #1279
- feature(memory): improve memory v2 lock retry controls in compressor by @heaoxiang-ai in #1275
- fix(security): configurable embedding circuit breaker & log suppression by @baojun-zhang in #1277
- update wechat group qrcode by @yuyaoyoyo-svg in #1282
- ci: optimize API test matrix from 5 to 3 channels by @kaisongli in #1281
- feat: add MiniMax-M2.7 and MiniMax-M2.7-highspeed provider support by @octo-patch in #1284
- feat(eval): add openclaw eval sh by @yeshion23333 in #1287
- add create time in add_message by @wlff123 in #1288
- fix(lark): add lark-oapi by @zhoujh01 in #1285
- docs(prompt): Docs/prompt guides zh en by @zhoujh01 in #1292
- benchmark: add LoCoMo evaluation scripts for mem0 by @yangxinxin-7 in #1290
- fix(docker): Fix docker maturin path 1271 by @zhoujh01 in #1295
- Include gemini optional dependency in Docker image by @SeeYangZhi in #1254
- ci: add timeout and SMTP failure notification by @kaisongli in #1293
- fix(openclaw): sanitize and cap recall queries by @qin-ctx in #1297
- fix(ci): repair reusable build workflow yaml blocks by @zhoujh01 in #1300
- feat(ast): add Lua AST parser support by @Shawn-cf-o in #1286
New Contributors
- @highland0971 made their first contribution in #1208
- @yc111233 made their first contribution in #1163
- @octo-patch made their first contribution in #1284
- @SeeYangZhi made their first contribution in #1254
Full Changelog: v0.3.3...v0.3.4