openvibers/openvibe.codes .env.example

.env.example

main 4.3 KB · 78 lines · plaintext

1# OpenVibe.Codes — environment (production: /etc/openvibe/codes.env). Names only; never commit values.
2
3NODE_ENV=production
4PORT=4900
5HOST=127.0.0.1
6BASE_URL=https://openvibe.codes
7TRUST_PROXY=2
8# PostgreSQL (ADR-035), written by OpenVibe.Host roles/data/add-service.sh codes: the runtime role through PgBouncer,
9# the owner on a direct connection (migrations), and Valkey (shared limit counters).
10# Without DATABASE_URL, development uses an embedded PGlite database in data/pglite.
11DATABASE_URL=
12DATABASE_DIRECT_URL=
13VALKEY_URL=
14VALKEY_PREFIX=
15# Per-actor limits (server/http/actor-limits.js): reads one caller (a person, else an address) may make to the
16# API per minute and per hour; past them 429 rate_limited with Retry-After. The router has its own number
17# (README). The per-address limits stay.
18#CODES_LIMITS_MINUTE=120
19#CODES_LIMITS_HOUR=3000
20
21# OpenVibe.Network: SSO (OAuth client `codes`, PKCE S256) and its JWKS.
22OV_NETWORK_URL=https://openvibe.network
23OV_NETWORK_INTERNAL_URL=http://127.0.0.1:4000
24# OV_NETWORK_ISSUER=https://openvibe.network # defaults to OV_NETWORK_URL
25OV_OAUTH_CLIENT_ID=codes
26OV_OAUTH_CLIENT_SECRET=
27# OV_OAUTH_REDIRECT_URI=https://openvibe.codes/auth/callback
28# OV_SESSION_AUDIENCE=openvibe.network # audience a Network session token must carry to be a Codes session
29
30# optional: defaults to true in production
31# COOKIE_SECURE=true
32
33# OpenVibe.Events (AL5): Codes subscribes to run.job.* and, when PR follows are on, github.* at boot, and reads
34# the signed deliveries at POST /internal/events (CODES_EVENTS_SECRET verifies them; 32 characters or more,
35# comma-separated while rotating). Codes publishes codes.task.* here.
36#CODES_EVENTS_URL=https://openvibe.events
37#CODES_EVENTS_SECRET=
38# A ticket follows its pull request (AL5), off by default: with 1, a finished task that pushed a PR is bound to it
39# and a red check, a merge conflict or a review comment wakes a follow-up on the PR branch (at most 3 automatic
40# fixes per PR; a person's "stop" ends it; the worker never merges). Also requires the Events secret above.
41#CODES_PR_FOLLOW_ENABLED=0
42
43# OpenVibe.AI (Codes C3). CODES_AI_URL is what a harness on a person's machine calls; without a values file it is
44# https://ai.openvibe.services.
45#CODES_AI_URL=https://ai.openvibe.services
46# AI Exchange P9: read OpenVibe.AI's real model catalog (GET /v1/models) into the pickers, behind this flag (off by
47# default). AI's own AI_MODEL_CATALOG must be on for the answer to be more than the legacy `openvibe` model; with
48# either off, the pickers are exactly as before. The answer is cached five minutes.
49#CODES_AI_CATALOG=0
50#CODES_AI_CATALOG_TTL_MS=300000
51# Model plans: saved account/project choices, repository models: config and per-task roles use AI routing.
52# Leave off until the Contracts and SDK model-plan releases are pinned.
53#CODES_MODEL_PLANS=0
54
55# OpenVibe.Exchange's compatible API: the deepseek harness's default path (a run token names the person; the same
56# chat-completions API and model ids as OpenVibe.AI). CODES_EXCHANGE_URL overrides https://api.openvibe.exchange.
57#CODES_EXCHANGE_URL=https://api.openvibe.exchange
58# Hosted CLI runs use Exchange by default with their task-scoped run token. Set CODES_CLI_EXCHANGE=0 to roll back to AI.
59#CODES_CLI_EXCHANGE=1
60
61# Goals and the independent verifier (AL1), off by default. With CODES_GOALS_ENABLED=1 a task may carry a goal and a
62# typed check; the harness runs the check in the task's workspace and a cheap fast model on OpenVibe.AI accepts or
63# rejects with a reason. CODES_GOALS_MODEL names that rung (default deepseek-chat).
64#CODES_GOALS_ENABLED=0
65#CODES_GOALS_MODEL=deepseek-chat
66#CODES_GOALS_TIMEOUT_MS=120000
67
68# Know (the shared lessons store): on a Node, the portal's know/lessons.js. Its path is configuration, never a
69# hard-coded home; without it a job gets no lessons. Never a secret.
70#CODES_KNOW_LESSONS=/home/openvibe/agents/know/lessons.js
71
72# Chat plays sandbox workers (Agent Streams S6): the secret a worker signs its heartbeat with
73# (POST /internal/sandbox-workers/heartbeat), a comma list during a rotation, and how long a worker that stopped
74# checking in still counts. Without a secret no worker can check in and /internal/sandbox-workers/health says not ready.
75# The worker's own settings (CODES_SANDBOX_* on its host) are in deploy/sandbox/sandbox-worker.env.example.
76#CODES_SANDBOX_WORKER_SECRET=
77#CODES_SANDBOX_STALE_MS=90000
78