-
Notifications
You must be signed in to change notification settings - Fork 139
Expand file tree
/
Copy path.env.example
More file actions
94 lines (85 loc) · 5.46 KB
/
Copy path.env.example
File metadata and controls
94 lines (85 loc) · 5.46 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
# Octop Environment Variables
#
# Copy to deploy/.env or export before `docker compose up`.
# For bare-metal installs, many of these can also live in ~/.octop/env.
# Runtime
OCTOP_PORT=8088
OCTOP_LOG_LEVEL=info
OCTOP_BIND_HOST=0.0.0.0
# Docker first-run bootstrap (only used when ~/.octop/octop.db is absent)
# Password must be ≥8 chars with letters and digits (same policy as change-password).
# Future: first boot may randomize this and write it to credential.txt instead.
OCTOP_ADMIN_USERNAME=admin
OCTOP_DEFAULT_PASSWORD=Octop123
OCTOP_ADMIN_DISPLAY_NAME=Admin
# Control-plane database (optional — default is SQLite under ~/.octop)
# For Docker Compose, also list these under `environment:` in docker-compose.yml
# (docker/.env only interpolates; it does not auto-inject into the container).
# Bare-metal / container data volume: same keys may live in ~/.octop/env.
# OCTOP_DATABASE_DRIVER=postgresql
# OCTOP_DATABASE_URL=postgresql://octop:octop@127.0.0.1:5432/octop
# OCTOP_DATABASE_HOST=127.0.0.1
# OCTOP_DATABASE_PORT=5432
# OCTOP_DATABASE_NAME=octop
# OCTOP_DATABASE_USER=octop
# OCTOP_DATABASE_PASSWORD=
# OCTOP_DATABASE_SQLITE_PATH=octop.db
# Common LLM provider credentials (optional — can configure in dashboard)
OPENAI_API_KEY=
DASHSCOPE_API_KEY=
# Langfuse observability (optional)
OCTOP_LANGFUSE_ENABLED=false
LANGFUSE_PUBLIC_KEY=
LANGFUSE_SECRET_KEY=
LANGFUSE_BASE_URL=
# ---------------------------------------------------------------------------
# Live integration tests (tests/live/*): REAL credentials.
#
# - Local : fill these into a gitignored repo-root `.env` (already loaded by
# tests/live/conftest.py via python-dotenv). Never commit real keys.
# - GitHub: add the matching Secret (right column) under
# Settings → Secrets and variables → Actions; the CI `live-tests`
# job maps each secret to the same env var name below.
#
# Missing any of these → the live tests auto-skip, so CI stays green.
# ---------------------------------------------------------------------------
# Local env var GitHub Secret (CI mapping)
OPENAI_API_KEY= # LIVE_OPENAI_API_KEY real LLM key for tests/live LLM cases
OPENAI_BASE_URL= # LIVE_OPENAI_BASE_URL e.g. https://api.openai.com/v1
OPENAI_MODEL_NAME= # LIVE_OPENAI_MODEL_NAME e.g. gpt-4o
# Object storage — Tencent COS and Aliyun OSS are both probed in one run.
# Each backend uses its own env-var prefix and auto-skips if absent.
# Use a DEDICATED test bucket; never reuse a production key/bucket.
OSS_KIND=cos # LIVE_OSS_KIND cos | s3 | oss | obs | custom
OSS_ENDPOINT= # LIVE_OSS_ENDPOINT host only, e.g. cos.ap-guangzhou.myqcloud.com (no https://)
OSS_ACCESS_KEY= # LIVE_OSS_ACCESS_KEY sub-account key scoped to the test bucket
OSS_SECRET_KEY= # LIVE_OSS_SECRET_KEY never reuse a production key
OSS_BUCKET= # LIVE_OSS_BUCKET dedicated *-test-* bucket, never production
OSS_REGION= # LIVE_OSS_REGION e.g. ap-guangzhou
OSS_PREFIX= # LIVE_OSS_PREFIX optional, e.g. octop-live/
# Aliyun OSS (separate prefix so it is probed alongside COS above)
ALI_OSS_KIND=oss # LIVE_ALI_OSS_KIND oss
ALI_OSS_ENDPOINT= # LIVE_ALI_OSS_ENDPOINT host only, e.g. oss-cn-beijing.aliyuncs.com (no https://)
ALI_OSS_ACCESS_KEY= # LIVE_ALI_OSS_ACCESS_KEY sub-account key scoped to the test bucket
ALI_OSS_SECRET_KEY= # LIVE_ALI_OSS_SECRET_KEY never reuse a production key
ALI_OSS_BUCKET= # LIVE_ALI_OSS_BUCKET dedicated *-test-* bucket, never production
ALI_OSS_REGION= # LIVE_ALI_OSS_REGION e.g. oss-cn-beijing
ALI_OSS_PREFIX= # LIVE_ALI_OSS_PREFIX optional, e.g. octop-live/
# Connectors (token / api_key based) — REAL keys; each auto-skips if absent.
# Excluded by design: notion (oauth2, browser auth), qq-mail (imap, real mailbox).
CONNECTOR_TENCENT_DOCS_TOKEN= # LIVE_CONNECTOR_TENCENT_DOCS_TOKEN tencent-docs personal token
CONNECTOR_TENCENT_MEETING_TOKEN= # LIVE_CONNECTOR_TENCENT_MEETING_TOKEN tencent-meeting token
CONNECTOR_TENCENT_WEIYUN_TOKEN= # LIVE_CONNECTOR_TENCENT_WEIYUN_TOKEN tencent-weiyun MCP token
CONNECTOR_YOUDAO_NOTE_TOKEN= # LIVE_CONNECTOR_YOUDAO_NOTE_TOKEN youdao-note API key
CONNECTOR_TENCENT_NEWS_TOKEN= # LIVE_CONNECTOR_TENCENT_NEWS_TOKEN tencent-news API key
CONNECTOR_WECHAT_READING_TOKEN= # LIVE_CONNECTOR_WECHAT_READING_TOKEN wechat-reading wrk- key
CONNECTOR_QQ_MUSIC_TOKEN= # LIVE_CONNECTOR_QQ_MUSIC_TOKEN qq-music qmk- key
CONNECTOR_FLIGGY_TOKEN= # LIVE_CONNECTOR_FLIGGY_TOKEN fliggy API key
CONNECTOR_BAIDU_MAP_TOKEN= # LIVE_CONNECTOR_BAIDU_MAP_TOKEN baidu-map sk-ap- token
CONNECTOR_CTRIP_WENDAO_TOKEN= # LIVE_CONNECTOR_CTRIP_WENDAO_TOKEN ctrip-wendao token
CONNECTOR_MEITUAN_TRAVEL_TOKEN= # LIVE_CONNECTOR_MEITUAN_TRAVEL_TOKEN meituan-travel token
CONNECTOR_YUANDIAN_TOKEN= # LIVE_CONNECTOR_YUANDIAN_TOKEN yuandian sk_ key
CONNECTOR_TENCENT_IMA_TOKEN= # LIVE_CONNECTOR_TENCENT_IMA_TOKEN tencent-ima API key
CONNECTOR_TENCENT_IMA_CLIENT_ID= # LIVE_CONNECTOR_TENCENT_IMA_CLIENT_ID tencent-ima client id
CONNECTOR_TENCENT_LEXIANG_TOKEN= # LIVE_CONNECTOR_TENCENT_LEXIANG_TOKEN tencent-lexiang API key
CONNECTOR_TENCENT_LEXIANG_COMPANY_FROM= # LIVE_CONNECTOR_TENCENT_LEXIANG_COMPANY_FROM lexiang company_from