Skip to content

v0.4.17

Latest

Choose a tag to compare

@ZaynJarvis ZaynJarvis released this 28 Aug 12:07
e7f2fe5

中文

版本概览

OpenViking v0.4.17 包含 92 个 commit,重点补齐跨语言 SDK 与服务端接口、增强检索和媒体读取能力,并修复 Session、记忆写入、语义索引、资源导入和多种 Agent 插件的可靠性问题。同时欢迎以上 14 位首次贡献者,感谢他们为本次版本带来的改进。

升级前请注意一项 URI 兼容性变化:面向当前用户的旧写法 viking://user/resourcesviking://user/memories 等已从公开请求入口移除,请改用 viking://~/resourcesviking://~/memories,或显式的 viking://user/{user_id}/...

主要更新

  • 跨语言 SDK 对齐:Python、Go、TypeScript SDK 补齐 find/search、context search、recall、资源、内容、Session、Skill、reindex 和管理接口;Python SDK 引入类型化 options,同时保留常用具名参数。
  • 检索可直接返回正文find 和 list 模式的 search 新增 read_content,可把每个命中 URI 的可见全文放入 content 字段。CLI 对应 --read-content
  • 支持 anydoc office converter
  • MCP 原生媒体返回:MCP read 可返回标准图片、音频 content block;mode=download 可导出原始字节。视频使用 download 模式。
  • 私有 TOS URL 导入add_resource 支持一次性的 args.tos_signatureargs.tos_access,用于 HEAD/GET,凭据不会进入资源元数据或异步队列。
  • 目录默认可检索mkdir 即使不传 description,也会用目录名创建最小 L0 并排队向量化。
  • 写入缺失文件:content writereplaceappend 在目标不存在时会创建文件和父目录;create 仍在文件已存在时返回 409。
  • 管理过滤:list accounts/users 的 name 支持 *? 通配符。
  • 插件可诊断性:Claude Code 和 Codex memory plugin 新增 ov-memory-doctor,检查安装、配置、鉴权、服务和近期活动。
  • Agent 插件修复:DSH 可排除 delegated subagent session,避免污染用户记忆;ZCode 修复空 matcher 导致整组 hooks 被静默丢弃的问题。
  • 构建提速准备:GitHub Actions 持久化 Cargo/ccache 等 BuildKit mount cache,为后续镜像构建复用原生编译产物。
  • Studio 修复:修复检索 description label 重叠。
  • 记忆与检索可靠性:修复连续 Session commit 的 archive 锁阻塞、memory 多 block patch、replace 字段丢失、目录 overview 未进入 L1 索引、query planner 返回数组导致崩溃等问题。
  • 可观测性:新增按 memory type/action/result 拆分的记忆抽取指标,并为模型调用记录受控错误码和真实耗时。

首次贡献者

感谢以下 14 位首次参与 OpenViking 的贡献者:

使用示例

# 当前用户 URI
ov ls viking://~/resources

# 返回匹配项及其完整正文
ov find "deployment procedure" --read-content
ov search "deployment procedure" --read-content
results = client.find(
    query="deployment procedure",
    target_uri="viking://~/resources",
    limit=5,
    read_content=True,
)
{
  "path": "https://bucket.example.tos-cn-beijing.volces.com/private.pdf",
  "to": "viking://resources/tos/private.pdf",
  "args": {
    "tos_signature": "<TOS_SIGNATURE>"
  }
}

tos_signaturetos_access 只能二选一。不要开启生产环境 request body dump,避免显式传入的凭据进入日志。

兼容性与升级说明

  • Breaking change:旧的 uid-less 当前用户 URI 会返回 400 并提示替代写法。升级服务端前先升级外部脚本、agent prompt 和旧插件;旧服务端不认识 viking://~,服务端与客户端需要成组升级。
  • search(mode="context") 不接受 read_content=true,因为 context 模式有独立 token budget。
  • read_content=true 会扩大响应体;生产调用要设置合理的 limit
  • TOS 凭据只用于本次单文件 HTTP(S) 导入,不支持 watch 刷新,也不提供 tos:// accessor。
  • Python SDK 的 options 与同名具名参数不能同时传入;显式 False0 和空数组会被保留。

完整变更记录:v0.4.16...e7f2fe5


English

Overview

OpenViking v0.4.17 contains 92 commits. It aligns the Python, Go, and TypeScript SDKs with the server, expands retrieval and MCP media support, and improves reliability across sessions, memory updates, semantic indexing, resource imports, and Agent plugins. We also welcome 14 first-time contributors and thank them for their improvements in this release.

Before upgrading, migrate the deprecated current-user URI forms such as viking://user/resources and viking://user/memories to viking://~/resources, viking://~/memories, or the explicit viking://user/{user_id}/... form.

Highlights

  • Aligned Python, Go, and TypeScript SDK interfaces for retrieval, recall, resources, content, sessions, skills, reindexing, and administration.
  • Added 'AnyDoc' for office suite
  • Added read_content to ranked find and list-mode search, with --read-content in the CLI.
  • Added standard MCP image/audio content blocks and raw-byte download mode.
  • Added one-shot private TOS HTTP(S) imports through args.tos_signature or args.tos_access without persisting credentials.
  • Made directories searchable by creating a default L0 summary on mkdir.
  • Made replace and append create missing files and parent directories.
  • Added wildcard filters to account and user listing.
  • Added the ov-memory-doctor diagnostic skill to the Claude Code and Codex memory plugins.
  • Fixed DSH delegated-session memory contamination, ZCode hook registration, Studio retrieval-label overlap, and added persistent native-build caches to the image workflow.
  • Fixed session archive lock contention, memory patch/update regressions, missing memory overview indexing, and query-planner array responses.
  • Added memory-extraction metrics by type/action/result and safer model-call error metrics.

New Contributors

Thank you to our 14 first-time contributors: @axiomoth, @ntdat812, @c020627, @LH-kevin, @DamonDay, @yachen4ever, @wdsjjs, @Mchenr, @dajiaohuang, @rbalachandar, @ktz03, @veryvideo, @almazom, and @kwistzzqq-byte.

Usage

ov ls viking://~/resources
ov find "deployment procedure" --read-content
ov search "deployment procedure" --read-content
results = client.find(
    query="deployment procedure",
    target_uri="viking://~/resources",
    limit=5,
    read_content=True,
)

Compatibility notes

  • Breaking change: uid-less current-user URIs now fail with HTTP 400 and a corrective hint. Upgrade scripts, prompts, and plugins together with the server.
  • search(mode="context") rejects read_content=true; context assembly has its own token budget.
  • Bound response size with limit when using read_content=true.
  • TOS credentials are request-scoped and do not support watch refreshes.
  • Python SDK typed options cannot be combined with the same flattened named arguments.

Full changelog: v0.4.16...e7f2fe5