v0.4.7 发布概要
本次发布继续围绕 Agent 集成、MCP 本地文件链路、存储与多版本管理可靠性、Bot/OpenClaw 兼容性、Web Studio 配置体验和生产可运维性做增强。
重点更新
- MCP 与本地文件集成增强:MCP 新增 compact description mode,降低工具描述带来的上下文 token 开销;本地文件上传支持通过签名
temp_uploadtoken 自动入库,让 MCP 客户端处理本地文件更顺滑。 - Agent / Bot / OpenClaw 生态改进:Codex 插件增强 upstream marketplace 安装与 recall 稳定性;OpenClaw tool parts 现在会以 assistant messages 形式保存;Bot 增加超时配置,并修复飞书主动消息 metadata、工具调用顺序、thinking mode 和图片上传等问题。
- 存储、加密写入与 QueueFS 稳定性:加密写入改为 temp-file publish + 双路径锁保护,并进一步优化 temp-write 元数据开销;QueueFS 修复 sidecar、图片 rewrite 等路径的锁复用问题,挂载时跳过控制插件缓存;delete/write-protected root 的移动和删除保护语义进一步对齐。
- 文件系统与多版本管理能力扩展:新增 filesystem attrs 元信息接口;多版本管理支持账号级
.ovgitignore风格忽略规则,并修复 git 多版本接口中的路径问题;session no-op commit 现在会明确标记为 skipped。 - SDK 与 API Surface 补齐:Go SDK 暴露
target_uriskill scoping,并支持 greplevel_limit控制遍历深度;认证新增 seeded API key 生成;OAuth DCR client scope 会持久化,修复 MCP clientinvalid_scope问题。 - 模型、Embedding 与指标修复:Volcengine 模型请求会正确转发 headers;VLM 请求会省略未设置的默认
max_tokens;Embedding 鉴权错误不再无限重入队;零结果检索不再对RESULTS_TOTAL做无意义的 0 增量。 - Web Studio 与初始化体验:Web Studio 重新设计 Connection & Identity 设置页,并将 assumed account 固定到 admin key 所属账号;初始化流程新增 TUI 风格 setup wizard,可分别配置 embedding 与 VLM。
- 文档与社区更新:同步 legacy
agent_id迁移行为说明,补充 botagents.thinking配置文档,README 增加 OpenViking Studio 在线 demo 链接,并更新微信群二维码。
升级说明
-
使用 MCP 客户端、本地文件上传或 OpenClaw/Bot 集成的用户建议升级,以获得更低上下文开销、更稳定的文件入库和更完整的消息保存语义。
-
使用火山引擎向量库作为后端时,需要在向量库 schema 中新增字段:
{"FieldName": "content", "FieldType": "text"} {"FieldName": "search_tags", "FieldType": "list<string>"} -
使用多版本管理的部署可以开始使用账号级
.ovgitignore规则控制 commit 范围。 -
依赖 OAuth MCP client、Embedding 队列、加密存储或 QueueFS cache 的生产环境建议升级,相关路径包含多项可靠性修复。
-
使用 Web Studio 管理身份和连接的用户升级后会看到新的 Connection & Identity 页面。
New Contributors
Full Changelog: v0.4.6...v0.4.7
What's Changed
- feat(server): add user add target defaults by @qin-ctx in #2888
- feat(mcp): add compact description mode to reduce context token overhead by @lg320531124 in #2853
- fix(codex): support upstream marketplace install and robust recall by @LinQiang391 in #2879
- docs(codex): revert #2879 doc changes; demote marketplace install to local-only by @t0saki in #2901
- feat(ingest): replay local agent-harness logs into OpenViking sessions by @t0saki in #2892
- fix(storage): honor delete-protected roots on mv source (parity with #2873) by @r266-tech in #2898
- feat(sdk/go): expose target_uri skill scoping (parity with #2813) by @r266-tech in #2897
- chore(opencode-plugin): scope package and bump to 0.1.6 by @ZaynJarvis in #2895
- docs(migration): sync legacy agent_id behavior after #2839 by @r266-tech in #2861
- fix: opencode plugin package targets by @ZaynJarvis in #2851
- feat(web-studio): redesign connection & identity settings by @ZaynJarvis in #2896
- fix(bot): Check workspace path restriction, include agent path and config path by @yeshion23333 in #2908
- fix(web-studio): pin assumed account to admin key's own account by @ZaynJarvis in #2910
- Generate resource L0 summaries from overview prompt by @heaoxiang-ai in #2890
- feat(bot):Add timeout config by @yeshion23333 in #2917
- feat(encrypt): Protect encrypted writes with temp-file publish and dual-path locking by @baojun-zhang in #2894
- feat(fs): 新增 attrs 元信息接口 by @qin-ctx in #2906
- fix(volcengine): forward model request headers by @qin-ctx in #2909
- fix(storage): block deleting the write-protected viking://agent root (parity with #2873) by @r266-tech in #2914
- feat(sdk/go): expose grep level_limit to control traversal depth by @r266-tech in #2915
- Feat/understand api queue by @chenxiaobin-lang in #2889
- fix(bot): preserve Feishu delivery metadata for proactive messages by @yeshion23333 in #2924
- feat(mcp): auto-ingest local-file uploads via signed temp_upload token by @t0saki in #2925
- fix(session): mark no-op commits as skipped by @qin-ctx in #2931
- Store OpenClaw tool parts as assistant messages by @wlff123 in #2934
- feat(auth): support seeded API key generation by @qin-ctx in #2932
- feat(encrypt):reduce encrypted temp-write metadata overhead by caching(url) temp-root readiness and turning the temp-file path into TTL fast path + NotFound fallback + AlreadyExists cleanup . by @baojun-zhang in #2933
- feat: support ignoring certain files in the multi-version management function, similar to the git ignore feature by @Hao-Yu-la in #2930
- WeChat QR code update by @Lumos088 in #2942
- fix(metrics): stop incrementing RESULTS_TOTAL by 0 on zero-result retrievals (#2922) by @r266-tech in #2940
- fix(embedding): stop re-enqueueing auth errors forever (#2916) by @khou in #2919
- fix(bot): Tool-call ordering, thinking mode, and image uploads by @yeshion23333 in #2944
- fix(vlm): omit unset default max_tokens by @qin-ctx in #2946
- fix(queuefs-cache): Skip caching control plugins during mount by @tuofang in #2948
- fix(server): persist OAuth DCR client scope to fix invalid_scope for MCP clients by @dfwgj in #2921
- fix(queuefs): reuse outer lock_handle for sidecar, image rewrite and … by @baojun-zhang in #2953
- fix(vlm): omit unset default max_tokens by @qin-ctx in #2949
- feat(init): TUI-style setup wizard with separate embedding/VLM config by @t0saki in #2952
- docs: add OpenViking Studio live demo link to READMEs by @t0saki in #2960
- fix: 修复 git 多版本管理接口遇到的路径问题 by @Hao-Yu-la in #2963
- chore(deps): update litellm requirement from <1.89.3,>=1.83.7 to >=1.83.7,<1.90.3 by @dependabot[bot] in #2965
- Watch sync followup by @myysy in #2962
- chore(deps): bump openclaw/clawhub/.github/workflows/package-publish.yml from 0.12.0 to 0.23.1 by @dependabot[bot] in #2964
- fix(memory): remove duplicate name field in identity template by @xiaochen-zhou in #2943
- docs(bot): document agents.thinking config option by @r266-tech in #2954
New Contributors
- @lg320531124 made their first contribution in #2853
- @dfwgj made their first contribution in #2921
- @xiaochen-zhou made their first contribution in #2943
Full Changelog: v0.4.6...v0.4.7