-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathenv.example
More file actions
172 lines (160 loc) · 9.33 KB
/
Copy pathenv.example
File metadata and controls
172 lines (160 loc) · 9.33 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
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
# Paper Digest 环境变量配置示例
# 复制此文件为 .env 并填入你的真实值
# ==================== 抓取/筛选/分析必需配置 ====================
# Paper Digest 分析配置(AI 分析论文用)
# 主模型(文本分析,必填)
PAPER_ANALYZER_API_KEY=your-api-key-here
# 可选:同一 OpenCode Go 模型的备用账号,逗号分隔。成功请求始终固定在当前账号;
# 仅明确 GoUsageLimitError 或 HTTP 401 Insufficient balance 时向后切换;不回绕、不做 round-robin。
# 不要把“副模型”变量当成备用账号;两个概念彼此独立。
# PAPER_ANALYZER_FALLBACK_API_KEYS=your-second-opencode-go-key
# PAPER_ANALYZER_TERTIARY_FALLBACK_API_KEY=your-third-opencode-go-key
# 上述尾部变量也支持逗号列表,例如 third-key,fourth-key,均排在普通 fallback 列表之后。
PAPER_ANALYZER_MODEL=muse-spark-1.3-contributor
PAPER_ANALYZER_ENDPOINT=https://opencode.ai/zen/go/v1
# 副模型(legacy canonical 插图计划,可选)
# API Reader v3 会把安全物化的官方 Figure 直接交给主模型,因此主模型端点需要支持 Responses 图片输入。
# 不设置副模型时只跳过旧 canonical image-supplement;不会关闭 API Reader v3 的官方 Figure 图文解读。
# 设置后:副模型只筛选旧 canonical 候选图并生成插图位置、图前 lead 和图后 explanation
# 副模型不得替换主模型原句;代码会忽略旧 replacement/rewrite 字段
# endpoint 未设置时复用主端点;key 仅在主副属于同一规范服务时才可复用,跨服务必须显式配置
# PAPER_ANALYZER_SECONDARY_MODEL=gpt-4o
# PAPER_ANALYZER_SECONDARY_ENDPOINT=https://api.openai.com/v1
# PAPER_ANALYZER_SECONDARY_API_KEY=sk-your-key
# 副模型自己也使用多个 OpenCode Go 账号时单独配置;只有主/副端点属于同一规范 OpenCode Go 服务且
# 副模型未配置独立 key 时,才复用主账号池。不同服务必须显式提供副模型 key。
# PAPER_ANALYZER_SECONDARY_FALLBACK_API_KEYS=your-secondary-second-key
# ==================== 发布渠道配置(按需启用) ====================
# 微信公众号配置(仅发布到公众号时必需)
WECHAT_APP_ID=your-wechat-app-id
WECHAT_APP_SECRET=your-wechat-app-secret
WECHAT_THUMB_MEDIA_ID=your-thumb-media-id
PAPER_DIGEST_AUTHOR=your-name
# 飞书配置(仅发布到飞书时必需)
FEISHU_APP_ID=your-feishu-app-id
FEISHU_APP_SECRET=your-feishu-app-secret
# Blog 发布配置(博客发布必需;全流程抓取时也用于博客已发布论文去重)
PAPER_DIGEST_BLOG_REPO=~/code/github_repos/audio-paper-digest-blog
# 历史 ICLR 2026 本地 accepted metadata/PDF 根目录(只供全历史会议 direct 路线)。
# 目录必须是本机已保留的官方会议抓取数据;不设置时使用 ~/code/github_repos/iclr2026-paper-scraper。
# PAPER_DIGEST_ICLR_2026_ACCEPTED_ROOT=~/code/github_repos/iclr2026-paper-scraper
# 独立论文页三层 review 并发度(汇总页仍先串行审查)
# PD_BLOG_REVIEW_CONCURRENCY=5
# TOP N 一句话生成并发度,范围 1-5
# PD_XIAOHONGSHU_ONELINER_CONCURRENCY=5
PAPER_DIGEST_BLOG_BASE_PATH=/audio-paper-digest-blog
PAPER_DIGEST_BLOG_URL=https://nanless.github.io/audio-paper-digest-blog/posts
PAPER_DIGEST_GITHUB_REMOTE=origin
PAPER_DIGEST_REPO_URL=github.com/nanless/audio-paper-digest
# ==================== 可选配置 ====================
# 整篇分析并发默认 3;Muse 不会因此被串行化,每个请求各自创建并销毁 HTTP CONNECT agent
# PD_ANALYSIS_CONCURRENCY=3
# PD_ANALYSIS_MAX_RETRIES=2
# 单次分析内部每个 LLM API 阶段的最大尝试次数(区别于整篇 PD_ANALYSIS_MAX_RETRIES)
# PD_ANALYSIS_API_MAX_RETRIES=3
# 主分析输出预算;默认 64000
# PD_ANALYSIS_API_MAX_TOKENS=64000
# 单次 LLM HTTP 响应总字节硬上限;默认 16 MiB,超限整段失败且不解析截断内容
# PD_ANALYSIS_API_MAX_RESPONSE_BYTES=16777216
# OpenAI Responses 推理强度;不设置时不发送 reasoning 字段
# PD_OPENAI_RESPONSES_REASONING_EFFORT=low
# 可选:为 Node OpenAI Responses 请求启用 SSE;未设置时使用普通 JSON 响应
# PD_OPENAI_RESPONSES_STREAM=1
# 可选:固定发送给 OpenCode Go 的会话标识;不设置时每个进程生成一个稳定随机值。
# PD_OPENCODE_SESSION_ID=audio-paper-digest-local
# 审校/表格/方法/结构修复输出上限
# PD_ANALYSIS_REPAIR_MAX_TOKENS=16000
# 初学研究者长文独立输出上限,不受局部修复上限挤压
# PD_API_READER_MAX_TOKENS=48000
# 局部块补丁的输出预算;完整生成仍使用上面的预算。
# PD_API_READER_REPAIR_MAX_TOKENS=8000
# API Reader 请求的活跃时间上限(毫秒),系统睡眠时间不计入
# PD_API_READER_OVERALL_TIMEOUT_MS=2400000
# 单进程 API reader 重阶段并发上限(最高 5)
# PD_API_READER_CONCURRENCY=5
# 分阶段输入证据预算(字符数):默认主分析 200000;后处理只发送任务相关切片
# PD_ANALYSIS_FULL_TEXT_MAX_CHARS=200000
# PD_OPENSOURCE_EVIDENCE_MAX_CHARS=16000
# PD_REVISION_EVIDENCE_MAX_CHARS=60000
# PD_API_READER_EVIDENCE_MAX_CHARS=180000
# 长文完整渲染后的请求上下文硬上限(含 prompt、canonical 分析与证据)
# PD_API_READER_CONTEXT_MAX_CHARS=240000
# PD_SCORING_EVIDENCE_MAX_CHARS=40000
# PD_REPAIR_EVIDENCE_MAX_CHARS=30000
# PD_STRUCTURE_EVIDENCE_MAX_CHARS=40000
# PD_REANALYZE_CONCURRENCY=3
# LLM 筛选批次默认 5;Muse 和其他模型都使用这里的值,账号状态转换另有短锁保护
# PD_FILTER_BATCH_SIZE=5
# LLM 前默认启用高召回关键词预筛;设为 0 可临时让全部候选直接进入 LLM
# PD_KEYWORD_PREFILTER_ENABLED=1
# arXiv 每类抓取数量
# PD_ARXIV_MAX_RESULTS=100
# arXiv 元数据抓取最多尝试次数、普通错误/429 退避基数与单类总等待预算
# PD_ARXIV_FETCH_MAX_RETRIES=5
# PD_ARXIV_FETCH_RETRY_BASE_DELAY_MS=5000
# PD_ARXIV_RATE_LIMIT_BASE_DELAY_MS=60000
# PD_ARXIV_FETCH_MAX_WAIT_MS=600000
# arXiv host scheduler 的健康/瞬时失败/429 冷却;只在下一次同 host 请求前支付
# PD_ARXIV_HEALTHY_COOLDOWN_MS=1000
# PD_ARXIV_TRANSIENT_COOLDOWN_MS=5000
# PD_ARXIV_RATE_LIMIT_COOLDOWN_MS=60000
# PD_ARXIV_COOLDOWN_JITTER_MS=1000
# arXiv recent/search/abs/Atom 元数据请求绝对截止时间与响应字节上限
# PD_ARXIV_METADATA_TIMEOUT_MS=60000
# PD_ARXIV_METADATA_MAX_BYTES=8388608
# 可选固定 User-Agent;未设置时使用 config.js 内置轮换池
# PD_ARXIV_USER_AGENT=paper-digest/1.0
# 深度分析单张图片原始字节上限
# PD_IMAGE_MAX_BYTES=6291456
# 副模型每篇默认最多实际插入 4 张高价值图片;可用正整数覆写
# PD_IMAGE_INSERTION_MAX=4
# 单张图片 base64 字符上限
# PD_IMAGE_MAX_BASE64_CHARS=8388608
# 单篇论文所有图片 base64 总上限
# PD_IMAGE_TOTAL_BASE64_CHARS=20971520
# arXiv 图床较慢时可调整单张图片下载超时(毫秒,默认 60000)
# PD_IMAGE_DOWNLOAD_TIMEOUT_MS=60000
# arXiv HTML/图片发现与 PDF 全文下载超时(毫秒)
# PD_ARXIV_FETCH_TIMEOUT_MS=60000
# PD_ARXIV_PDF_TIMEOUT_MS=180000
# PD_ARXIV_PDF_MAX_BYTES=52428800
# 单类 arXiv 遇到 HTTP 429 时的累计退避上限(毫秒,默认 120000)
# PD_ARXIV_RATE_LIMIT_MAX_WAIT_MS=120000
# 最终评分审计和副模型插图计划使用独立低温,降低重跑漂移
# PD_SCORING_AUDIT_TEMPERATURE=0.1
# PD_IMAGE_PLAN_TEMPERATURE=0.2
# 博客文本 review 默认每 8000 字一块,范围 4000-16000;增大可减少重复 prompt
# PD_BLOG_REVIEW_CHUNK_CHARS=8000
# 单次博客 LLM review 输出预算,范围 1000-16000;默认 4000,隐藏推理耗尽时只做一次纯 JSON 有界恢复(默认最高 8000)
# PD_BLOG_REVIEW_MAX_TOKENS=4000
# 外部图片审查和 Hugo/Git/视觉规划子进程都有绝对截止时间;超时会失败关闭或保留可续跑状态
# PD_BLOG_IMAGE_REVIEW_DEADLINE_SECONDS=120
# PD_HUGO_GATE_TIMEOUT_SECONDS=300
# PD_GIT_LOCAL_TIMEOUT_SECONDS=30
# PD_GIT_COMMIT_TIMEOUT_SECONDS=180
# PD_GIT_NETWORK_TIMEOUT_SECONDS=180
# PD_VISUAL_PLANNER_TIMEOUT_SECONDS=120
# 本地确定性视觉调试渲染器使用的 CJK 字体绝对路径
# PD_VISUAL_CJK_FONT=/absolute/path/to/cjk-font.ttf
# 项目级代理是抓取必需配置,只读取本 `.env`,不继承 shell/IDE 代理,也不回退 macOS 系统代理。
# arXiv Node 请求和精确模型 muse-spark-1.3-contributor 必须使用 HTTP CONNECT;
# HTTPS_PROXY 或 HTTP_PROXY 至少配置一项 http(s):// 地址,缺失时立即失败,禁止静默直连。
# HuggingFace curl 继承 HTTP(S) 代理;代理同时提供 SOCKS 时可额外配置 ALL_PROXY。
# 其他 LLM 模型默认使用 agent:false 直连,不会自动复用这些代理变量。
# HTTPS_PROXY=http://127.0.0.1:7897
# HTTP_PROXY=http://127.0.0.1:7897
# ALL_PROXY=socks5h://127.0.0.1:7897
# NO_PROXY=localhost,127.0.0.1
# 文件日志默认开启,输出 UTF-8 纯文本到 logs/;默认保留 30 天且总量不超过 256 MiB
# PD_LOG_RETENTION_DAYS=30
# PD_LOG_MAX_TOTAL_BYTES=268435456
# 运行存储清理仅考虑早于该天数且未被权威 JSON 引用的受控缓存(默认 30 天)
# PD_STORAGE_RETENTION_DAYS=30
# 兼容旧变量:PAPER_DIGEST_ENABLE_FILE_LOGS=1 或 PD_ENABLE_FILE_LOGS=1
# PAPER_DIGEST_ENABLE_FILE_LOGS=1
# PD_ENABLE_FILE_LOGS=1
# 仅在明确不需要文件日志时取消下一行注释
# PAPER_DIGEST_DISABLE_FILE_LOGS=1
# PD_DISABLE_FILE_LOGS=1
# 小红书 Cookie(JSON 格式 base64 编码,用于发布到小红书)
XIAOHONGSHU_COOKIES=