-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy path.env.datamind.example
More file actions
83 lines (75 loc) · 3.36 KB
/
.env.datamind.example
File metadata and controls
83 lines (75 loc) · 3.36 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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# DataMind — new-style nested env (Phase 1+)
#
# Copy to `.env.datamind` (or merge into `.env`) and fill in real values.
# All new-code ENV vars use the DATAMIND__<section>__<field> prefix with
# double-underscore as the nested delimiter. The legacy .env.example keys
# (LLM_API_BASE, etc.) still drive the old main.py / server.py — nothing
# is broken by this file.
# ---- LLM (Anthropic-compatible gateway) ----
DATAMIND__LLM__API_BASE=http://35.220.164.252:3888
DATAMIND__LLM__API_KEY=sk-your-key-here
DATAMIND__LLM__MODEL=claude-sonnet-4-6
# Cheaper model used for subagents / background summarisation
DATAMIND__LLM__FALLBACK_MODEL=claude-haiku-4-5-20251001
# ---- Embedding ----
# provider: must match a name registered in capabilities/embedding/providers/
# Built-ins (to be added in Phase 2): openai, voyage, huggingface, siliconflow
DATAMIND__EMBEDDING__PROVIDER=openai
DATAMIND__EMBEDDING__API_BASE=https://api.openai.com/v1
DATAMIND__EMBEDDING__API_KEY=sk-your-key-here
DATAMIND__EMBEDDING__MODEL=text-embedding-3-small
# Leave blank to auto-detect dimension at first call
# DATAMIND__EMBEDDING__DIMENSION=
DATAMIND__EMBEDDING__BATCH_SIZE=32
# ---- Retrieval ----
# strategy: simple | multi_query | hybrid (registered in capabilities/kb/providers/)
DATAMIND__RETRIEVAL__STRATEGY=simple
DATAMIND__RETRIEVAL__TOP_K=5
DATAMIND__RETRIEVAL__CHUNK_SIZE=512
DATAMIND__RETRIEVAL__CHUNK_OVERLAP=64
DATAMIND__RETRIEVAL__RERANK=false
# DATAMIND__RETRIEVAL__RERANK_MODEL=
# ---- Graph ----
# backend: networkx (built-in) | neo4j (future)
DATAMIND__GRAPH__BACKEND=networkx
# DATAMIND__GRAPH__DSN=bolt://user:pw@localhost:7687
DATAMIND__GRAPH__EMBED_ENTITIES=false
# ---- Database ----
# dialect: sqlite | mysql | postgres (registered in capabilities/db/providers/)
DATAMIND__DB__DIALECT=sqlite
# SQLite example (blank DSN = auto under storage/<profile>/demo.db)
# DATAMIND__DB__DSN=
# MySQL example:
# DATAMIND__DB__DIALECT=mysql
# DATAMIND__DB__DSN=mysql+pymysql://user:password@host:3306/dbname
# Postgres example:
# DATAMIND__DB__DIALECT=postgres
# DATAMIND__DB__DSN=postgresql+psycopg://user:password@host:5432/dbname
DATAMIND__DB__READ_ONLY=true
DATAMIND__DB__ROW_LIMIT=1000
DATAMIND__DB__QUERY_TIMEOUT_S=10.0
# ---- Memory ----
# backend: sqlite (built-in) | redis (future) | postgres (future)
DATAMIND__MEMORY__BACKEND=sqlite
# DATAMIND__MEMORY__DSN=
DATAMIND__MEMORY__SHORT_TERM_TURNS=20
DATAMIND__MEMORY__LONG_TERM_ENABLED=true
# ---- Data profile ----
# Switches data/profiles/<profile>/ and storage/<profile>/ in lockstep.
DATAMIND__DATA__PROFILE=default
# ---- Agent loop backend ----
# "native": built-in tool-use loop on the anthropic SDK — talks directly
# to whatever DATAMIND__LLM__API_BASE points at. Default. No
# extra process required.
# "sdk": uses claude-agent-sdk (which spawns the `claude` CLI) and
# routes through a local claude-code-router (CCR) instance.
# Best when your upstream gateway only speaks OpenAI format —
# CCR translates Anthropic↔OpenAI. Unlocks Hooks / Subagents /
# Compaction / Plan mode.
# Both backends use the SAME 23 DataMind tools and emit the SAME SSE
# events, so server / CLI / frontend don't care which is active.
DATAMIND__AGENT__BACKEND=native
# Only relevant when BACKEND=sdk:
# DATAMIND__AGENT__CCR_BASE_URL=http://127.0.0.1:13456
# DATAMIND__AGENT__CCR_API_KEY=dummy
DATAMIND__AGENT__MAX_TURNS=12