-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy path.env.example
More file actions
89 lines (82 loc) · 4.1 KB
/
.env.example
File metadata and controls
89 lines (82 loc) · 4.1 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
# TopicLab - Unified Environment (Local Development)
# Copy to .env and fill in: cp .env.example .env
# For production deploy, use .env.deploy.example → GitHub Secrets DEPLOY_ENV
# -----------------------------------------------------------------------------
# Docker Compose (ports & volume mounts)
# -----------------------------------------------------------------------------
WORKSPACE_PATH=./workspace
LIBS_PATH=./backend/libs
FRONTEND_PORT=3000
BACKEND_PORT=8000
TOPICLAB_BACKEND_PORT=8001
# -----------------------------------------------------------------------------
# Frontend build (Vite base path for SPA routing)
# -----------------------------------------------------------------------------
VITE_BASE_PATH=/topic-lab/
# Literature 学术板块(媒体页「学术」Tab)由 topiclab-backend 代理到 IC,与信源流同源
# 若 IC 的 /api/v1/literature/recent 需要 x-ingest-token,在此配置(与 IC 端一致)
# LITERATURE_SHARED_TOKEN=
# AMiner 开放平台限免 API 代理(topiclab-backend /aminer、/api/v1/aminer)
# 在 open.aminer.cn 控制台获取 Key,未配置时代理接口返回 503
AMINER_API_KEY=
# -----------------------------------------------------------------------------
# Resonnet backend (topics, discussion, agent links)
# Required for backend to start. When used standalone, see backend/.env.example
# -----------------------------------------------------------------------------
ANTHROPIC_API_KEY=
ANTHROPIC_BASE_URL=
ANTHROPIC_MODEL=
AI_GENERATION_BASE_URL=
AI_GENERATION_API_KEY=
AI_GENERATION_MODEL=
# 内容审核默认开启;CI / 本地协议联调可显式关闭
# CONTENT_MODERATION_ENABLED=false
# Resonnet backend uses this URL to validate bearer tokens via /auth/me
AUTH_SERVICE_BASE_URL=http://topiclab-backend:8000
INFORMATION_COLLECTION_BASE_URL=http://ic.nexus.tashan.ac.cn
# Resonnet auth mode: none | jwt | proxy
AUTH_MODE=none
# In jwt mode, require token for protected routes
AUTH_REQUIRED=false
# Sync published profile-helper twins to topiclab-backend digital_twins
ACCOUNT_SYNC_ENABLED=false
# Internal tool/thinking loop cap for profile-helper agent
PROFILE_HELPER_MAX_TOOL_ITERATIONS=40
# -----------------------------------------------------------------------------
# topiclab-backend (auth: register, login, send-code)
# Optional: omit for in-memory dev mode (codes shown in UI / logs)
# -----------------------------------------------------------------------------
# WORKSPACE_BASE defaults to ./workspace when topiclab-backend runs in Docker
# Optional when running topiclab-backend outside docker-compose:
# RESONNET_BASE_URL=http://127.0.0.1:8000
# In docker-compose, topiclab-backend uses the internal backend service URL
# http://backend:8000. Do not reuse BACKEND_PORT for container-to-container calls.
# source-feed 话题标题/摘要生成使用 AI_GENERATION_BASE_URL + AI_GENERATION_API_KEY,
# 模型固定为 qwen3.5-plus
# SOURCE_FEED_AUTOMATION_ENABLED=true
# SOURCE_FEED_AUTOMATION_INTERVAL_SECONDS=1800
# SOURCE_FEED_AUTOMATION_FETCH_LIMIT=20
# SOURCE_FEED_AUTOMATION_SELECT_COUNT=1
# SOURCE_FEED_AUTOMATION_START_DISCUSSION=true
# SOURCE_FEED_AUTOMATION_DISCUSSION_MAX_TURNS=6000
# DATABASE_URL=postgresql://user:pass@host:5432/topiclab
# PGSSLMODE=disable
# JWT_SECRET=your-secret-key-change-in-production
# Watcha/观猹 OAuth login. Keep the client secret only in local/production env files.
# WATCHA_CLIENT_ID=
# WATCHA_CLIENT_SECRET=
# WATCHA_SCOPE=read email phone
# Optional: force a single callback URL instead of accepting the frontend-provided one.
# WATCHA_REDIRECT_URI=https://world.tashan.chat/topic-lab/auth/watcha/callback
# OpenClaw ask-agent bridge.
# When all 4 vars are configured, topiclab-backend includes ask_agent in
# bootstrap/renew responses, and topiclab-cli can call the agent only after
# `topiclab session ensure` has validated and persisted the session state.
# OPENCLAW_ASK_AGENT_URL=https://494qvb9q2p.coze.site/stream_run
# OPENCLAW_ASK_AGENT_TOKEN=
# OPENCLAW_ASK_PROJECT_ID=
# OPENCLAW_ASK_SESSION_ID=
# SMS (SMSBao https://www.smsbao.com/). Omit for dev mode.
# Password is auto MD5-hashed before API call.
# SMSBAO_USERNAME=
# SMSBAO_PASSWORD=