Releases: volcengine/OpenViking
v0.2.3
Breaking Change
After upgrading, datasets/indexes generated by historical versions are not compatible with the new version and cannot be reused directly. Please rebuild the datasets after upgrading (a full rebuild is recommended) to avoid retrieval anomalies, inconsistent filtering results, or runtime errors.
Stop the service -> rm -rf ./your-openviking-workspace -> restart the service with the openviking-server command.
What's Changed
- Feat: CLI optimization by @MaojiaSheng in #389
- Update README.md by @Soda-Wong in #392
- Update README_CN.md by @Soda-Wong in #391
- feat: support glob -n and cmd echo by @MaojiaSheng in #395
- fix: fix release by @zhoujh01 in #396
New Contributors
- @Soda-Wong made their first contribution in #392
Full Changelog: v0.2.2...v0.2.3
v0.2.2
Breaking Change
Warning: This Release includes Breaking Chage! Before upgrading, you should stop VikingDB Server and clear workspace dir first.
What's Changed
- fix ci by @zhoujh01 in #363
- 在readme补充千问使用方法 by @BytedanceFu in #364
- feat(parse): Add C# AST extractor support by @suraciii in #366
- chore: bump CLI version to 0.2.1 by @ZaynJarvis in #370
- fix: normalize OpenViking memory target paths by @wlff123 in #373
- fix: fix filter when multi tenants by @zhoujh01 in #374
- docs/update_wechat by @qin-ctx in #377
- Fix retriever by @zhoujh01 in #382
- fix(git): support git@ SSH URLs with regression-safe repo detection (#317) by @r266-tech in #385
- fix(agfs): 预编译agfs所依赖的lib/bin,无需安装时构建 by @chuanbao666 in #388
New Contributors
Full Changelog: v0.2.1...v0.2.2
v0.2.1
This is a core feature preview release. Please note that performance and consistency have not been fully optimized, so use with caution.
Before you upgrade, please remove old ov.conf and old data directory, and then follow the new README.md to deploy!
1. Core Capability Upgrades: Multi-tenancy, Cloud-Native & OpenClaw/OpenCode Adaptation
- Multi-tenancy: Implemented foundational multi-tenancy support at the API layer (#260, #283), laying the groundwork for isolated usage across multiple users/teams.
- Cloud-Native Support: Added support for cloud-native VikingDB (#279), improved cloud deployment documentation and Docker CI workflows (#320), expanding from local deployment to cloud-edge integration.
- OpenClaw Integration: Added official installation for the
openclaw-openviking-plugin(#307), strengthening integration with OpenClaw. - OpenCode Support: Introduced the
opencodeplugin and updated documentation (#351), extending capabilities for code-related scenarios.
2. Deep Optimization of the Database Storage Foundation
- Architecture Refactor: Refactored the vector database interface (#327) and removed the
with_vectorparameter from query APIs (#338) to simplify the interface design. - Performance Optimizations:
- BugFixes: Resolved missing Volcengine URI prefixes for VikingDB, invalidated
is_leaffilters (#294), and fixed vector storage lock contention during fast restarts (#343). - AGFS Enhancements: Added AGFS binding client (#304), fixed AGFS SDK installation/import issues (#337, #355), and improved filesystem integration.
- Code Scenario Improvements: Added AST-based code skeleton extraction mode (#334), supported private GitLab domains for code repositories (#285), and optimized GitHub ZIP download (#267).
3. Improved CLI Toolchain (Greatly Enhanced Usability)
Numerous UX improvements for the ov CLI to lower barriers to usage:
- Added
ovcommand wrapper (#325) and fixed bugs in the CLI wrapper, repo URI handling, andfindcommand (#336, #339, #347). - Enhanced
add-resourcefunctionality with unit tests (#323) and added ZIP upload support for skills via theadd_skillAPI (#312). - Configuration Extensions: Added timeout support in
ovcli.conf(#308) and fixed agent_id issues in the Rust CLI (#308). - Version Support: Added the
--versionflag toopenviking-server(#358) for easy version validation.
What's Changed
- docs : update wechat by @qin-ctx in #264
- feat: 多租户 Phase 1 - API 层多租户能力 by @qin-ctx in #260
- 增加openviking/eval模块,用于评估测试 by @chuanbao666 in #265
- feat(vectordb): integrate KRL for ARM Kunpeng vector search optimization by @Mijamind719 in #256
- feat: concurrent embedding, GitHub ZIP download, read offset/limit by @yangxinxin-7 in #267
- fix: claude code memory-plugin example:add_message改为写入TextPart列表,避免session解析异常 by @Mijamind719 in #268
- Feat/add parts support to http api by @SeanZ in #270
- tests(parsers): add unit tests for office extensions within add_resou… by @shaoeric in #273
- feat: break change, remove is_leaf scalar and use level instead by @MaojiaSheng in #271
- fix(api): complete parts support in SDK layers and simplify error handling by @SeanZ in #275
- feat: support cloud vikingDB by @baojun-zhang in #279
- Fix image_summary bug by @BytedanceFu in #277
- feat(config): expose embedding.max_concurrent and vlm.max_concurrent … by @yangxinxin-7 in #282
- Multi tenant by @kkkwjx07 in #283
- feat: allow private gitlab domain for code repo by @MaojiaSheng in #285
- fix(storage): idempotent rm/mv operations with vector index sync by @SeanZ in #284
- refactor(filter): replace prefix operator with must by @kkkwjx07 in #292
- fix: VikingDB volcengine URI prefix loss and stale is_leaf filter by @qin-ctx in #294
- fix(vectordb): default x86 build to AVX2 and disable AVX512 by @kkkwjx07 in #291
- 对齐 docs 和代码里 storage config 的 workspace 属性 by @myysy in #289
- fix: correct storage.update() call signature in _update_active_counts() by @ponsde in #280
- feat(memory): add hotness scoring for cold/hot memory lifecycle (#296) by @r266-tech in #297
- feat(client): ovcli.conf 支持 timeout 配置 + 修复 Rust CLI agent_id by @qin-ctx in #308
- fix(server): 未配置 root_api_key 时仅允许 localhost 绑定 by @qin-ctx in #310
- fix: resolve Gemini 404, directory collision, and Unicode decoding er… by @honjiaxuan in #314
- feat(skill): support zip upload for add_skill API by @SeanZ in #312
- feat(agfs): agfs新增binding client by @chuanbao666 in #304
- fix(parser): remove redundant mkdir in DirectoryParser by @honjiaxuan in #318
- fix: use original directory name for temp URI lookup in TreeBuilder by @ponsde in #319
- fix: handle is_healthy() AttributeError when not initialized (closes #298) by @r266-tech in #322
- feat(docs,ci): 完善云上部署文档与 Docker CI 流程 by @qin-ctx in #320
- fix(agfs): import AGFSBindingClient error不阻塞http client使用 by @chuanbao666 in #324
- feat: Enhance add-resource functionality in cli and add unit tests by @shaoeric in #323
- feat: expose session(must_exist) and session_exists() on public API by @ponsde in #321
- feat: wrapper ov command by @MaojiaSheng in #325
- Feat/vectordb interface refactor by @kkkwjx07 in #327
- build(deps): bump docker/build-push-action from 5 to 6 by @dependabot[bot] in #313
- docs: add storage configuration guide by @baojun-zhang in #329
- fix: 修复单测以适配 vectordb 接口重构,统一测试数据路径 by @qin-ctx in #333
- feat(parse): add AST-based code skeleton extraction mode by @yangxinxin-7 in #334
- 添加openclaw-openviking-plugin插件安装方式 by @LinQiang391 in #307
- fix: bugfix ov cli wrapper by @MaojiaSheng in #336
- refactor: remove with_vector from query APIs by @kkkwjx07 in #338
- fix: ov cmd and repo uri by @MaojiaSheng in #339
- fix(agfs): 修复agfs binding-client安装问题, 清理agfs lib文件 by @chuanbao666 in #337
- feat/vikingbot: viking bot mvp based on openviking by @yeshion23333 in #335
- docs: add uv prerequisites to bot readme by @Tsan1024 in #341
- fix(storage): 修复快速重启时向量存储锁竞争问题 by @qin-ctx in #343
- fix: fix cli find by @kkkwjx07 in #347
- (Bug fix) to tool memory merge by @BytedanceFu in #346
- Fix/reminderbug 修复定时任务的bug by @chenjw in #349
- Update Python version requirement to 3.10 by @qppq54s in #348
- Validate ovpack ZIP member paths during import and add tests to reject unsafe entries by @13ernkastel in #344
- fix(client): 修复单文件在远程server部署时上传失败问题 by @qin-ctx in #352
- fix(test): 修复测试稳定性问题,清理废弃代码 by @qin-ctx in #353
- fix(agfs): agfs sdk默认从本地安装 by @chuanbao666 in #355
- eat(opencode): add opencode plugin and update docs by @yangxinxin-7 in #351
- docs: 修复 openviking serve 命令引用并更新贡献文档 by @qin-ctx in #357
- feat: update README.md by @MaojiaSheng in #356
- fix: 为 openviking-server 添加 --version 并修复 AGFS 模式判断 by @qin-ctx in #358
- chore: remove unsupported examples by @MaojiaSheng in #359
- fix: tag by @qin-ctx in #361
New Contributors
- @yangxinxin-7 made their first contribution in https://github.c...
CLI v0.2.0
OpenViking CLI v0.2.0
Installation
Quick Install (macOS/Linux)
curl -fsSL https://raw.githubusercontent.com/volcengine/OpenViking/refs/tags/cli@0.2.0/crates/ov_cli/install.sh | bashManual Installation
Download the appropriate binary for your platform below, extract it, and add it to your PATH.
The CLI command is simply ov:
# After extraction
chmod +x ov # Unix only
mv ov /usr/local/bin/ # or any directory in your PATH
# Verify installation
ov --versionChecksums
SHA256 checksums are provided for each binary for verification.
Changes
See the commit history for details.
v0.1.18
What's Changed
- feat: add Rust CLI implementation [very fast] by @ZaynJarvis in #162
- feat: make -o and --json global param by @ZaynJarvis in #172
- feat: provide a test_ov.sh scripts as reference by @ZaynJarvis in #173
- fix: short markdown parse filename by @MaojiaSheng in #176
- Update 03-quickstart-server.md-en version by @yuyaoyoyo-svg in #177
- feat: add markitdown-inspired file parsers (Word, PowerPoint, Excel, EPub, ZIP) by @ZaynJarvis in #128
- feat: rename for consistency by @ZaynJarvis in #179
- 上传最新的微信群二维码 by @yuyaoyoyo-svg in #183
- Update 03-quickstart-server.md by @yuyaoyoyo-svg in #174
- Update 01-about-us.md-微信群二维码地址更新 by @yuyaoyoyo-svg in #184
- fix: build target name by @ZaynJarvis in #181
- fix: fix handle github url right by @fatelei in #180
- Update README_CN.md-新增云端部署跳转链接与说明 by @yuyaoyoyo-svg in #186
- Update README.md-新增英文版readme云端部署内容 by @yuyaoyoyo-svg in #187
- Update 01-about-us.md-英文版微信群二维码更新 by @yuyaoyoyo-svg in #185
- fix: fix the difference of python CLI and rust CLI by @MaojiaSheng in #188
- Feat/support multi providers , OpenViking支持多providers by @BytedanceFu in #192
- Fix: 修复 rust CLI 命令中与 python CLI ls/tree 命令不一致的部分;add node limit arg by @MaojiaSheng in #193
- feat: add_memory cli with ov-memory SKILL by @ZaynJarvis in #195
- feat: add directory parsing support to OpenViking by @shaoeric in #194
- fix: auto-rename on duplicate filename conflict by @DevEverything01 in #197
- fix: guard against None candidate in search_by_id by @DevEverything01 in #198
- fix bugs 修复provider为openai,但api_key并不是https://api.openai.com/v1而引起的大模型调用失败情况 by @BytedanceFu in #200
- Update open_viking_config.py by @qin-ptr in #206
- fix(parser): hash & shorten filenames that exceed filesystem limit by @DevEverything01 in #205
- test: add comprehensive edge case tests by @aeromomo in #208
- fix: invalid Go version format in agfs-server go.mod by @aeromomo in #207
- fix: add input validation to search_by_id method by @aeromomo in #209
- fix: improve binary content detection and null byte handling by @aeromomo in #210
- suggestion: align grep and glob options by @ZaynJarvis in #217
- suggestion: fix empty in --simple ls response by @ZaynJarvis in #220
- feat: support basic ov tui for fs navigator, boost version 0.2.0 by @ZaynJarvis in #213
- build(deps): bump actions/download-artifact from 4 to 7 by @dependabot[bot] in #221
- build(deps): bump actions/checkout from 4 to 6 by @dependabot[bot] in #222
- build(deps): bump actions/upload-artifact from 4 to 6 by @dependabot[bot] in #223
- refactor(memory): redesign extraction/dedup flow and add conflict-a… by @kkkwjx07 in #225
- fix: target directories retrieve by @mildred522 in #227
- fix: skill search ranking - use overview for embedding and fix visited set filtering by @ZaynJarvis in #228
- fix: use frontmatter description for skill vectorization instead of overview by @ZaynJarvis in #229
- build(deps): bump actions/cache from 4 to 5 by @dependabot[bot] in #224
- feat: update media parsers by @MaojiaSheng in #196
- fix: update memory by @kkkwjx07 in #231
- fix: resolve -o option conflict between global output and filesystem output-format by @haosenwang1018 in #240
- feat: add memory, resource and search skills by @ZaynJarvis in #214
- fix(memex): add Feishu OAuth support, fix async deadlock, and adapt for local dev by @A11en0 in #237
- feat(examples): simplify k8s Helm chart to MVP by @ZaynJarvis in #234
- fix: convert Session.load() and get_context_for_search() to async to prevent deadlock by @haosenwang1018 in #235
- feat: add Jina AI embedding provider by @hanxiao in #245
- feat(docker): init by @simonsmh in #238
- feat(examples): add Claude memory plugin example for OpenViking by @Mijamind719 in #246
- fix(fs): ls --simple skips abstract fetching and returns only URIs by @DevEverything01 in #236
- fix(tui): correct root scopes in filesystem tree by @ZaynJarvis in #250
- fix Invalid isoformat string on Windows due to high-precision timestamps by @kscale in #252
- feat: support dynamic project_name config in VectorDB / volcengine by @baojun-zhang in #253
- feat: support tos oss by @baojun-zhang in #255
- fix: When the AGFS backend is s3, the error "pyagfs.exceptions.AGFSClientError: parent directory does not exist" occurs. by @baojun-zhang in #254
- fix: handle >6-digit fractional seconds in ISO timestamps on Windows by @haosenwang1018 in #257
- fix: use reason as instruction fallback in resource processing by @haosenwang1018 in #258
- feat: openviking upload zip and extract on serverside, for add-resource a local dir by @MaojiaSheng in #249
- feat: wrap log configs in LogConfig, add log rotation by @MaojiaSheng in #261
New Contributors
- @yuyaoyoyo-svg made their first contribution in #177
- @fatelei made their first contribution in #180
- @BytedanceFu made their first contribution in #192
- @DevEverything01 made their first contribution in #197
- @qin-ptr made their first contribution in #206
- @aeromomo made their first contribution in #208
- @haosenwang1018 made their first contribution in #240
- @hanxiao made their first contribution in #245
- @simonsmh made their first contribution in #238
- @kscale made their first contribution in #252
Full Changelog: v0.1.17...v0.1.18
v0.1.17
What's Changed
- Revert "feat: support dynamic project_name config in VectorDB / volcengine" by @MaojiaSheng in #167
- Fix/ci clean workspace by @kkkwjx07 in #170
- fix: tree uri output error, and validate ov.conf before start by @MaojiaSheng in #169
Full Changelog: v0.1.16...v0.1.17
CLI v0.1.0
OpenViking CLI v0.1.0
Installation
Quick Install (macOS/Linux)
curl -fsSL https://raw.githubusercontent.com/volcengine/OpenViking/refs/tags/cli@0.1.0/crates/ov_cli/install.sh | bashManual Installation
Download the appropriate binary for your platform below, extract it, and add it to your PATH.
The CLI command is simply ov:
# After extraction
chmod +x ov # Unix only
mv ov /usr/local/bin/ # or any directory in your PATH
# Verify installation
ov --versionChecksums
SHA256 checksums are provided for each binary for verification.
Changes
See the commit history for details.
v0.1.16
What's Changed
- fix: fix vectordb by @kkkwjx07 in #164
- feat: make temp uri readable, and enlarge timeout of add-resource by @MaojiaSheng in #165
- feat: support dynamic project_name config in VectorDB / volcengine by @baojun-zhang in #161
- fix: server uvloop conflicts with nest_asyncio by @MaojiaSheng in #166
Full Changelog: v0.1.15...v0.1.16
v0.1.15
What's Changed
Now you can try Server/CLI mode!
- refactor(client): 拆分 HTTP 客户端,分离嵌入模式与 HTTP 模式 by @qin-ctx in #141
- Transaction store by @MaojiaSheng in #136
- fix CI: correct patch targets in test_quick_start_lite.py by @ZaynJarvis in #140
- fix/lifecycle by @qin-ctx in #144
- Fix/lifecycle by @qin-ctx in #146
- refactor: decouple QueueManager from VikingDBManager by @kkkwjx07 in #149
- refactor: to accelerate cli launch speed, refactor openviking_cli dir by @MaojiaSheng in #150
- efactor: to accelerate cli launch speed, refactor openviking_cli dir by @MaojiaSheng in #151
- fix(vectordb): resolve timestamp format and collection creation issues by @kkkwjx07 in #154
- doc: add multi-tenant-design by @qin-ctx in #155
- fix: fix vectordb sparse by @kkkwjx07 in #160
- [WIP]adapt for openclaw: add memory output language pipeline by @Mijamind719 in #137
- CLI commands (ls, tree) output optimize by @MaojiaSheng in #156
- fix: replace bare except with Exception in llm utils by @thecaptain789 in #152
- feat(parser): support repo branch and commit refs by @zeus-cht in #147
- fix: temp dir check failed by @MaojiaSheng in #163
New Contributors
- @thecaptain789 made their first contribution in #152
- @zeus-cht made their first contribution in #147
Full Changelog: v0.1.14...v0.1.15
v0.1.14
What's Changed
- build(deps): bump protobuf from 6.33.2 to 6.33.5 by @dependabot[bot] in #104
- refactor: cpp bytes rows by @kkkwjx07 in #105
- fix: agfs port by @qin-ctx in #110
- refactor: refactor agfs s3 backend config by @chuanbao666 in #113
- fix(depends): 修复pip依赖的安全漏洞 by @chuanbao666 in #107
- feat: add HTTP Server and Python HTTP Client (T2 & T4) by @qin-ctx in #109
- Add OpenClaw skill for OpenViking MCP integration by @ZaynJarvis in #114
- docs: update docs and github workflows python version, python>=3.10 by @chuanbao666 in #118
- Doc: suggest use ~/.openviking/ov.conf as a default configure path by @MaojiaSheng in #119
- Parallel add by @kkkwjx07 in #121
- feat(directory-scan): add directory pre-scan validation module with f… by @shaoeric in #102
- fix(docs): fix relative paths in README files to match actual docs st… by @evpeople in #122
- feat: use a default dir ~/.openviking to store configuration, fix win… by @MaojiaSheng in #120
- feat: dag trigger embedding by @kkkwjx07 in #123
- fix: fix windows by @kkkwjx07 in #126
- fix: release py3.13 by @kkkwjx07 in #127
- fix: remove await asyncio and call agfs directly by @MaojiaSheng in #129
- fix(depends): 修复测试引入的依赖 by @chuanbao666 in #130
- add_message改为写入TextPart列表,避免session消息解析异常; extract_session增加json转换方法 by @Mijamind719 in #131
- feat: 新增 Bash CLI 基础框架与完整命令实现 (T3 + T5) by @qin-ctx in #132
- fix: test case by @qin-ctx in #133
- fix: fix release by @kkkwjx07 in #138
New Contributors
- @shaoeric made their first contribution in #102
- @evpeople made their first contribution in #122
- @Mijamind719 made their first contribution in #131
Full Changelog: v0.1.12...v0.1.14