Repository navigation
Expand file tree
/
Copy path.env.example
More file actions
136 lines (112 loc) · 4.04 KB
/
Copy path.env.example
File metadata and controls
136 lines (112 loc) · 4.04 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
# ==========================================
# PaperMind 环境配置示例
# ==========================================
#
# 使用说明:
# - 本地开发:复制为 .env(根目录)
# - Docker部署:复制为 .env(根目录)
#
# 必须配置项:至少填写一个 LLM API Key
# ==========================================
# ==========================================
# 基础配置
# ==========================================
APP_ENV=production
APP_NAME=PaperMind API
API_HOST=0.0.0.0
API_PORT=8000
# 数据库路径
# - 本地开发:sqlite:///./data/papermind.db
# - Docker部署:sqlite:////app/data/papermind.db
# - PostgreSQL(见 infra/docker-compose.postgres.yml,compose 已内置 postgres 服务):
# DATABASE_URL=postgresql://papermind:papermind@postgres:5432/papermind
# 切库流程见 scripts/migrate_sqlite_to_pg.py 顶部文档注释
# DATABASE_URL=sqlite:///./data/papermind.db # SQLite 备选
# SQLite → PG 迁移专用(仅运行 scripts/migrate_sqlite_to_pg.py 时使用)
# 指向"原 SQLite 文件路径",迁移完即可清空
SOURCE_DATABASE_URL=
# 存储路径
PDF_STORAGE_ROOT=./data/papers
BRIEF_OUTPUT_ROOT=./data/briefs
# CORS 配置
# - 本地开发:*
# - Docker部署:http://localhost:3002,http://127.0.0.1:3002
CORS_ALLOW_ORIGINS=*
# ==========================================
# LLM API 配置(必须填写至少一个!)
# ==========================================
# LLM Provider: xiaomi / zhipu / openai / anthropic
LLM_PROVIDER=xiaomi
# 小米 MiMo(默认推荐,OpenAI 兼容)
# Base URL: https://token-plan-cn.xiaomimimo.com/v1
XIAOMI_API_KEY=
# ZhipuAI 智谱(备选)
ZHIPU_API_KEY=
# OpenAI(可选)
OPENAI_API_KEY=
# Anthropic(可选)
ANTHROPIC_API_KEY=
# 外部 API
SEMANTIC_SCHOLAR_API_KEY=
OPENALEX_EMAIL=
# 模型配置(小米 MiMo 默认)
LLM_MODEL_SKIM=mimo-v2-omni
LLM_MODEL_DEEP=mimo-v2.5-pro
LLM_MODEL_VISION=mimo-v2.5
LLM_MODEL_FALLBACK=mimo-v2.5-pro
# Embedding 独立 provider(小米 MiMo 不提供 embedding,默认走阿里百炼 DashScope)
EMBEDDING_MODEL=text-embedding-v4
EMBEDDING_API_KEY=
EMBEDDING_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
EMBEDDING_DIMENSIONS=1024
# ==========================================
# 成本管控
# ==========================================
COST_GUARD_ENABLED=true
PER_CALL_BUDGET_USD=0.05
DAILY_BUDGET_USD=2.0
SKIM_SCORE_THRESHOLD=0.65
# ==========================================
# 站点认证配置
# ==========================================
# 站点密码,为空则禁用认证(公开访问)
AUTH_PASSWORD=
# JWT 密钥(生产环境请修改为随机字符串)
AUTH_SECRET_KEY=papermind-secret-key-change-in-production
# MCP server 鉴权 token(供 hermes 等外部 agent 接入 /mcp 端点,独立静态 token 免续期)
# 生成: openssl rand -hex 32;留空则 MCP 端点不鉴权(仅开发用)
MCP_AUTH_TOKEN=
# ==========================================
# Demo 站配置(公网部署时启用)
# ==========================================
DEMO_MODE=false
DEMO_IP_LIMIT_PER_HOUR=30
DEMO_GLOBAL_RPM=50
# ==========================================
# SMTP 邮件配置(推送通知需要)
# ==========================================
SMTP_HOST=
SMTP_PORT=587
SMTP_USER=
SMTP_PASSWORD=
SMTP_FROM=
NOTIFY_DEFAULT_TO=
# ==========================================
# 智能调度配置(UTC 时间)
# ==========================================
# 每日简报:UTC 4 点 = 北京时间 12 点
DAILY_CRON=0 4 * * *
# 每周图谱:UTC 周日 22 点 = 北京时间周一 6 点
WEEKLY_CRON=0 22 * * 0
# ==========================================
# Worker 重试配置
# ==========================================
WORKER_RETRY_MAX=3
WORKER_RETRY_BASE_DELAY=5.0
# ===== Durable 执行面(P0/C13)=====
# Go Core 与 Executor 的控制面令牌(留空 = worker 仅调度不执行)
CORE_TOKEN=
# durable-state 内部 API 令牌(非空才挂载 /internal/durable/*)
DURABLE_STATE_TOKEN=
# Pi LLM 网关(sidecar)令牌——backend/worker/gateway 三容器同值
PAPERMIND_GATEWAY_TOKEN=pm-gateway-internal