mirror of
https://github.com/volcengine/OpenViking.git
synced 2026-09-29 04:02:57 +08:00
* 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>
404 lines
14 KiB
Plaintext
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",
|
|
},
|
|
},
|
|
}
|