Commit Graph
70 Commits
Author SHA1 Message Date
MaojiaShengandTRAE CLI a7c77e6cf7 feat: add freshness-aware parent aggregation (#4180)
* feat: add freshness-aware parent aggregation

Defer wide-directory abstract/overview regeneration until the configured freshness threshold is reached while continuing changed-file semantic and vector processing.

Persist freshness metadata atomically, make parent bubbling L0-aware, preserve separate semantic/vector statuses, and keep explicit waits synchronous.

Rebuild every sampled summary on threshold refresh and always retry directory vectorization so stale sidecars or transient vector failures cannot be silently accepted.

Add focused coverage for freshness policy, pending-state consumption, sampled-summary refresh, vector retries, and parent bubbling.

Co-authored-by: TRAE CLI <traecli@bytedance.com>

* feat: ov reindex support --recursive

* feat: ov reindex support --recursive

* feat: ov reindex support --recursive

* feat: ov reindex support --recursive, and applied to memory

* feat: ov reindex support --recursive, and applied to memory

---------

Co-authored-by: TRAE CLI <traecli@bytedance.com>
2026-08-21 16:30:44 +08:00
chenjwandTRAE CLI 9a0f54b300 docs: note benchmark model configuration (#4183)
* docs: note benchmark model configuration

Co-authored-by: TRAE CLI <traecli@bytedance.com>

* docs: link benchmark VLM model details

Co-authored-by: TRAE CLI <traecli@bytedance.com>

* docs: specify benchmark embedding model

Co-authored-by: TRAE CLI <traecli@bytedance.com>

---------

Co-authored-by: TRAE CLI <traecli@bytedance.com>
2026-08-21 14:04:10 +08:00
t0sakiandZayn Jarvis 8abd61fcb6 feat(plugins): add Agent Plugins 1.0 portable package (#3998)
* feat(plugins): add Agent Plugins 1.0 portable package

Add agent-plugins/, an Agent Plugins 1.0 conformant package
(https://agent-plugins.org/specification) that any conforming client can
load: plugin.json manifest, an openviking-memory skill teaching the
hook-less recall + persist loop, and an mcp.json stdio entry running a
stdio -> streamable-HTTP proxy that resolves credentials from
OPENVIKING_* env -> ~/.openviking/ovcli.conf -> ~/.openviking/ov.conf,
same as the ov CLI.

servers/shared/* are generated copies of memory-plugin-shared/lib, wired
into sync.mjs / sync.test.mjs TARGETS so they cannot drift silently.
config.mjs / debug-log.mjs / mcp-proxy.mjs are adapted from
claude-code-memory-plugin with the hook-tuning knobs dropped.
plugin.test.mjs validates spec conformance (schema URLs and matching
spec versions, name rules, closed manifest root, semver, skill
frontmatter, referenced files staying inside the plugin root, node
--check on all .mjs) and runs in CI via pr.yml.

The skill treats tree/write/edit as optional, since they only exist on
servers that carry #3936.

Docs: docs/{en,zh}/agent-integrations/15-agent-plugins.md, registered in
the VitePress sidebar and the integration overview tables, plus a link
from the three root READMEs. The docs recommend the per-client plugin
whenever the harness has hooks, with the shared installer one-liner.

Based on #3994 by @ZaynJarvis.

Co-Authored-By: Zayn Jarvis <zaynjarvis@gmail.com>

* docs(agent-plugins): pluralize README title

---------

Co-authored-by: Zayn Jarvis <zaynjarvis@gmail.com>
2026-08-14 14:33:54 +08:00
Zayn JarvisandClaude Opus 5 974999e131 docs(readme): 商业版本区块,区分 SaaS 与私有化部署 (#3930)
把「托管服务」重写为「商业版本」,明确开源版不设功能墙,
并把 SaaS 版和私有化部署版并排展示,各配一张说明图。

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-11 16:51:21 +08:00
444cc87bf8 feat: OIDC and LDAP as new auth mode for OpenViking (#3708)
* feat: support oidc and ldap auth

* feat: support oidc and ldap auth

* fix: remove heima partner, clean up auth docs, add web-studio unsupported auth banner

- Remove heima from partner list in README (en/zh/ja)
- Remove unsupported env var references (OPENVIKING_AUTH_MODE, OPENVIKING_USERNAME,
  OPENVIKING_PASSWORD) from LDAP auth docs
- Remove temporary switch bash snippets from auth docs
- Fix ldap_password description
- Add web-studio unsupported-auth-mode banner for oidc/ldap servers

* fix: address OIDC/LDAP review comments on auth plugin design

Key changes driven by PR review:

- **Role mapping**: OIDC and LDAP external identities always resolve to
  USER role. Removed map_role() calls and group_membership-based role
  mapping. Admin access is gated by the root API key mechanism only.

- **LDAP credential extraction**: Removed query-parameter-based username/
  password extraction (security concern — passwords in URLs can leak via
  shell history, proxy logs, and monitoring). Clients must use Basic Auth
  header or form data.

- **OIDC identifier sanitization**: Auth0 and other providers may include
  characters like "|" in the `sub` claim. These are now replaced with "_"
  to produce valid OpenViking user identifiers.

- **Dead code removal**: Removed _extract_groups, memberof_attribute,
  require_root_api_key_for_admin, _initialize_api_key_manager, and
  get_request_context_checks from both plugins since they are no longer
  needed.

- **Docs**: Removed query-parameter curl example, memberof_attribute and
  require_root_api_key_for_admin config references.

Co-authored-by: TRAE CLI <noreply@bytedance.com>

* feat: support oidc and ldap auth

* feat: support oidc and ldap auth

* fix(auth): bind lazy OIDC imports at module scope

---------

Co-authored-by: TRAE CLI <noreply@bytedance.com>
Co-authored-by: qin-ctx <qinhaojie.exe@bytedance.com>
2026-08-06 12:36:37 +08:00
MaojiaSheng cebd8c09ff docs: add managed services section including Volcano Engine and coming soon features (#3622)
* docs: add partner projects including deer-flow, NoKV, loopx, Hermes Agent and heima

* docs: add managed services section including Volcano Engine and coming soon features

* docs: add BYOC support note for private distributed enterprise edition
2026-07-30 12:13:04 +08:00
MaojiaSheng 90ee52b327 docs: add partner projects including deer-flow, NoKV, loopx, Hermes Agent and heima (#3621) 2026-07-30 11:56:53 +08:00
Zayn JarvisandClaude Fable 5 94827db8f5 docs: revamp README — sell first, link detail to docs.openviking.ai (#3395)
* docs: revamp README for readability, route detail to docs.openviking.ai

The README had grown to ~850 lines, 60% of it provider-config JSON that
duplicates the deployed configuration guide. Rewritten to ~253 lines:

- Lead with what the product is, a Studio screenshot, and five feature
  bullets, each outlinked to docs.openviking.ai
- Move benchmarks (LoCoMo, tau2-bench, HotpotQA) above the fold; drop two
  derived tables in favor of one-sentence summaries + ./benchmark links
- Collapse install to the init/doctor golden path; all provider JSON,
  ov.conf templates, env vars, and Windows setup now route to the
  configuration guide (verified live)
- Add the previously missing "Use it with your agent" section linking all
  10 integration docs
- README_CN (zh docs links) and README_JA (en docs links; ja docs not
  deployed) rewritten to mirror section-for-section
- New hero screenshot docs/images/studio-playground.png from
  openviking.ai/studio

All 76 external URLs and every repo-relative link verified.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4oDxmJojygyomsz9BBhhn

* docs: fix review findings — restore uncovered detail, drop false pointers

Adversarial review of the revamp found four claims pointing at coverage
that does not exist:

- Restore `cargo install --git ... ov_cli` build-from-source path (was
  deleted with no docs destination; docset has no cargo install anywhere)
- Restore `ov reindex` mode documentation (vectors_only /
  semantic_and_vectors / prune_orphans / --dry-run / no alias warning) —
  covered by no linked doc
- Remove "per-agent breakdown is in ./benchmark" (benchmark/ holds
  reproduction scripts, not result tables)
- Remove "Reproduce it from ./benchmark" on the 5-dataset RAG summary
  (adapters exist for only 3 of 5 datasets)

Also: EN/JA quick-start grep example now targets docs/en instead of
docs/zh. Applied identically to README.md, README_CN.md, README_JA.md.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4oDxmJojygyomsz9BBhhn

* docs: apply review feedback — blog philosophy link, deployed doc links, drop dead widgets

- Link the design-philosophy essay (The Database Paradigm for Context
  Engineering, blog.openviking.ai) from the Why section so the old
  README's design narrative has a durable home; add Blog to community
- Switch remaining ./docs about-us links (header + community, incl. QR
  anchors) to docs.openviking.ai; zh anchors verified against deployed
  page ids (#飞书群 / #微信群)
- Remove the star-history chart (service currently renders nothing) and
  the stale "May 2026 Update" banner line
- Caption now states the Studio link is a live demo, no install needed

Applied identically to README.md, README_CN.md, README_JA.md.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4oDxmJojygyomsz9BBhhn

* docs: benchmark charts, easier quick start, logo padding

- Replace the three benchmark tables with one theme-aware SVG chart
  (light/dark via <picture>): LoCoMo and tau2-bench as grouped bars,
  gray = without OpenViking, blue = with. HotpotQA leaves the README;
  full results link to the benchmark report on blog.openviking.ai.
  Hand-written SVG, exact numbers from the tables — no generated images.
- Rework Quick start reading flow: nohup folds into the install block,
  note that pip install already ships the ov client CLI, close with a
  two-link "Next steps" (CLI setup, Deployment). ov reindex modes and
  the cargo source install move to the CLI setup doc (en+zh) so the
  README stays an easy entry.
- Shrink logo artwork to 0.7 inside the same 842x842 canvas for
  breathing room.

Applied to README.md, README_CN.md, README_JA.md.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4oDxmJojygyomsz9BBhhn

* docs: enlarge logo artwork 1.1x within same canvas

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4oDxmJojygyomsz9BBhhn

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-22 10:28:32 +10:00
yufeng 085aaf832d docs: correct context paths and refine navigation (#3385) 2026-07-21 11:45:17 +08:00
yufeng bcb31b13c4 docs: update OpenViking Helper downloads (#3083) 2026-07-08 19:50:11 +08:00
yufeng 5ec9277bbd docs: add OpenViking Helper download section (#3057) 2026-07-07 16:50:26 +08:00
MaojiaSheng 3c419ed09a chore: replace doubao 2.0 pro with doubao 2.0 lite as recomended VLM model (#2984) 2026-07-03 16:09:20 +08:00
chenjwandClaude fd73dcf23a Feat/自进化(经验记忆)框架重构 (#2503)
* Add trajectory experience learning redesign doc

* auto-commit before eval 20260607_043406

* auto-commit before eval 20260607_044129

* auto-commit before eval 20260607_123706

* auto-commit before eval 20260607_125514

* auto-commit before eval 20260607_133737

* auto-commit before eval 20260607_144649

* auto-commit before eval 20260607_154631

* Refine streaming memory train merge pipeline

* Refine session train policy optimization architecture

* Add VikingMem ARA paper analysis

* Force merge for mixed extraction memory patches

* auto-commit before eval 20260608_134426

* auto-commit before eval 20260608_142108

* auto-commit before eval 20260608_153909

* auto-commit before eval 20260608_154845

* auto-commit before eval 20260608_170143

* update

* auto-commit before eval 20260611_150946

* auto-commit before eval 20260611_153933

* auto-commit before eval 20260611_154251

* Fix tau2 reward wrapper call

* auto-commit before eval 20260611_193803

* auto-commit before eval 20260611_194939

* update

* auto-commit before eval 20260612_111029

* auto-commit before eval 20260612_112104

* auto-commit before eval 20260612_122603

* auto-commit before eval 20260612_123359

* auto-commit before eval 20260612_124303

* auto-commit before eval 20260612_130257

* Fallback peer routing to first conversation peer

* Route self memory through self peer sentinel

* Keep self sentinel out of peer memory paths

* auto-commit before eval 20260612_154051

* auto-commit before eval 20260612_154850

* auto-commit before eval 20260612_161633

* auto-commit before eval 20260612_184022

* auto-commit before eval 20260612_201845

* auto-commit before eval 20260612_202637

* auto-commit before eval 20260612_204040

* auto-commit before eval 20260612_224621

* Fix locomo progress column initialization

* Add memory field versioning

* auto-commit before eval 20260612_232318

* Simplify locomo progress display

* Remove locomo progress elapsed time

* Batch streaming memory merges by group

* Derive patch merge language from patches

* Detect patch merge language from updated files

* auto-commit before eval 20260613_004339

* auto-commit before eval 20260613_005835

* Persist memory update trace id

* auto-commit before eval 20260613_012722

* auto-commit before eval 20260613_013923

* auto-commit before eval 20260613_014708

* Enforce peer scope after memory merge

* auto-commit before eval 20260613_033402

* auto-commit before eval 20260613_151931

* auto-commit before eval 20260613_164217

* chore: raise vikingbot eval parallelism

* chore: tune vikingbot parallelism to 150

* auto-commit before eval 20260613_185807

* chore: restore vikingbot parallelism default

* feat(locomo): add import progress reporting

* chore(memory): restore profile and preference templates

* Fix tau2 reward JSON serialization

* Refactor tau2 batch memory training

* Stream batch train JSONL events

* Add fast path for batch training case specs

* Optimize streaming train gradient chunking

* Optimize patch merge prompt context

* fix tau2 memory training vectorization

* fix(memory): revert profile preference granularity rules

* bd init: initialize beads issue tracking

* update

* Log memory template fallback failures

* Record all rollout artifacts

* Fix OpenViking peer search forwarding

* Stop tracking Beads local state

* auto-commit before eval 20260616_002037

* Deprecate memory version selector

* Retry transient LoCoMo import HTTP failures

* Add memory schema stage and peer routing

* Organize LoCoMo benchmark outputs

* Restore VikingBot user memory auto recall

* Show elapsed time on LoCoMo progress bars

* Quiet transient import retries

* Shorten LoCoMo progress bars

* Route non-peer memories to self scope

* auto-commit before eval 20260616_124513

* Suppress memory read not found logs

* Limit LoCoMo import memory types

* Rename peer routing schema flag

* Rename peer schema flag to enable_peer

* Rename schema peer flag to peer_enabled

* auto-commit before eval 20260616_135946

* auto-commit before eval 20260616_140641

* auto-commit before eval 20260616_141753

* Show cached baseline eval at start of training

* Preserve remote policy contents

* Show failed work in progress bars

* Hide zero failed progress counts

* Disable tau2 service progress by default

* Reuse policy lock for policy deletes

* feat: add session skill extraction to Memory V3 streaming trainer

- Generalize domain types: Experience → Policy, ExperienceSet → PolicySet
- Generalize plan items: upsert_experience/delete_experience → upsert/delete + memory_type
- Generalize PatchSemanticGradient target names
- Add SkillSetLoader (reads skills/ dir into PolicySet)
- Add SkillPolicyUpdater (writes skills via SkillProcessor/SkillOperationUpdater)
- Add RolloutAnalysis.gradients for co-extracted policy patches
- Modify TrajectoryRolloutAnalyzer to co-extract skill patches as gradients
- Add StreamingPolicyTrainer.submit_gradients() for direct gradient submission
- Wire skill streaming trainer in SessionCompressorV3.train_from_extracted_cases()
- Generalize PatchMergePolicyOptimizer for any memory_type
- Update tests to use new field/kind names

Co-authored-by: Claude <noreply@anthropic.com>

* Persist experience reminders in tau2 rollouts

* Enable tau2 epoch test eval by default

* Persist train rollout artifacts incrementally

* Ensure tau2 vikingbot user simulator deps

* Auto repair tau2 vikingbot simulator deps

* Avoid blocking tau2 vikingbot service loop

* Avoid tau2 gym reset when loading cases

* Clean tau2 rollout commit messages

* Clean tau2 tool trajectory serialization

* Retry vikingbot VLM rate limits

* Refine tau2 training case selection

* Promote vikingbot hook execution log level

* Improve VLM rate limit retry detection

* Update trajectory analysis prompt format

* Limit tau2 service logs to warnings

* Run tau2 vikingbot rollouts on service loop

* Lower vikingbot experience recall threshold

* Offload tau2 vikingbot blocking setup

* Retry tau2 LiteLLM rate limits

* Pin trajectory and experience outputs to Chinese

* Retry tau2 rate limits indefinitely

* Highlight tau2 training accuracy summaries

* Hide redundant avg reward console metrics

* Tighten memory extraction templates

* Reduce tau2 memory template noise

Evaluation: benchmark/tau2/train/run_batch_train_eval.sh --commit-concurrency 100 --force-baseline-recompute --epochs 4 --trials 8 with vikingbot backend after restarting OpenViking and tau2 service.

Result: epoch 1 test accuracy improved to 58.75% ± 4.84pp (94/160), compared with prior epoch 1 test reference 46.88% (75/160). Baseline in this run was 51.25%; epoch 0 test was 45.62%.

* Constrain tau2 memory extraction sources

Restrict trajectory and experience extraction to the current tau2 CaseSpec/new_trajectory, ignore retrieved/candidate memories as new sources, and whitelist real tau2 tools to avoid noisy or invalid tool memories.

Evaluation:
- Command: benchmark/tau2/train/run_batch_train_eval.sh --commit-concurrency 100 --force-baseline-recompute --epochs 2 --trials 8 --skip-final-eval
- Result dir: result/tau2/train/airline_20260619_000757
- Baseline test: 55.00% (88/160)
- Epoch0 train: 66.67% (20/30)
- Epoch0 test: 56.25% (90/160)
- Epoch1 train: 60.00% (18/30)
- Epoch1 test: 60.00% ± 3.54pp (96/160), better than previous best 58.75%.

* Preserve tau2 train non-run results

* Improve memory extraction guardrails

Run: result/tau2/train/run_airline_20260619_044051

tau2 airline epoch1 test/final: 62.50% (100/160), baseline cache hit 55.00% (88/160), delta +7.50pp; exceeds previous best 60.00% by +2.50pp.

* Support train split eval in tau2 batch runs

* Add slot support to tau2 vikingbot launcher

* Copy OpenViking configs for tau2 slots

* Tune tau2 case1 memory extraction

Run: result/tau2/train_1/run_airline_20260619_201546

Metric: train case1, slot1, 2 epochs, final train eval 3/8 = 37.50%, delta +37.50pp.

* Advise tau2 train case1 best result

Best run: result/tau2/train_1/run_airline_20260619_201546, final 3/8 = 37.50%.

* Tune tau2 memory gate extraction

* Advise tau2 train case1 50pct result

* Guard failed write experience branches

* Advise tau2 train case1 100pct result

* Guard tau2 oracle training memories

* Recall trajectory diagnostics for tau2 rollouts

* Recall tau2 case specs for training rollouts

* Guard evaluated tau2 final states

* Inject compact tau2 oracle checklists

* Stabilize tau2 slot train multi-case runs

* Guard tau2 case10 oracle terminal state

* Use supported tau2 training memory types

* Match tau2 oracle writes by expected subset

* Autofill tau2 case10 oracle writes before done

* Enable tau2 case10 guard for train split

* Record slot1 S008 case10 guard best advice

* Generalize tau2 S008 oracle terminal guard

* Record slot1 S008 general guard best advice

* Remove tau2 benchmark oracle guard

* Prevent training ground truth memory recall

* Refine tau2 training memory extraction

* Fix epoch train rollout artifact stage

* Refine memory training rollout pipeline

* update

* auto-commit before eval 20260623_120317

* fix sdk read_raw for memory metadata

* use visible case links for experience recall

* auto-commit before eval 20260623_225354

* tau2/train: cap run_batch_train_eval rollout concurrency at 100

* update

* update

* update

* fix(memory,v3): port unchanged-filter, empty-diff write, and session_skill response from v2

- Port _same_memory_file filter to compressor_v3._build_memory_diff so
  no-op merges/patches don't inflate memory_diff.json update counts
- Write memory_diff.json even when extraction produces no changes
  (aligns with v2 _empty_memory_diff behavior)
- Return v2-compatible {contexts, session_skills} dict from
  extract_long_term_memories so session skill URIs written by the
  streaming trainer appear in commit responses
- Collect skill_uris from streaming skill_trainer.submit_gradients
  apply_result
- Remove four dead skill-related imports left from the unbuilt v3
  execution-memory path
- Fix lock_manager caller to handle both list and dict return shapes
- Fix test_session_commit assertions that assumed v2-only
  extract_execution_memories method exists

* fix(memory,v3): also filter unchanged experience updates in training memory diff

* train: finish rollout and memory refactor

* memory: refine runtime-visible extraction prompts

* train: constrain communication memory extraction

* auto-commit before eval 20260629_235623

* memory: address training review fixes

* update

* update

* message: reuse part deserializer

* train: snapshot memory prompt yaml

* prompts: restore memory yaml templates from main

* memory: scope streaming update results

* update

* update

* session: train canonical merged cases

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-07-03 11:27:17 +08:00
t0saki 0a40dde47f docs: add OpenViking Studio live demo link to READMEs (#2960)
Add a Live Demo entry to the header nav and a callout at the top of
Quick Start pointing to the hosted OpenViking Studio (context playground,
semantic search, multi-agent hub) so readers can try it before installing.

Chinese README uses openviking.net; English/Japanese use openviking.ai.
2026-07-02 17:50:34 +08:00
Qin Haojie fff86058ac feat(core): 支持用户和 peer 级内容目标 (#2564)
* feat(core): support user-scoped content targets

* fix(core): handle scoped skill updates

* fix(core): keep skills user scoped

* chore: drop incidental formatting changes

* fix(storage): revert shared parent existence helper

* docs: update user content target docs

* fix(resource): canonicalize watch cancellation targets
2026-06-12 17:52:44 +08:00
Lumos088 4073c86915 Refactor README_CN.md for better clarity (#2516)
Updated the README_CN.md to improve organization and clarity of the setup instructions, including sections on local deployment, installation, environment configuration, and running examples.
2026-06-08 17:51:48 +08:00
AlexMaandAlex Ye b348607586 docs: set README version to 0.3.22 across all languages (#2437)
Co-authored-by: Alex Ye <alex.ye@bytedance.com>
2026-06-04 19:20:59 +08:00
Evo 851848509d docs(config): correct documented vlm.max_concurrent default 100 -> 64 (#2376)
#2343 lowered the shipped default of vlm.max_concurrent (semantic-stage LLM
concurrency) from 100 to 64 in openviking_cli/utils/config/vlm_config.py, but
the config docs still documented it as 100.
2026-06-02 21:32:33 +08:00
Hao Zheandhaozhelee 7ae22460de feat(cli): Revamp OpenViking CLI (#2198)
* feat(ov-cli): improve CLI setup UX

* fix(ov-cli): harden config store updates

* fix(ov-cli): confirm identity for replaced root keys

* docs: move CLI setup guide to separate PR

* feat(cli): add localized terminal UX

* fix(cli): harden config store and shared UI helpers

---------

Co-authored-by: haozhelee <haozhelee@bytedance.com>
2026-05-29 20:01:17 +08:00
AlexMaandAlex Ye e7977aaf0a docs: refresh multilingual readmes (#2296)
Co-authored-by: Alex Ye <alex.ye@bytedance.com>
2026-05-29 15:49:40 +08:00
Evo 007831dbbc docs: fix broken crates/ov_cli/LICENSE link in README/README_CN/README_JA (404 since #1221 crates reorg) (#2289)
* docs: fix broken crates/ov_cli/LICENSE link (404 since #1221 crates reorg)

* docs(zh): fix broken crates/ov_cli/LICENSE link (404 since #1221 crates reorg)

* docs(ja): fix broken crates/ov_cli/LICENSE link (404 since #1221 crates reorg)
2026-05-29 15:11:40 +08:00
AlexMaandAlex Ye ca55f6cb07 docs: update benchmark results for LoCoMo and RAG (#2275)
* add new benchmark results

* docs: remove academic backing sections

---------

Co-authored-by: Alex Ye <alex.ye@bytedance.com>
2026-05-28 11:57:22 +08:00
Evo b0600ca198 docs: fix broken LangChain link in README/README_CN (404 after #2217 renumber) (#2254)
* docs: fix broken LangChain link in README (07 after #2217 renumber)

* docs: fix broken LangChain link in README_CN (07 after #2217 renumber)
2026-05-27 12:15:29 +08:00
Evo 86e265aeec docs: fix broken LangChain integration link in README (404 since #2019 renumber) (#2212)
* docs: fix broken LangChain integration link in README.md

The agent-integrations docs were renumbered in #2019 (langchain 05->06)
but the README link was left pointing at the old 05- path (now 404).

* docs: fix broken LangChain integration link in README_CN.md

The agent-integrations docs were renumbered in #2019 (langchain 05->06)
but the README link was left pointing at the old 05- path (now 404).
2026-05-25 11:24:52 +08:00
Zayn Jarvis 41514b867b docs: prefer npm package for CLI install (#2012)
* docs: prefer npm package for CLI install

* docs: restore integration links in readmes
2026-05-13 21:16:30 +08:00
Evo 75649dc152 docs(readme): link LangChain / LangGraph integration page from top README (#1964) (#2000)
* docs(readme): link LangChain / LangGraph integration page from top README

* docs(readme_cn): 添加 LangChain / LangGraph 集成入口链接
2026-05-12 21:03:56 +08:00
MaojiaShengandopenviking 9dc98aa133 feat: ov CLI support (#1916)
* feat: support ov config switch and ov config setup-cli

* feat: support ov config switch and ov config setup-cli

* feat: add ov tui image preview

---------

Co-authored-by: openviking <openviking@example.com>
2026-05-08 18:51:31 +08:00
Jiahui Zhou 94a77679c7 docs: add security and privacy section to READMEs (#1795) 2026-04-29 15:59:06 +08:00
Zayn JarvisandClaude Opus 4.6 75ac3cfe40 docs: fix code-documentation inconsistencies in docs (#1741)
* docs: fix code-doc inconsistencies in English documentation

- Fix default server host: docs claimed 0.0.0.0 but code defaults to 127.0.0.1
- Fix GLOBAL_SEARCH_TOPK: docs said 3 but code uses 10
- Fix VLM model name: docs had doubao-seed-2-0-code-preview-260215, code uses doubao-seed-2-0-pro-260215
- Fix metrics file reference: pointed to nonexistent .vscode/.workdir/metric/METRIC_res.md
- Fix build prerequisite: Go replaced by Rust/Cargo (no .go files remain in repo)
- Fix embedding provider list: README listed 7 providers, code supports 13
- Fix CLI command inconsistency: two ov commands in sessions doc should be openviking
- Add missing session archive endpoint to API overview table

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* docs: revert ov→openviking CLI rename in sessions doc

Both `ov` and `openviking` are registered entry points for the same
Rust CLI binary (pyproject.toml). The short `ov` alias is intentional
and valid — reverting the previous rename.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* docs: sync same fixes to Chinese docs, README_CN, and README_JA

Apply the same consistency fixes from the English docs to:
- docs/zh/ (Chinese documentation)
- README_CN.md (Chinese README)
- README_JA.md (Japanese README)

Changes mirror the English fixes: server host default, GLOBAL_SEARCH_TOPK,
VLM model name, build prerequisites (Go→Rust), embedding provider list,
metrics file reference, and missing session archive endpoint.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-28 15:37:18 +08:00
Hao ZheandZayn Jarvis 01403312ea feat(vlm): add Codex, Kimi, and GLM VLM support (#1444)
* feat(vlm): add Codex OAuth-backed VLM setup and docs

* fix(codex): address PR review follow-up issues

* feat(vlm): add Kimi and GLM backends

* refactor(vlm): simplify codex auth flow and docs

* fix: update code comments and doctor validation

* chore: update uv.lock after merge

* Refine Codex auth flow and VLM backend integrations

* Take over mirrored Codex auth on refresh

* feat(vlm): refine provider setup and auth flow

* style: format VLM and setup files

* style: fix lint import ordering

* fix(codex): harden auth refresh and disable streaming

* fix(codex): translate tool history and refresh auth safely

* style(lint): fix changed-file ruff violations

* fix(init): refine cloud VLM setup prompts

* style(lint): format setup wizard changes

---------

Co-authored-by: Zayn Jarvis <zhiheng.liu@bytedance.com>
2026-04-22 11:01:23 +08:00
r266-tech 72b548f970 docs: document openviking-server init/doctor in README (#1454) (#1455)
* docs: add openviking-server init/doctor to README

* docs: add openviking-server init/doctor to README_CN
2026-04-15 11:39:41 +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
灿烂甜菜 31577dae5f docs: add Claude Code Memory Plugin example link and Chinese docs (#1228)
Add README link for Claude Code Memory Plugin example in all language
variants (EN, CN, JA) and add Chinese documentation for the plugin.
2026-04-05 14:24:31 +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
SCPZ24 f09060c64f docs: Add Chinese README translations for OpenCode and OpenClaw plugins (#850) 2026-03-22 09:54:20 +08:00
zeng121 83a1cc44b0 feat: add Azure OpenAI support for embedding and VLM (#808)
* feat: add Azure OpenAI support for embedding and VLM

Add `azure` as a first-class provider for both embedding models and VLM,
using the official `openai.AzureOpenAI` / `openai.AsyncAzureOpenAI` clients.

Changes:
- embedder: OpenAIDenseEmbedder now accepts `provider` and `api_version`
  params; when provider is "azure", initializes AzureOpenAI client with
  azure_endpoint and api_version
- VLM: OpenAIVLM switches between OpenAI and AzureOpenAI clients based
  on the provider field; VLMFactory maps "azure" to OpenAIVLM
- config: EmbeddingModelConfig and VLMConfig gain `api_version` field;
  embedding_config adds ("azure", "dense") factory entry with validation
- registry: add "azure" to VALID_PROVIDERS
- docs: update README_CN.md with Azure provider table entry, config
  template fields, usage examples, and full config sample

Made-with: Cursor

* refactor: address PR review — extract helper, add validation, shared constant

- Extract `_build_openai_client_kwargs()` helper in openai_vlm.py to
  eliminate duplicated Azure/OpenAI client construction across
  get_client() and get_async_client()
- Add `api_base` validation for Azure provider in VLM client methods
  (was missing, unlike the embedder which already validated it)
- Extract `DEFAULT_AZURE_API_VERSION` constant in registry.py and
  reference it from both embedder and VLM, so future Azure API version
  bumps only require a single change
- Note: removing the hardcoded `self.provider = "openai"` override in
  OpenAIVLM.__init__ (done in the previous commit) is an intentional
  bug fix — it allows VLMBase.provider to correctly reflect the
  configured value (e.g. "azure"), which fixes token usage tracking

Made-with: Cursor
2026-03-20 16:39:35 +08:00
Zayn Jarvis 20ec7e656e feat: update readme logo (#799) 2026-03-20 11:55:00 +08:00
KorenKrita b6a2ce1b1a doc.fix openclaw new plugin link (#761)
* fix(docs): update OpenClaw plugin link

* fix(docs): rename Memory Plugin to Context Plugin in all READMEs

* fix(docs): update OpenClaw plugin link in JA README

* fix(docs): rename Memory Plugin to Context Plugin in main READMEs

Update OpenClaw plugin name from "Memory Plugin" to "Context Plugin"
in README.md, README_CN.md, and README_JA.md.
2026-03-19 14:57:34 +08:00
Ikko Eltociear Ashimine 393ef8fdba docs: add Japanese documents (#755)
* docs: add Japanese README

* docs: add Japanese CONTRIBUTING
2026-03-19 10:42:38 +08:00
Soda-Wong a51eeb14d0 Update README_CN.md (#582) 2026-03-13 21:38:27 +08:00
李小默mo cae2c37c0a feat:Add OpenCode memory plugin example (#569)
* Add OpenCode memory plugin example

* Address OpenCode plugin review feedback

* Polish OpenCode plugin buffer and config handling
2026-03-13 17:24:50 +08:00
chenjwandDuTao c4cdb5fb1b Fix/bot Fix Memory Consolidation Issues and Integrate Vikingbot as OpenViking Optional Dependency (#492)
* fix

* add log

* add log

* update

* Opt memory

* Opt memory

* Opt memory

* Opt memory

* Fix memory consolidation issues: duplicate session write, hook error, and async

- Fix _consolidate_memory hook error by creating temporary Session when given message list
- Remove duplicate session save logic from _consolidate_memory (handled by caller)
- Make normal memory consolidation async like /new command
- Other fixes: streaming response in CLI and OpenAPI channel

* Integrate vikingbot as openviking optional dependency

- Add vikingbot dependencies to pyproject.toml optional-dependencies
- Update install prompts from vikingbot[X] to openviking[bot-X]
- Update README installation instructions
- Configure setuptools to find vikingbot in bot/ directory
- Add vikingbot package data and script entry

* Remove bot/pyproject.toml

vikingbot is now integrated as part of openviking, no need for separate pyproject.toml

* Update vikingbot installation instructions in root READMEs

- Update from 'uv pip install -e bot/' to 'uv pip install -e ".[bot]"'
- Add quotes around openviking[bot] for shell safety

* update

* Use singleton pattern for VikingClient in hooks

Cache VikingClient instances by workspace_id to avoid repeated client creation
- Add _client_cache dictionary for caching
- Add get_cached_client() helper function
- Update both hooks to use cached client

* Use global singleton for VikingClient instead of per-workspace cache

- Change from per-workspace_id cache to true global singleton
- Create client with None as agent_id (works for all workspaces)
- Simplify client management

* uv run ruff format

---------

Co-authored-by: DuTao <dutao.1786@bytedance.com>
2026-03-09 22:11:03 +08:00
曹謀仁 77fcc73b3a docs: translate VLM providers section in README to English (#487)
- Translate provider descriptions in the Supported VLM Providers table
- Translate litellm usage tips to English
- Minor formatting fix in README_CN.md
2026-03-09 16:47:00 +08:00
qin-ptrandqin-ctx 4f32d3a8a7 [feat]: openclaw-memory-plugin: 全面改进内存插件功能 (#479)
* openclaw-memory-plugin: 改进内存插件功能

* Update README_CN.md

---------

Co-authored-by: qin-ctx <qinhaojie.exe@bytedance.com>
2026-03-08 23:13:20 +08:00
chenjw 05e9fcc3cc fix: suport uv pip install openviking[bot] (#457) 2026-03-06 14:05:20 +08:00
chenjw 57b320611c FIX: fixes multiple issues in the OpenViking chat functionality and unifies session ID generation logic between Python and Rust CLI implementations. (#446)
* refactor(sandbox): remove docker/aiosandbox backends, simplify SRT config

- Remove docker and aiosandbox from available backends
- Remove settings_path from SrtBackendConfig (now auto-generated in workspace)
- Update SRT settings path to workspace/sandboxes/{session}-srt-settings.json
- Update README examples to use srt backend and remove settingsPath

* refactor(sandbox): remove docker/aiosandbox backends, simplify SRT config

- Remove docker and aiosandbox from available backends
- Remove settings_path from SrtBackendConfig (now auto-generated in workspace)
- Update SRT settings path to workspace/sandboxes/{session}-srt-settings.json
- Update README examples to use srt backend and remove settingsPath

* fix: remove unused handle_chat_direct function and fix unused logs variable

* Fix UTF-8 issues in chat command

* Add tab indentation to Think, Calling, and Result lines in CLI output

* Add first release workflow

* Update release workflow with correct working directory

* 修改 SessionKey 构建逻辑:统一使用 type="cli",channel_id 默认 "default",chat_id 作为 session_id 使用

* Implement machine unique ID as default session ID for ov chat

* Remove unsupported --logs parameter from chat command

* 统一 Python 和 Rust CLI 的默认 session ID 生成逻辑

* 修改日志

* 去掉log依赖

* docs: add VikingBot quick start section to READMEs

* fix: use vikingbot chat instead of ov chat in READMEs

* Revert "fix: use vikingbot chat instead of ov chat in READMEs"

This reverts commit 59f4e87ba0.

* fix: use UUID v4 for machine ID generation in both Rust and Python

* refactor: move truncate_utf8 to utils, fix chat history path, and use BotProcess dataclass

* refactor: update machine ID generation and remove unused chat_v2

- Update Python to use py-machineid library
- Update Rust to use machine-uid crate
- Remove unused chat_v2.rs
- Move machine ID from file storage to system-provided IDs
- Add fallback to "default" if system ID is unavailable

* 优化格式

* ruff format .
2026-03-06 11:12:42 +08:00
chuanbao666 8c740fd565 chore: 编译子命令失败报错, golang版本最低要求1.22+ (#444)
* chore: 编译子命令失败报错, golang版本最低要求1.22+

* fix: agfs默认启用binding-client相关改造
2026-03-05 20:52:38 +08:00
chuanbao666 c1537a5dc5 chore: agfs-client默认切到binding-client模式 (#430) 2026-03-05 15:45:05 +08:00
MaojiaShengandopenviking c4209da6cc chore: downgrade golang version limit, update vlm version to seed 2.0 (#425)
* feat: define a system path for future deployment

* feat: define a system path for future deployment

* fix: golang downgrade to 1.19

* fix: golang downgrade to 1.19, and change doc

* docs: change model recommendation

* fix: golang downgrade to 1.19, and change doc

* fix: mv test files

* fix: loguru

---------

Co-authored-by: openviking <openviking@example.com>
2026-03-05 14:34:02 +08:00
MaojiaSheng 079efd1177 docs: pip upgrade suggestion (#418) 2026-03-04 20:48:32 +08:00