-
Notifications
You must be signed in to change notification settings - Fork 176
Expand file tree
/
Copy path.env.example
More file actions
157 lines (135 loc) · 8.92 KB
/
Copy path.env.example
File metadata and controls
157 lines (135 loc) · 8.92 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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
# PowerContext full-capability environment template.
# Copy or transform this file into .env, choose one inference provider, then load it with:
# set -a; . ./.env; set +a
# Never commit .env or real credentials.
# User data -------------------------------------------------------------------
# Leave unset to use the stable operating-system user data directory.
# POWERCONTEXT_HOME=/absolute/path/to/powercontext-data
# Server transport ------------------------------------------------------------
POWERCONTEXT_SERVER_HTTP_HOST=127.0.0.1
POWERCONTEXT_SERVER_HTTP_PORT=8000
# Defaults to the directory where the Server starts. Set this explicitly for services and containers.
# POWERCONTEXT_SERVER_WORKSPACE=/srv/project
# Set once when remote Skill Receivers must connect through a remotely reachable endpoint.
# POWERCONTEXT_SERVER_PUBLIC_URL=https://powercontext.example.com
# Development/PoC escape hatch only: permit direct cleartext HTTP for remote Skill Receiver endpoints.
# The Receiver must also enroll with --allow-insecure-http. Keep this false on public or untrusted networks.
# POWERCONTEXT_SERVER_ALLOW_INSECURE_HTTP=false
# A direct non-loopback bind without Server-wide bearer authentication also requires this independent opt-in.
# POWERCONTEXT_SERVER_ALLOW_UNAUTHENTICATED_NON_LOOPBACK=false
POWERCONTEXT_SERVER_MCP_ENABLED=true
POWERCONTEXT_SERVER_MCP_PATH=/mcp
# Authentication is optional on loopback. Load the real token from a secret manager.
POWERCONTEXT_SERVER_AUTH_ENABLED=false
# POWERCONTEXT_SERVER_AUTH_TOKEN=replace-me
# Dashboard -------------------------------------------------------------------
# Every Coding Agent below uses this same Scope ID.
POWERCONTEXT_SERVER_DASHBOARD_ENABLED=true
POWERCONTEXT_SERVER_DASHBOARD_SCOPES='[{"scope_id":"project:quickstart","display_name":"Quick Start"}]'
# Logging, metrics, and tracing -----------------------------------------------
POWERCONTEXT_SERVER_LOGGING_LEVEL=INFO
POWERCONTEXT_SERVER_LOGGING_FORMAT=console
POWERCONTEXT_SERVER_LOGGING_ACCESS=true
POWERCONTEXT_SERVER_METRICS_ENABLED=true
POWERCONTEXT_SERVER_TRACING_ENABLED=false
# OTEL_EXPORTER_OTLP_ENDPOINT=http://127.0.0.1:6006/v1/traces
# OTEL_SERVICE_NAME=powercontext
# Database --------------------------------------------------------------------
# SQLite is enabled. Leave DATABASE_URL unset to use the stable user data database.
# Never use a relative SQLite URL: it can silently open a different database after changing directories.
POWERCONTEXT_SERVER_DATABASE_KIND=sqlite
# POWERCONTEXT_SERVER_DATABASE_URL=sqlite+aiosqlite:////absolute/path/to/powercontext.db
# SQLite vector and hybrid search use sqlite-vec bundled with powercontext[server].
# It loads automatically when the complete embedding profile below is enabled.
# Do not set the removed POWERCONTEXT_SERVER_DATABASE_VEC1_EXTENSION variable.
# OceanBase alternative: replace the SQLite kind with these values.
# POWERCONTEXT_SERVER_DATABASE_KIND=oceanbase
# POWERCONTEXT_SERVER_DATABASE_URL=mysql+aoceanbase://user:password@host:2881/powercontext?charset=utf8mb4
# Embedded seekDB alternative: install powercontext[cli,server,seekdb], then replace the SQLite kind.
# Leave DATABASE_PATH unset to use the seekdb subdirectory below POWERCONTEXT_HOME.
# POWERCONTEXT_SERVER_DATABASE_KIND=seekdb
# POWERCONTEXT_SERVER_DATABASE_PATH=/absolute/path/to/seekdb
# Runtime ---------------------------------------------------------------------
POWERCONTEXT_SERVER_RUNTIME_SOURCE_WINDOW_LIMIT=100
POWERCONTEXT_SERVER_RUNTIME_MEMORY_EXTRACTION_PROFILE=coding
POWERCONTEXT_SERVER_RUNTIME_SCHEDULE_SECONDS=60
# Optional generation-backed jobs. Enable only when their extra model cost is intended.
# POWERCONTEXT_SERVER_RUNTIME_MEMORY_RERANK_ENABLED=true
# POWERCONTEXT_SERVER_RUNTIME_MEMORY_RERANK_CANDIDATE_LIMIT=30
# POWERCONTEXT_SERVER_RUNTIME_EXPERIENCE_SCHEDULE_SECONDS=60
# Inference common settings ----------------------------------------------------
# Generation and Embedding may use different providers; `powercontext config init` configures valid combinations.
POWERCONTEXT_SERVER_INFERENCE_GENERATION_TIMEOUT_SECONDS=30
POWERCONTEXT_SERVER_INFERENCE_GENERATION_MAX_REQUESTS=2
# Optional Pydantic AI model settings. Provider-specific request fields belong under `extra_body`.
# POWERCONTEXT_SERVER_INFERENCE_GENERATION_MODEL_SETTINGS='{"extra_body":{"chat_template_kwargs":{"enable_thinking":false}}}'
POWERCONTEXT_SERVER_INFERENCE_EMBEDDING_NORMALIZATION=unit
POWERCONTEXT_SERVER_INFERENCE_EMBEDDING_BATCH_SIZE=10
POWERCONTEXT_SERVER_INFERENCE_EMBEDDING_TIMEOUT_SECONDS=30
# Optional workload-specific endpoint overrides.
# POWERCONTEXT_SERVER_INFERENCE_GENERATION_BASE_URL=http://127.0.0.1:8080/v1
# POWERCONTEXT_SERVER_INFERENCE_GENERATION_HEADERS={"Authorization":"Bearer replace-me"}
# POWERCONTEXT_SERVER_INFERENCE_GENERATION_MODEL_SETTINGS={"max_tokens":4096}
# POWERCONTEXT_SERVER_INFERENCE_EMBEDDING_BASE_URL=http://127.0.0.1:8081/v1
# POWERCONTEXT_SERVER_INFERENCE_EMBEDDING_HEADERS={"Authorization":"Bearer replace-me"}
# POWERCONTEXT_SERVER_INFERENCE_EMBEDDING_MODEL_SETTINGS={"dimensions":2560}
# A dedicated reranker LLM is optional; without it, reranking reuses the generation model.
# POWERCONTEXT_SERVER_INFERENCE_RERANK_MODEL=openai-chat:local-reranker
# POWERCONTEXT_SERVER_INFERENCE_RERANK_BASE_URL=http://127.0.0.1:8082/v1
# POWERCONTEXT_SERVER_INFERENCE_RERANK_HEADERS={"Authorization":"Bearer replace-me"}
# POWERCONTEXT_SERVER_INFERENCE_RERANK_MODEL_SETTINGS={"max_tokens":256}
# POWERCONTEXT_SERVER_INFERENCE_RERANK_TIMEOUT_SECONDS=30
# POWERCONTEXT_SERVER_INFERENCE_RERANK_MAX_REQUESTS=2
# Provider A: OpenAI (enabled). Set OPENAI_API_KEY in the Server shell.
POWERCONTEXT_SERVER_INFERENCE_GENERATION_MODEL=openai:gpt-4.1-mini
POWERCONTEXT_SERVER_INFERENCE_EMBEDDING_MODEL=openai:text-embedding-3-small
POWERCONTEXT_SERVER_INFERENCE_EMBEDDING_PROFILE_ID=openai-text-embedding-3-small-1536-unit
POWERCONTEXT_SERVER_INFERENCE_EMBEDDING_DIMENSION=1536
# Provider B: OpenAI-compatible, including local services and Alibaba Cloud Model Studio.
# Disable Provider A, enable these values, and replace every placeholder with the provider's actual contract.
# POWERCONTEXT_SERVER_INFERENCE_GENERATION_MODEL=openai-chat:your-chat-model
# POWERCONTEXT_SERVER_INFERENCE_EMBEDDING_MODEL=openai:your-embedding-model
# POWERCONTEXT_SERVER_INFERENCE_EMBEDDING_PROFILE_ID=your-embedding-model-dimension-unit-v1
# POWERCONTEXT_SERVER_INFERENCE_EMBEDDING_DIMENSION=1024
# OPENAI_BASE_URL=https://your-openai-compatible-service/v1
# Set OPENAI_API_KEY in the Server shell when the service requires authentication.
# Provider C: OpenRouter.
# Disable Provider A, enable these values, and set OPENROUTER_API_KEY in the Server shell.
# POWERCONTEXT_SERVER_INFERENCE_GENERATION_MODEL=openrouter:deepseek/deepseek-v4-pro
# POWERCONTEXT_SERVER_INFERENCE_EMBEDDING_MODEL=openrouter:qwen/qwen3-embedding-4b
# POWERCONTEXT_SERVER_INFERENCE_EMBEDDING_PROFILE_ID=openrouter-qwen3-embedding-4b-2560-unit
# POWERCONTEXT_SERVER_INFERENCE_EMBEDDING_DIMENSION=2560
# OPENROUTER_APP_TITLE=PowerContext
# OPENROUTER_APP_URL=https://your-application.example
# Provider D: Anthropic or an Anthropic-compatible Messages API (Generation only).
# Anthropic does not provide Embeddings; keep an OpenAI-compatible or OpenRouter Embedding configuration.
# POWERCONTEXT_SERVER_INFERENCE_GENERATION_MODEL=anthropic:claude-sonnet-4-5
# ANTHROPIC_BASE_URL=https://your-anthropic-compatible-service.example
# Set ANTHROPIC_API_KEY in the Server shell.
# Handoff Reports and external Skills -----------------------------------------
POWERCONTEXT_SERVER_HANDOFF_REPORT_ENABLED=true
# POWERCONTEXT_SERVER_EXTERNAL_SKILLS='{"host_id":"workstation-1","codex_roots":[{"root_id":"repository","installation_scope":"project","path":"/absolute/path/to/.agents/skills"}]}'
# Client CLI ------------------------------------------------------------------
POWERCONTEXT_CLIENT_SERVER_URL=http://127.0.0.1:8000
POWERCONTEXT_CLIENT_TIMEOUT=10
# POWERCONTEXT_CLIENT_API_TOKEN=replace-me
# Coding Agent integrations ---------------------------------------------------
# Keep these values equal to the Dashboard scope above. Load .env before starting the selected Agent.
POWERCONTEXT_CODEX_SCOPE_ID=project:quickstart
POWERCONTEXT_CLAUDE_SCOPE_ID=project:quickstart
POWERCONTEXT_DSH_SCOPE_ID=project:quickstart
POWERCONTEXT_OPENCODE_SCOPE_ID=project:quickstart
POWERCONTEXT_PI_SCOPE_ID=project:quickstart
POWERCONTEXT_LANGGRAPH_SCOPE_ID=project:quickstart
# Local Server endpoints used by integrations.
POWERCONTEXT_CLAUDE_SERVER_URL=http://127.0.0.1:8000
POWERCONTEXT_DSH_BASE_URL=http://127.0.0.1:8000
POWERCONTEXT_OPENCODE_BASE_URL=http://127.0.0.1:8000
POWERCONTEXT_PI_BASE_URL=http://127.0.0.1:8000
POWERCONTEXT_LANGGRAPH_BASE_URL=http://127.0.0.1:8000
# Prompt capture is enabled by default; these explicit values make the template self-documenting.
POWERCONTEXT_CODEX_CAPTURE_PROMPTS=true
POWERCONTEXT_CLAUDE_CAPTURE_PROMPTS=true
POWERCONTEXT_DSH_CAPTURE_PROMPTS=true
POWERCONTEXT_OPENCODE_CAPTURE_PROMPTS=true
POWERCONTEXT_PI_CAPTURE_PROMPTS=true