-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.example.yaml
More file actions
66 lines (58 loc) · 2.81 KB
/
config.example.yaml
File metadata and controls
66 lines (58 loc) · 2.81 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
# Primkit configuration file.
# All four primitives (taskprim, stateprim, knowledgeprim, queueprim) read this format.
# Copy to config.yaml and edit. Each primitive uses its own config file.
# Environment variables override any value here (see docs for prefix rules).
# Use ${ENV_VAR} syntax for secrets — they're interpolated at startup.
storage:
# Path to the SQLite database file. Created automatically if it doesn't exist.
# Override: TASKPRIM_DB, STATEPRIM_DB, KNOWLEDGEPRIM_DB, or QUEUEPRIM_DB
db: ~/.taskprim/default.db
# Litestream replication (optional). Embeds Litestream as a Go library —
# no sidecar process needed. Continuously streams WAL frames to object
# storage for durability. Runs automatically in serve and MCP modes.
# Restore with: taskprim restore --config config.yaml
replicate:
enabled: false
# provider: r2 # r2 | s3 | b2 | gcs
# bucket: ${R2_BUCKET}
# path: taskprim.db
# endpoint: ${R2_ENDPOINT} # required for R2/B2: https://<account>.r2.cloudflarestorage.com
# access_key_id: ${R2_ACCESS_KEY_ID}
# secret_access_key: ${R2_SECRET_ACCESS_KEY}
# Authentication for serve and MCP SSE modes.
# CLI mode uses filesystem permissions — no auth needed.
auth:
keys: []
# - key: "tp_sk_your_api_key_here"
# name: "johanna" # identifies task source in API mode
# - key: "sp_sk_your_api_key_here"
# name: "johanna"
# - key: "kp_sk_your_api_key_here"
# name: "thomas"
# - key: "qp_sk_your_api_key_here"
# name: "worker-01"
# HTTP server settings (serve mode and MCP SSE transport).
server:
port: 8090 # taskprim: 8090, stateprim: 8091, knowledgeprim: 8092, queueprim: 8093
# taskprim-specific settings.
taskprim:
# Default list for new tasks when --list is omitted.
# Override: TASKPRIM_LIST env var.
default_list: ""
# knowledgeprim-specific settings (ignored by taskprim and stateprim).
# Vector embedding (optional). When configured, knowledgeprim generates embeddings
# on capture and enables vector and hybrid search modes.
# Without embedding, FTS5 search, manual edges, and discovery still work.
embedding:
provider: "" # gemini | openai | custom (empty = disabled)
# model: text-embedding-004 # Gemini (768d default; supports Matryoshka dimensions)
# model: text-embedding-3-small # OpenAI
# dimensions: 768 # must match model output
# api_key: ${EMBEDDING_API_KEY}
# endpoint: "" # custom endpoint for local models
# Auto-connect (optional). When embedding is enabled, new entities are
# automatically linked to semantically similar existing entities on capture.
auto_connect:
enabled: true
threshold: 0.35 # cosine distance (lower = more similar)
max_connections: 10 # max auto-connections per capture