Commit Graph
68 Commits
Author SHA1 Message Date
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
Soda-Wong fdcd17b7ff Update README_CN.md (#391)
更新数字
2026-03-03 14:32:55 +08:00
JJF 4a56147600 在readme补充千问使用方法 (#364) 2026-02-28 21:17:38 +08:00