Files
OpenViking/examples/ov.conf.example
T
Jiahui ZhouandTRAE CLI f2832b7b9b Feat/configurable executor workers (#4913)
* feat(server): configure asyncio executor workers

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

* refactor: clarify executor thread configuration

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

---------

Co-authored-by: TRAE CLI <traecli@bytedance.com>
2026-09-11 11:02:33 +08:00

404 lines
14 KiB
Plaintext

{
"server": {
"host": "0.0.0.0",
"port": 1933,
"executor_threads": 0,
"timeout_keep_alive": 5,
"root_api_key": null,
"cors_origins": ["*"],
"agent_evolution": {
"enabled": false,
},
"observability": {
"metrics": {
"enabled": true,
"account_dimension": {
"enabled": true,
"max_active_accounts": 100,
"metric_allowlist": ["openviking_*"],
},
"exporters": {
"prometheus": {"enabled": true},
"otel": {
"enabled": false,
"protocol": "grpc",
"tls": {"insecure": false},
"endpoint": "localhost:4317",
"service_name": "openviking-server",
"export_interval_ms": 10000,
"headers": {},
},
},
},
"traces": {
"enabled": false,
"protocol": "grpc",
"tls": {"insecure": false},
"endpoint": "localhost:4317",
"service_name": "openviking-server",
"headers": {},
},
"logs": {
"enabled": false,
"protocol": "grpc",
"tls": {"insecure": false},
"endpoint": "localhost:4317",
"service_name": "openviking-server",
"headers": {},
},
},
},
"cache": {
"provider": "redis",
"params": {
"mode": "standalone",
"endpoints": ["redis://127.0.0.1:6379"],
"pool_size": 32,
"connect_timeout_ms": 1000,
"command_timeout_ms": 1000,
"default_ttl_seconds": 3600,
},
},
"storage": {
"workspace": "./data",
"vectordb": {
"name": "context",
"backend": "local",
"project": "default",
"volcengine": {
"region": "cn-beijing",
"ak": null,
"sk": null,
"api_key": null,
"host": "api-vikingdb.vikingdb.cn-beijing.volces.com",
"session_token": null,
},
},
"agfs": {
"backend": "local",
"timeout": 10,
"cachefs": {
"backend": "local",
"namespace": "openviking",
"max_file_size_bytes": 1048576,
"bypass_prefixes": ["/queue", "/tmp"],
},
"queuefs": {
"backend": "sqlite",
"cache_key_prefix": "default",
},
"pathlock": {
"provider": "filesystem",
"lock_expire_secs": 30.0
},
"s3": {
"bucket": null,
"region": null,
"access_key": null,
"secret_key": null,
"endpoint": null,
"prefix": "",
"use_ssl": true,
"auto_detect_content_type": false,
"disable_batch_delete": false,
},
},
},
"queue_workers": {
"external_parse": {"max_concurrent": 4},
"add_resource": {
"max_concurrent": 4,
"file_vectorization_concurrency": 8
},
"session_commit": {"max_concurrent": 8},
"external_task": {"max_concurrent": 10},
},
"compile_api": {
"base_url": "",
"gateway_token": "",
"http_timeout_seconds": 10,
"poll_interval_ms": 3000,
},
"reindex": {
"file_vectorization_concurrency": 8
},
"embedding": {
"dense": {
"model": "doubao-embedding-vision-251215",
"api_key": "{your-api-key}",
"api_base": "https://ark.cn-beijing.volces.com/api/v3",
"dimension": 1024,
"provider": "volcengine",
"input": "multimodal",
},
"text_source": "content_only",
"max_input_tokens": 4096,
"circuit_breaker": {"failure_threshold": 5, "reset_timeout": 60, "max_reset_timeout": 600},
},
"embedding_ollama_example": {
"_comment": "For local deployment with Ollama (no API key required):",
"dense": {
"provider": "ollama",
"model": "nomic-embed-text",
"api_base": "http://localhost:11434/v1",
"dimension": 768,
"input": "text",
},
},
"embedding_volcengine_plan_example": {
"_comment": "For VolcEngine subscription plans instead of pay-as-you-go: Agent Plan uses api_base https://ark.cn-beijing.volces.com/api/plan/v3, Coding Plan uses https://ark.cn-beijing.volces.com/api/coding/v3. On BytePlus, the ModelArk Coding Plan uses https://ark.ap-southeast.bytepluses.com/api/coding/v3 with model skylark-embedding-vision.",
"dense": {
"model": "doubao-embedding-vision",
"api_key": "{your-api-key}",
"api_base": "https://ark.cn-beijing.volces.com/api/plan/v3",
"dimension": 1024,
"provider": "volcengine",
"input": "multimodal",
},
},
"vlm": {
"model": "doubao-seed-2-0-lite-260428",
"api_key": "{your-api-key}",
"api_base": "https://ark.cn-beijing.volces.com/api/v3",
"temperature": 0.0,
"max_retries": 2,
"provider": "volcengine",
"thinking": false,
"_max_tokens_comment": "Optional output cap. Memory extraction needs ~32768 output tokens to avoid truncating a full memory-file rewrite; that default suits Doubao. If your model's max output is lower (e.g. gpt-4o-mini at 16384), set max_tokens to its limit here to override the extraction default.",
"media": {
"enabled": false,
"file_processing_timeout": 1800,
"file_poll_interval": 3,
"max_concurrent": 2,
"video_fps": 1.0,
},
},
"vlm_volcengine_plan_example": {
"_comment": "For VolcEngine subscription plans instead of pay-as-you-go: Agent Plan uses api_base https://ark.cn-beijing.volces.com/api/plan/v3, Coding Plan uses https://ark.cn-beijing.volces.com/api/coding/v3. On BytePlus, the ModelArk Coding Plan uses https://ark.ap-southeast.bytepluses.com/api/coding/v3 with model dola-seed-2.0-lite.",
"provider": "volcengine",
"model": "doubao-seed-2.0-lite",
"api_key": "{your-api-key}",
"api_base": "https://ark.cn-beijing.volces.com/api/plan/v3",
"temperature": 0.0,
"max_retries": 2,
},
"vlm_codex_example": {
"_comment": "For Codex OAuth via subscription. Complete sign-in from `openviking-server init`. OV stores tokens in ~/.openviking/codex_auth.json and can bootstrap from an existing Codex CLI auth file if needed.",
"provider": "openai-codex",
"model": "gpt-5.3-codex",
"api_base": "https://chatgpt.com/backend-api/codex",
"reasoning_effort": "xhigh",
"temperature": 0.0,
"max_retries": 2,
},
"vlm_kimi_example": {
"_comment": "For Kimi Coding subscription. OpenViking applies the recommended provider defaults automatically.",
"provider": "kimi",
"model": "kimi-code",
"api_key": "{your-kimi-subscription-api-key}",
"api_base": "https://api.kimi.com/coding",
"temperature": 0.0,
"max_retries": 2,
},
"vlm_glm_example": {
"_comment": "For GLM Coding Plan via Z.AI subscription API key. Use a vision-capable model for multimodal parsing.",
"provider": "glm",
"model": "glm-4.6v",
"api_key": "{your-zai-api-key}",
"api_base": "https://api.z.ai/api/coding/paas/v4",
"temperature": 0.0,
"max_retries": 2,
},
"rerank": {
"provider": "vikingdb",
"ak": "{your-ak}",
"sk": "{your-sk}",
"host": "api-vikingdb.vikingdb.cn-beijing.volces.com",
"model_name": "doubao-seed-rerank",
"model_version": "251028",
"threshold": 0.1,
},
"rerank_openai_example": {
"_comment": "For OpenAI-compatible rerank providers (e.g. DashScope qwen3-rerank):",
"provider": "openai",
"api_key": "{your-api-key}",
"api_base": "https://dashscope.aliyuncs.com/compatible-api/v1/reranks",
"model": "qwen3-rerank",
"threshold": 0.1,
},
"retrieval": {
"hotness_alpha": 0.0,
"score_propagation_alpha": 1.0,
"recall_intent_timeout_s": 5.0,
"recall_rewrite_timeout_s": 30.0,
},
"grep": {"engine": "auto", "switch_to_remote_threshold": 10000},
"auto_generate_l0": true,
"auto_generate_l1": true,
"default_search_mode": "thinking",
"default_search_limit": 3,
"enable_memory_decay": true,
"memory_decay_check_interval": 3600,
"memory": {
"version": "v2",
"extraction_enabled": true,
"extraction_output_format": "python",
"maintenance_review_tokens": 1000,
"session_skill_extraction_enabled": false,
},
"ingest": {
"enabled": false,
"server_url": "$OPENVIKING_URL",
"api_key": "$OPENVIKING_API_KEY",
"account": "default",
"user": "default",
"harnesses": {
"claude_code": {"enabled": false, "mode": "both"},
"codex": {"enabled": false, "mode": "backfill"},
"opencode": {"enabled": false, "mode": "watch", "experimental": true},
"hermes": {"enabled": false, "mode": "both", "user_field": "sender"},
"openclaw": {"enabled": false, "mode": "both", "user_field": "sender"},
},
},
"bot": {
"gateway": {
"host": "127.0.0.1",
"port": 18790,
"token": null,
},
"ov_server": {
"server_url": null,
"api_key_type": "user",
"api_key": null,
},
},
"log": {
"level": "INFO",
"format": "%(asctime)s - %(name)s - %(levelname)s - %(message)s",
"output": "stdout",
"rotation": true,
"rotation_days": 3,
"rotation_interval": "midnight",
},
"parsers": {
"pdf": {
"strategy": "auto",
"max_content_length": 100000,
"max_section_size": 4000,
"section_size_flexibility": 0.3,
"max_section_chars": 6000,
"mineru_endpoint": "http://127.0.0.1:8000",
"mineru_timeout": 300.0,
"mineru_bodys": {
"backend": "hybrid-auto-engine",
"lang_list": ["ch"],
"parse_method": "auto"
},
},
"code": {
"github_raw_domain": "raw.githubusercontent.com",
"code_hosting_domains": [
"github.com",
"gitlab.com",
"gitcode.com",
"gitee.com",
"bitbucket.org",
"codeberg.org",
"gitea.com",
"atomgit.com",
"git.sr.ht"
],
"github_domains": ["github.com", "www.github.com"],
"gitlab_domains": ["gitlab.com", "www.gitlab.com"],
},
"image": {
"enable_ocr": false,
"enable_vlm": true,
"ocr_lang": "eng",
"vlm_model": "gpt-4-vision",
"preview_max_dimension": 2048,
"max_file_size_mb": 10.0,
"max_tile_dimension_px": 2048,
"tile_overlap_px": 2,
"large_image_threshold_dimension": 4096
},
"audio": {
"enable_transcription": true,
"transcription_model": "whisper-large-v3",
"language": null,
"extract_metadata": true,
},
"video": {
"extract_frames": true,
"frame_interval": 10.0,
"enable_transcription": true,
"enable_vlm_description": false,
"max_duration": 3600.0,
},
"markdown": {
"preserve_links": true,
"extract_frontmatter": true,
"include_metadata": true,
"max_heading_depth": 3,
},
"anydoc": {
"enabled": true,
},
"html": {
"extract_text_only": false,
"preserve_structure": true,
"clean_html": true,
"extract_metadata": true,
},
"text": {
"detect_language": true,
"split_by_paragraphs": true,
"max_paragraph_length": 1000,
"preserve_line_breaks": false,
},
"webfeed": {
"max_pages": 200,
"max_concurrency": 5,
"request_timeout": 30.0,
"politeness_delay": 0.2,
"same_host_only": true,
"respect_robots": true,
"max_depth": 2,
"suggest_feed": true,
},
},
"encryption": {
"enabled": true,
"provider": "local",
"local": {"key_file": "~/.openviking/master.key"},
"api_key_hashing": {"enabled": false},
},
"encryption_vault_example": {
"_comment": "For HashiCorp Vault integration:",
"enabled": true,
"provider": "vault",
"vault": {
"address": "http://127.0.0.1:8200",
"token": "hvs.your-vault-token",
"mount_point": "transit",
"kv_mount_point": "secret",
"kv_version": 1,
"root_key_name": "openviking-root-key",
"encrypted_root_key_key": "openviking-encrypted-root-key",
},
},
"encryption_volcengine_kms_example": {
"_comment": "For Volcengine KMS integration:",
"enabled": true,
"provider": "volcengine_kms",
"volcengine_kms": {
"region": "cn-beijing",
"access_key": "AKLTyour-access-key",
"secret_key": "your-secret-key",
"key_id": "your-kms-key-id",
"endpoint": null,
"key_file": "~/.openviking/openviking-volcengine-root-key.enc",
},
},
}