Commit Graph
485 Commits
Author SHA1 Message Date
MaojiaShengandopenviking 09ab814af5 fix: allow --sudo for ov admin commands (#1589)
* fix: allow --sudo for ov admin commands

* fix: allow --sudo for ov admin commands

* fix: allow --sudo for ov admin commands

* fix: allow --sudo for ov admin commands

---------

Co-authored-by: openviking <openviking@example.com>
2026-04-20 18:55:29 +08:00
r266-tech 750ccdb248 docs(vlm): document timeout config field (#1580) (#1593)
* docs(vlm): document timeout config field (#1580)

* docs(vlm): 补充 timeout 字段说明 (#1580)
2026-04-20 18:53:29 +08:00
r266-tech 67464facb4 docs(en): list dashscope in embedding provider table (#1535) (#1584) 2026-04-20 11:06:28 +08:00
MaojiaSheng b13410546b fix: auth and system cmds (#1545) 2026-04-17 20:04:30 +08:00
A0nameless0man 147f1e3bd3 feat(embedder): add DashScope embedding provider (#1535)
* feat(embedder): 实现 DashScopeDenseEmbedder 双模式嵌入器

* test(embedder): 添加 DashScope 单元测试和集成测试

* feat(config): 添加 DashScope provider 支持、验证和 factory 注册

* docs(embedding): add DashScope provider configuration guide

* fix(embedder): 关闭 DashScope embedder 的 sync/async OpenAI 客户端避免资源泄漏

close() 方法原先仅关闭 httpx 客户端,遗漏了 sync OpenAI 客户端和
async OpenAI 客户端。将两个 async 客户端的清理逻辑合并为单个协程,
复用 event-loop-aware 模式统一处理运行中/无事件循环两种场景。
2026-04-17 18:09:43 +08:00
Qin Haojie cebc45907b feat(session): add account namespace policy and shared sessions (#1356)
* feat(session): add account namespace policy and shared sessions

Unify namespace resolution across filesystem, indexing, and session storage.
Add account-shared session paths, role_id auth semantics, and an HTTP demo
script for the four namespace-policy combinations.

* space

* fix(pack): skip derived semantic files in ovpack transfer

Keep ovpack imports resilient to stale sidecars and rebuild semantics through the normal queue instead of restoring derived files verbatim.

* Revert "fix(pack): skip derived semantic files in ovpack transfer"

This reverts commit f4e4db8401.

* fix(namespace): default legacy accounts to agent-shared policy

Clarify that memory.agent_scope_mode is deprecated and document the supported agent memory migration paths.
2026-04-17 15:12:45 +08:00
baojun-zhang 629fc241e4 feat(metric): add token-full-cycle metric (#1488)
* feat(metric): add token full-cycle metric && support token dashboard && optimize metric guide && deprecated 'server.telemetry.prometheus.enabled' configuration && change metric config to observability.metric

* feat(metric): add token full-cycle metric && support token dashboard && optimize metric guide && deprecated 'server.telemetry.prometheus.enabled' configuration && change metric config to observability.metric

* feat(metric): add debug log

* feat(metric): format code

* feat(metric): format code
2026-04-16 18:22:40 +08:00
Qin Haojie b43cf313f5 docs(api): align reference docs with current server behavior (#1483)
Sync the English and Chinese API reference pages with the current HTTP routes,
request fields, and documented examples so raw API usage matches the server.
2026-04-16 11:19:51 +08:00
yeyitechandyeyitech 232dfbfaee feat(server): add resources-only WebDAV adapter (#1435)
* feat(webdav): add resources-only WebDAV adapter

* style(webdav): fix lint formatting

* fix(webdav): unify put write semantics

---------

Co-authored-by: yeyitech <yeyitech@users.noreply.github.com>
2026-04-15 19:38:38 +08:00
Mingjian QueandGPT-5.4 3b0ac8a0d4 feat: add local llama-cpp embedding support (#1388)
* feat: local llama.cpp embedding support, setup wizard, lazy storage imports, and config singleton deadlock fix

Made-with: Cursor
Co-authored-by: GPT-5.4 <noreply@openai.com>

* fix: remove unsupported custom local gguf setup

---------

Co-authored-by: GPT-5.4 <noreply@openai.com>
2026-04-15 12:03:40 +08:00
Brian Le 0005364cad feat(retrieval): add time filters to find and search (#1429)
* feat(retrieval): add time filters to find and search

* test(retrieval): fix sdk time-filter test header

* chore(retrieval): add missing python license headers

* fix(retrieval): resolve lint failures in time-filter PR

* refactor(retrieval): simplify CLI time filters

* refactor(retrieval): narrow CLI time param helper

* docs(retrieval): clarify time filter merge logic
2026-04-15 11:58:46 +08:00
MaojiaSheng 95cc0f84d0 reorg: split parser layer to 2-layer: accessor and parser, so that we can reuse more code (#1428) 2026-04-15 10:33:12 +08:00
baojun-zhang b441622ee6 feat(metric): add metric system (#1357)
* feat(metric): add metric system

* feat(metric): add metric system

* feat(metric): add metric system

* fix(metric): do not cancel refresh tasks on deadline; trust only authenticated account id; avoid per-scrape rerank clients

* doc(metric): add metric guide doc

* doc(metric): add metric guide doc

* doc(metric): add metric guide doc

* doc(metric): add metric guide doc

* feat(metric): fix bug & change account dimension switch to default true
2026-04-14 20:55:02 +08:00
Qin Haojie b7d50d8dbf feat(filesystem): support directory descriptions on mkdir (#1443)
Allow mkdir callers to initialize .abstract.md at creation time and enqueue L0 directory vectorization immediately.
2026-04-14 18:13:31 +08:00
Yaoyao 91121a579c update new wechat group qr code (#1440)
remove the old one
2026-04-14 16:52:51 +08:00
Qin Haojie 3c2f095c4f fix(volcengine): update default doubao embedding model (#1438)
Align docs, examples, the setup wizard, and telemetry tests with the
current Doubao multimodal embedding model so generated configs keep
referencing the supported default consistently.
2026-04-14 15:51:06 +08:00
caisiriusandClaude Opus 4.6 37e106a958 feat: rerank support extra headers (#1359)
* feat(rerank): add extra_headers field to RerankConfig

Add support for extra_headers configuration in RerankConfig, following the same pattern as EmbeddingConfig and VLMConfig. This allows users to specify custom HTTP headers for OpenAI-compatible rerank providers.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: add copyright header to test file

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat(rerank): OpenAIRerankClient accepts and stores extra_headers

- Add extra_headers parameter to __init__ method
- Add extra_headers to from_config classmethod
- Default to empty dict when extra_headers is None
- Add comprehensive unit tests

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat(rerank): merge extra_headers into API requests

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* docs: add `extra_headers` param in doc

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-13 14:24:52 +08:00
sentisso 7388e4d598 feat: dir ignore support in ovcli.conf (#1393) 2026-04-13 11:14:10 +08:00
MaojiaShengandopenviking a7e5417ef2 reorg: remove golang depends (#1339)
* docs: fix docker deployment

* reorg: remove third_party/agfs

* feat(s3fs): add disable_batch_delete option for OSS compatibility

Port of PR #1333 from Go version to Rust:

- Add disable_batch_delete config option to S3Client
- When enabled, use sequential single-object deletes instead of DeleteObjects
- This is for S3-compatible services like Alibaba Cloud OSS that require
  Content-MD5 for DeleteObjects but AWS SDK v2 does not send it by default
- Add documentation and config example for OSS

* fix(s3fs): pass disable_batch_delete config from Python to Rust

Add disable_batch_delete to the s3_plugin_config dict in _generate_plugin_config
so that the Python config can properly control the Rust S3FS plugin's behavior.

* reorg: remove third_party/agfs

* reorg: remove third_party/agfs

* change some docs

* change some docs

---------

Co-authored-by: openviking <openviking@example.com>
2026-04-10 15:16:29 +08:00
MaojiaShengandopenviking f0c75842d0 docs: fix docker deployment (#1332)
Co-authored-by: openviking <openviking@example.com>
2026-04-09 16:20:36 +08:00
MaojiaSheng d76f3139cb Revert "fix(resources): implement trailing slash semantics for resource URIs …" (#1322)
This reverts commit dec57bde80.
2026-04-09 12:17:09 +08:00
yepper dec57bde80 fix(resources): implement trailing slash semantics for resource URIs (#1321)
add support for trailing slash rules in resource URIs to control file/directory placement
update CLI, API, and documentation to reflect new URI handling semantics
add comprehensive tests for all URI semantics cases
2026-04-09 12:03:04 +08:00
Jiahui Zhou aaaedfe89b docs: add prompt guides in zh and en (#1292) 2026-04-08 13:03:19 +08:00
Yaoyao 7fa6c383bc update wechat group qrcode (#1282)
replace the old one.
2026-04-08 00:03:44 +08:00
baojun-zhang 8271ef362c fix(security): configurable embedding circuit breaker & log suppression (#1277) 2026-04-07 18:27:48 +08:00
Jiahui Zhou 1a3bd31199 feat(auth): Restrict trusted mode without API key to localhost (#1279) 2026-04-07 18:11:39 +08:00
MaojiaSheng 9d74f9ec32 fix: update main when release, and add docker hub push (#1229) 2026-04-05 21:54:55 +08:00
Jiahui Zhou a566fe26b6 feat(console): support account user agentid (#1198)
* feat(console): support account user agentid

* docs(auth_mode): update trusted mode
2026-04-03 14:36:34 +08:00
likzn c01c14e303 feat(sessions): support specifying session_id when creating session (#1074)
* feat(sessions): support specifying session_id when creating session

* feat(session): validate session_id uniqueness on create

Add AlreadyExistsError check in session_service.create() when a specific
session_id is provided, ensuring idempotent behavior and preventing
accidental overwrites of existing sessions.
2026-04-03 13:59:01 +08:00
Asurada e5806ea5cf docs(config): update rerank configuration and add threshold range (#1138)
- Correct the rerank provider list (from 'volcengine' to 'vikingdb')
- Update authentication fields (from 'api_key' to 'ak'/'sk' for vikingdb)
- Add 'cohere', 'openai', and 'litellm' as supported rerank providers
- Include numeric range (0.0 to 1.0) for the threshold parameter
- Add Pydantic range validation for the threshold field in rerank_config.py
2026-04-03 13:20:19 +08:00
Qin Haojie c0b0be4f4c fix(session): align async commit API docs and examples (#1188)
Update docs, tests, and example integrations to reflect accepted + task_id
session commits with task polling for completed results.

Also fix the local PR-Agent model provider prefix in .pr_agent.toml.
2026-04-02 21:09:01 +08:00
heaoxiang-ai 2ce4fd4976 feat(cli): ov cli grep with --exclude-uri/ -x option (#1174)
* feat: add ov grep cli  exclude uri args

* feat: grep with exclude uri

* feat: add sdk document and grep method() args
2026-04-02 20:17:55 +08:00
MaojiaShengandopenviking 5951d7e38b fix: exit with error if --with-bot fail (#1175)
Co-authored-by: openviking <openviking@example.com>
2026-04-02 17:44:03 +08:00
Qin Haojie 6211691826 fix(transaction): unify stale lock handling with ownership checks (#1171)
Use lock_expire as the single inactivity threshold for both lock files
and in-process handles, so long-running tasks are no longer released just
because the handle was created a long time ago. Make refresh/release and
handle lookup ownership-aware to avoid zombie handles and prevent stale
owners from deleting locks that have already been reclaimed.
2026-04-02 17:12:58 +08:00
Jiahui Zhou 673b267976 feat: add content write interface (#1151) 2026-04-01 23:19:59 +08:00
Jiahui Zhou 72394dd604 feat(docker) add vikingbot and console (#1134)
* docker: default to server plus console startup

* docker: bundle and default-enable vikingbot

* docs: document docker console and bot defaults
2026-03-31 21:28:08 +08:00
Qin Haojie 355130aa1f docs(guides): reorganize observability documentation (#1130)
Promote observability to a dedicated guide and keep telemetry as a focused reference.
2026-03-31 20:24:16 +08:00
zgy ba5d1f443c docs(guides):Add concise OVPack guide in Chinese and English (#1126)
* Add concise OVPack guide in Chinese and English

* Document OVPack workflow for memories

* Broaden OVPack guide: context (resources & memories), not just resources

* Add memories import/export via Python SDK and HTTP API
2026-03-31 20:00:45 +08:00
Yaoyao 81c4a5c183 upload new wechat group file (#1127)
replace the old one
2026-03-31 19:24:49 +08:00
Qin Haojie 2ede59d993 docs(docker): use latest image tag in examples (#1125)
Replace outdated ghcr.io/volcengine/openviking:main references in compose
and deployment docs with :latest to match the current published image flow.
2026-03-31 18:19:53 +08:00
Qin HaojieandClaude Opus 4.6 cad9ec1408 refactor(model): unify config-driven retry across VLM and embedding (#926)
* refactor(model): unify config-driven retry across VLM and embedding

Move retry behavior into shared model-call utilities and config defaults so VLM and embedding providers handle transient failures consistently.

Co-Authored-By: Claude Opus 4.6

* fix

* docs(config): document model retry settings
2026-03-31 16:17:28 +08:00
Qin Haojie 0502a9903d fix(session): fold latest archive into abstract list (#1104)
Return the latest archive through pre_archive_abstracts and drop the
separate latest_archive_id field so session context consumers only need
one archive index path.
2026-03-31 15:06:21 +08:00
MaojiaShengandopenviking ce998873f9 lisence: change the main lisence to AGPL-3.0 (#1085)
* lisence: change the main lisence from Apache-2.0 to AGPL-v3

* lisence: change the main lisence from Apache-2.0 to AGPL-v3

* lisence: change the main lisence from Apache-2.0 to AGPL-v3

---------

Co-authored-by: openviking <openviking@example.com>
2026-03-30 14:37:42 +08:00
r266-techandwzr b955821116 docs: clarify user_key vs root_key in quickstart and basic usage (#1077)
The quickstart-server.md auth section previously just said "pass api_key"
without distinguishing user_key from root_key. This causes users to
mistakenly use root_key for tenant-scoped APIs (add_resource, find, ls),
which fails with "ROOT requests to tenant-scoped APIs must include
X-OpenViking-Account and X-OpenViking-User headers".

Changes:
- docs/zh/getting-started/03-quickstart-server.md: expanded auth section
  with user_key (recommended) and root_key (must pass account/user)
  examples, plus warning about the common pitfall
- docs/en/getting-started/03-quickstart-server.md: same changes in English
- examples/basic-usage/README.md: added multi-tenant auth note after
  HTTP client example
- examples/basic-usage/README_CN.md: same note in Chinese

Closes #1022

Co-authored-by: wzr <2668940489@qq.com>
2026-03-30 11:26:01 +08:00
6d26e7a4fa refactor(openclaw-plugin): Unified session APIs and refactored the OpenClaw context pipeline for more consistent behavior, better maintainability, and stronger test coverage. (#1040)
* feat(openclaw-plugin): unify context assembly and compaction workflows

Co-authored-by: wlff123 <wulf234@163.com>
Co-authored-by: Eurekaxun <eurekaxun@163.com>
Co-authored-by: lin-qiang123 <1667704220@qq.com>
Co-authored-by: jcp0578 <jcp0578@gmail.com>

* feat(openviking-server): unify session context and commit APIs

Authored-by: Qin Haojie <qinhaojie.exe@bytedance.com>

* set default value of DEFAULT_EMIT_STANDARD_DIAGNOSTICS to false

---------

Co-authored-by: Eurekaxun <eurekaxun@163.com>
Co-authored-by: lin-qiang123 <1667704220@qq.com>
Co-authored-by: jcp0578 <jcp0578@gmail.com>
Co-authored-by: qin-ctx <qinhaojie.exe@bytedance.com>
2026-03-28 10:41:03 +08:00
Qin Haojie 85c1723078 docs(concepts): add multi-tenant usage guide (#1029)
Add bilingual multi-tenant concepts docs that explain tenant boundaries,
sharing rules, and current OpenClaw/Vikingbot integration patterns.
2026-03-27 17:37:12 +08:00
liberion1994andQin Haojie f81419c11c feat(memory): support agent-only agent memory scope (#954)
Co-authored-by: Qin Haojie <qinhaojie.exe@bytedance.com>
2026-03-27 16:45:50 +08:00
Qin Haojie b560372697 fix(http): replace temp paths with upload ids (#1012)
* fix(http): replace temp paths with upload ids

Stop exposing server filesystem paths through temp uploads and require
HTTP callers to use temp_file_id across server, clients, tests, and docs.

* fix(cli): upload local ovpacks in http mode

Make the Rust HTTP client import local ovpack files through temp uploads
and cover the flow with an end-to-end SDK regression test.

* fix(api): align integration client with temp upload contract

* fix(client): fail fast for invalid ovpack imports
2026-03-27 14:49:49 +08:00
Jiahui Zhou c5033b0bcd feat(cli): support tenant identity defaults and overrides (#1019) 2026-03-27 11:35:16 +08:00
Jiahui Zhou 2ec8558155 Add non-empty S3 directory marker compatibility (#997)
Add non-empty

Add S3 directory marker modes
2026-03-26 16:37:44 +08:00