-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
66 lines (57 loc) · 2.47 KB
/
Copy path.env.example
File metadata and controls
66 lines (57 loc) · 2.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# LLM
LLM_PROVIDER=deepseek
DEEPSEEK_API_KEY=
DEEPSEEK_BASE_URL=https://api.deepseek.com
DEEPSEEK_MODEL=deepseek-chat
# Per-completion output cap (tool loops need recursion/tool budgets below)
LLM_MAX_TOKENS=2048
# LangGraph step cap — hard-stop infinite agent recursion
AGENT_RECURSION_LIMIT=40
# Main-agent tool calls per turn (subagents already capped at 3)
AGENT_MAX_TOOL_CALLS=24
# Optional local LLM
OLLAMA_BASE_URL=http://127.0.0.1:11434/v1
OLLAMA_MODEL=qwen3:4b
OLLAMA_API_KEY=ollama
# RAGLab (HTTP only — do not copy RAGLab source)
# Local host access to compose-mapped RAGLab: :18001 (Windows Hyper-V often excludes 8000/8001).
# docker-compose.yml overrides this inside the api container to http://raglab:8000
RAGLAB_BASE_URL=http://127.0.0.1:18001
# Logical KB isolation from Huawei corpus on the same RAGLab instance
RAGLAB_KB=deepsupport
# Optional UI copy when RAGLab is intentionally off (slim VPS).
# RAGLAB_UNAVAILABLE_HINT=
# Mock enterprise DB
DATABASE_URL=sqlite:///data/deepsupport.db
# Agent workspace (local fallback when Daytona disabled)
WORKSPACE_DIR=workspace
# HTTP bind — loopback by default; Docker sets API_HOST=0.0.0.0
API_HOST=127.0.0.1
API_PORT=8000
# Optional: protect mutating /api/meta/* and /admin/seed (header X-Admin-Token)
ADMIN_TOKEN=
# Shared demo passphrase for /api/tasks (httponly cookie, not baked into the UI).
# Empty = open local demo. Public deploy must set this.
DEMO_ACCESS_TOKEN=
# Cookie Path. Public subpath deploy: /DeepSupport-OS/
DEMO_COOKIE_PATH=/
# Daytona — lightweight sidecar only (local Skills/workspace are primary)
# Sandbox is ~1 vCPU / 1 GiB: do NOT put Skills or heavy FS work on Daytona.
# Get key: https://app.daytona.io/dashboard/keys
DAYTONA_ENABLED=true
DAYTONA_API_KEY=
DAYTONA_SANDBOX_NAME=deepsupport-sandbox
# sidecar | off | full (sidecar recommended)
DAYTONA_MODE=sidecar
# DAYTONA_API_URL=https://app.daytona.io/api
# DAYTONA_TARGET=
# Skills — progressive disclosure (builtin + skills/imported/)
SKILLS_IMPORTED_ENABLED=true
# MCP — in-process mock tools + optional remote servers (config/mcp_servers.json)
# Runtime toggles live in config/extensions.json (UI also writes there).
# .env values below are defaults/documentation only — ext_bool() reads extensions.json.
MCP_LOCAL_TOOLS=true
# Set true in extensions.json after starting: uv run python -m deepsupport_os.mcp.servers.employee --http
MCP_REMOTE_ENABLED=false
MCP_SERVERS_CONFIG=config/mcp_servers.json
CORS_ORIGINS=http://localhost:5173,http://127.0.0.1:5173