Files
danmu_api/config/.env.example
T
Elegy233 01fd9e15aa 集成 bangumi-data 项目,开启后提升动画源的检索与匹配速度并解锁隐藏/区域番剧 (#283)
* envs.js:新增 Bangumi Data 加速匹配开关 与 Bangumi Data 缓存有效期 配置

* 新增 Bangumi Data 管理工具,用于下载与管理Bangumi Data数据

感谢 https://github.com/bangumi-data/bangumi-data

* worker.js:参加Bangumi Data 辅助函数用于判断数据更新

* server.js:配合清理 Bangumi Data 关闭时占用的内存

* tmdb-util.js:Bangumi Data 开启时调用它大幅提升获取日语原名速度

实现获取动画日语原名零请求

* animeko.js:Bangumi Data 开启时调用它,节省一次搜索请求

已知问题:缺失imageUrl,问题不大

* bahamut.js:Bangumi Data 开启时调用它,补全别名与类型

Bangumi Data 给的是acg_sn,预期需要是video_sn,因此无法直接应用
https://github.com/bangumi-data/bangumi-data/issues/336

* bilibili.js:Bangumi Data 开启时调用它,补全缺失的隐藏结果与区域结果

实现港澳台番剧与隐藏番剧自由,例如《笨拙之极的上野》

* dandan.js:Bangumi Data 开启时调用它,节省一次搜索请求

弹弹其实当务之急是怎么节省详情接口的请求… 多结果风控错误概率大

* common-util.js:为标题匹配的相似度策略加入一定阻断

防止纯英文搜索时因相似度打乱字符匹配大量结果被放行

* .env.example:更新 Bangumi Data 相关变量

* README.md:更新 Bangumi Data 相关说明

* Enhance comments for USE_BANGUMI_DATA in .env.example

Updated comments to clarify the functionality of USE_BANGUMI_DATA.

* Enhance USE_BANGUMI_DATA description

Updated the description for USE_BANGUMI_DATA to include unlocking hidden/region-specific anime.

* README.md:补全目录

* bangumi-data-util.js:纯内存加载时使用原生 fetch ,并声明压缩头

* bangumi-data-util.js:增加云部署纯内存运行提示

* bangumi-data-util.js:更新配音版本正则

* merge-util.js:标准化正则

* tmdb-util.js:标准化正则

* animeko.js:标准化正则

* README.md:补充文件目录

* bangumi-data-util.js:修复CF部署下载请求被切断导致堵塞

Added download lock mechanism to prevent deadlocks in serverless environments and implemented a timeout for download operations.

* worker.js:透传ctx

* bangumi-data-util.js:调用 ctx.waitUntil 延长 Serverless 生命周期

* bilibili.js:补全md号解析链路

Add handling for media IDs starting with 'md' to fetch episodes.

* server.js:异步初始化 Bangumi Data 缓存,消除首个真实请求遭遇冷启动的等待延迟

* bangumi-data-util.js:双节点同时竞速下载数据,提升下载可用性与速度
2026-04-26 15:26:02 +08:00

389 lines
20 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 弹幕 API 环境变量配置示例
# 复制此文件为 .env 并根据需要修改配置
#
# 配置方式说明:
# 本项目支持三种配置方式,优先级从高到低:
# 1. 系统环境变量(最高优先级)
# 2. .env 文件(低优先级)
#
# 热更新说明:
# - Docker 环境:修改宿主机的 .env 文件后,容器会自动检测并重新加载配置(无需重启容器)
# - Node.js 本地环境:修改 .env 文件后,应用会自动检测并重新加载配置(无需重启应用)
# - Cloudflare/Vercel/Netlify/Edgeone:需要在平台的环境变量设置中修改,然后重新部署
# ==================== 基础配置 ====================
# API 访问令牌(用于鉴权)
# 默认值:87654321
TOKEN=87654321
# API 服务监听端口
# 默认值:9321
# 说明:本地 Node 服务会优先读取 DANMU_API_PORT;未设置时回退到 9321
# DANMU_API_PORT=9321
# 系统管理访问令牌(用于系统管理功能)
# 如果未配置此值,则无法访问系统管理功能,需要先配置后在URL中填入此token才能打开系统管理
# 默认值:空(不启用系统管理访问控制)
# ADMIN_TOKEN=
# 其他服务器地址(第三方弹幕服务器)
# 默认值:https://api.danmu.icu
OTHER_SERVER=https://api.danmu.icu
# 自定义弹幕源API地址
# 默认为空,配置后还需在SOURCE_ORDER添加custom源
# CUSTOM_SOURCE_API_URL=
# ==================== VOD 配置 ====================
# VOD 服务器配置(支持多服务器)
# 格式:名称@URL,名称@URL,...
# 示例:VOD_SERVERS=金蝉@https://zy.jinchancaiji.com,789@https://www.caiji.cyou,听风@https://gctf.tfdh.top
# 如果不指定名称,会自动生成 vod-1, vod-2 等名称
# 默认值:金蝉@https://zy.jinchancaiji.com,789@https://www.caiji.cyou,听风@https://gctf.tfdh.top
VOD_SERVERS=金蝉@https://zy.jinchancaiji.com,789@https://www.caiji.cyou,听风@https://gctf.tfdh.top
# VOD 服务器返回模式
# 可选值:all(返回所有站点结果)、fastest(只返回最快的站点结果)
# 默认值:fastest
# 说明:
# - all: 搜索时会并发查询所有配置的 VOD 站点,返回所有结果(结果较多)
# - fastest: 搜索时只返回首先响应成功的 VOD 站点结果(结果较少,避免重复)
VOD_RETURN_MODE=fastest
# VOD 服务器请求超时时间(毫秒)
# 默认值:10000(10秒)
# 建议值:5000-15000
# 说明:防止慢速或失效的采集站阻塞整个搜索过程(单个请求超时)
# 由于 fastest 模式只返回最快响应的站点,可以设置较大的超时时间给慢速站点更多机会
VOD_REQUEST_TIMEOUT=10000
# ==================== Bilibili 配置 ====================
# Bilibili Cookie(用于访问需要登录的内容)
# 默认值:空(不使用 Cookie)
# BILIBILI_COOKIE=
# 豆瓣 Cookie(用于豆瓣相关接口请求,配置后可降低豆瓣接口风控影响,提升搜索/详情获取的稳定性。填写浏览器中已登录豆瓣后的完整 Cookie 字符串即可,格式示例:`bid=xxxx; ll="118282"; ...`。如遇到豆瓣搜索不稳定、返回异常或频繁验证,建议优先补充该变量)
# 默认值:空(不使用 Cookie)
# DOUBAN_COOKIE=
# ==================== 优酷配置 ====================
# 优酷并发数(最大:16)
# 默认值:8
YOUKU_CONCURRENCY=8
# ==================== 源排序配置 ====================
# 数据源查询顺序(可选值:360, vod, tmdb, douban, tencent, youku, iqiyi, imgo, bilibili, migu, renren, hanjutv, bahamut, dandan, sohu, leshi, xigua, maiduidui, aiyifan, animeko, custom)
# 默认值:360,vod,renren,hanjutv(不包含 tencent, youku, iqiyi, imgo, bilibili, migu, sohu , leshi, xigua, maiduidui, aiyifan等)
# 如需使用腾讯源、优酷源、爱奇艺源、芒果源、B站源、搜狐源、乐视源、西瓜源、埋堆堆源,请手动添加:SOURCE_ORDER=360,vod,tencent,youku,iqiyi,imgo,bilibili,migu,renren,hanjutv,sohu,leshi,xigua,maiduidui,aiyifan
# 如需使用巴哈姆特源,请手动添加:SOURCE_ORDER=360,vod,renren,hanjutv,bahamut
# 如需使用弹弹play源,请手动添加:SOURCE_ORDER=360,vod,renren,hanjutv,dandan
# 如需使用豆瓣源,请手动添加:SOURCE_ORDER=360,vod,douban,renren,hanjutv
# 如需使用TMDB源,请手动添加:SOURCE_ORDER=360,vod,tmdb,renren,hanjutv
SOURCE_ORDER=360,vod,renren,hanjutv
# ==================== 平台排序配置 ====================
# 平台优先级排序(用于自动匹配)
# 默认值:空(自动匹配)
# 可选值:qiyi, bilibili1, imgo, youku, qq, migu, sohu, leshi, xigua, maiduidui, aiyifan, renren, hanjutv, bahamut, dandan, animeko, custom 或 qiyi&bilibili1&imgo,dandan&animeko
# 说明:平台排序配置,可以配置自动匹配时的优选平台,当配置合并平台的时候可以指定期望的合并源
# PLATFORM_ORDER=
# ==================== 源合并配置 ====================
# 数据源合并配置(可选值:tencent, youku, iqiyi, imgo, bilibili, migu, renren, hanjutv, bahamut, dandan, sohu, leshi, xigua, maiduidui, aiyifan, animeko)
# 默认值:空
# 说明:配置后将对应源合并同时一起获取弹幕返回,允许多组、允许同时存在、允许多源,允许填单源表示保留原结果,一组中第一个为主源其余为副源,副源往主源合并,主源如果没有结果会轮替下一个作为主源循环
# 格式:源字段&源字段&源字段,源字段
# 示例:MERGE_SOURCE_PAIRS=imgo&iqiyi,dandan&bahamut&animeko,imgo
# MERGE_SOURCE_PAIRS=
# ==================== 剧集标题过滤 ====================
# 剧集标题过滤正则表达式(用于过滤花絮、预告等非正片内容)
# 默认值:下方完整规则
# 说明:
# - 如果设置了此环境变量,将完全覆盖默认的过滤规则(不是增量添加)
# - 格式:使用 | 分隔多个关键词,例如:预告|花絮|特辑|番外
# - 可以直接修改下方规则,按需增删关键词
# 示例:只过滤预告和花絮
# EPISODE_TITLE_FILTER=预告|花絮
EPISODE_TITLE_FILTER=(特别|惊喜|纳凉)?企划(?!(书|案|部))|合伙人手记|超前(营业|vlog)?|速览|vlog|(?<!(Chain|Chemical|Nuclear|连锁|化学|核|生化|生理|应激))reaction|(?<!(单))纯享|加更(版|篇)?|抢先(看|版|集|篇)?|(?<!(被|争|谁))抢[先鲜](?!(一步|手|攻|了|告|言|机|话))|抢鲜|预告(?!(函|信|书|犯))|(?<!(死亡|恐怖|灵异|怪谈))花絮(独家)?|(?<!(一|直))直拍|(制作|拍摄|幕后|花絮|未播|独家|演员|导演|主创|杀青|探班|收官|开播|先导|彩蛋|NG|回顾|高光|个人|主创)特辑|(?<!(行动|计划|游戏|任务|危机|神秘|黄金))彩蛋|(?<!(嫌疑人|证人|家属|律师|警方|凶手|死者))专访|(?<!(证人))采访(?!(吸血鬼|鬼))|(正式|角色|先导|概念|首曝|定档|剧情|动画|宣传|主题曲|印象)[\s\.]*[PpPp][VvVv]|(?<!(退居|回归|走向|转战|隐身|藏身|的))幕后(?!(主谋|主使|黑手|真凶|玩家|老板|金主|英雄|功臣|推手|大佬|操纵|交易|策划|博弈|BOSS|真相))(故事|花絮|独家)?|直播(陪看|回顾)?|直播(?!(.*(事件|杀人|自杀|谋杀|犯罪|现场|游戏|挑战)))|未播(片段)?|衍生(?!(品|物|兽))|番外(?!(地|人))|会员(专享|加长|尊享|专属|版)?|(?<!(鸦|雪|纸|相|照|图|名|大))片花|(?<!(提取|吸收|生命|魔法|修护|美白))精华|看点|速看|解读(?!.*(密文|密码|密电|电报|档案|书信|遗书|碑文|代码|信号|暗号|讯息|谜题|人心|唇语|真相|谜团|梦境))|(?<!(案情|人生|死前|历史|世纪))回顾|影评|解说|吐槽|(?<!(年终|季度|库存|资产|物资|财务|收获|战利))盘点|拍摄花絮|制作花絮|幕后花絮|未播花絮|独家花絮|花絮特辑|先导预告|终极预告|正式预告|官方预告|彩蛋片段|删减片段|未播片段|番外彩蛋|精彩片段|精彩看点|精彩集锦|看点解析|看点预告|NG镜头|NG花絮|番外篇|番外特辑|制作特辑|拍摄特辑|幕后特辑|导演特辑|演员特辑|片尾曲|(?<!(生命|生活|情感|爱情|一段|小|意外))插曲|高光回顾|背景音乐|OST|音乐MV|歌曲MV|前季回顾|剧情回顾|往期回顾|内容总结|剧情盘点|精选合集|剪辑合集|混剪视频|独家专访|演员访谈|导演访谈|主创访谈|媒体采访|发布会采访|陪看(记)?|试看版|短剧|精编|(?<!(Love|Disney|One|C|Note|S\d+|\+|&|\s))Plus|独家版|(?<!(导演|加长|周年))特别版(?!(图|画))|短片|(?<!(新闻|紧急|临时|召开|破坏|大闹|澄清|道歉|新品|产品|事故))发布会|解忧局|走心局|火锅局|巅峰时刻|坞里都知道|福持目标坞民|福利(?!(院|会|主义|课))篇|(福利|加更|番外|彩蛋|衍生|特别|收官|游戏|整蛊|日常)篇|独家(?!(记忆|试爱|报道|秘方|占有|宠爱|恩宠))|.{2,}(?<!(市|分|警|总|省|卫|药|政|监|结|大|开|破|布|僵|困|骗|赌|胜|败|定|乱|危|迷|谜|入|搅|设|中|残|平|和|终|变|对|安|做|书|画|察|务|案|通|信|育|商|象|源|业|冰))局(?!(长|座|势|面|部|内|外|中|限|促|气))|(?<!(重症|隔离|实验|心理|审讯|单向|术后))观察室|上班那点事儿|周top|赛段|VLOG|(?<!(大案|要案|刑侦|侦查|破案|档案|风云|历史|战争|探案|自然|人文|科学|医学|地理|宇宙|赛事|世界杯|奥运))全纪录|开播|先导|总宣|展演|集锦|旅行日记|精彩分享|剧情揭秘(?!(者|人))|(?:^|】\s*|\]\s*)(?:[SC]|SP|OP|ED|PV)\d+(?:[\s::\.\-]|$)
# ==================== 屏蔽词配置 ====================
# 屏蔽词列表(用于过滤弹幕内容)
# 默认值:空
# BLOCKED_WORDS=
# ==================== IP 黑名单配置 ====================
# IP 黑名单列表(命中则拒绝请求)
# 默认值:空
# 说明:支持逗号/分号/换行分隔;支持使用 /regex/ 或 /regex/i 形式的正则;支持 IPv4/IPv6 CIDR
# 示例:IP_BLACKLIST=192.168.1.10,10.0.0.0/24,2001:db8::/64,/^203\.0\.113\./
# IP_BLACKLIST=
# ==================== 弹幕去重配置 ====================
# 分钟内合并去重(最大值:30,0 表示不去重)
# 默认值:1
GROUP_MINUTE=1
# ==================== 限制弹幕总数 ====================
# 等间隔采样限制弹幕总数(单位为k,即千:默认 0,表示不限制弹幕数)
# 默认值:0
DANMU_LIMIT=0
# ==================== 弹幕转换配置 ====================
# 是否将顶部和底部弹幕转换为浮动弹幕
# 默认值:false(不转换)
# 说明:启用后,顶部弹幕(ct=5)和底部弹幕(ct=4)会被转换为浮动弹幕(ct=1)
# 可选值:true, false
CONVERT_TOP_BOTTOM_TO_SCROLL=false
# 弹幕转换颜色配置
# 默认值:default(不转换)
# 说明:default 模式不转换,white 模式将所有非白色的弹幕颜色转换为纯白色,color 模式将所有白色弹幕转换为随机颜色(包含白色)
# 可选值:default, white, color
CONVERT_COLOR=default
# 自定义颜色池(CONVERT_COLOR为color时生效)
# 默认值:空(使用内置默认颜色池:白、红、橙、黄、绿、青、蓝、紫、粉)
# 说明:格式为十进制颜色值逗号分隔,例如 16711680 表示红色(即 #FF0000)
# 示例:16711680,65280,255,16776960
COLOR_POOL=
# 弹幕简繁体转换设置:default(默认不转换)、simplified(繁转简)、traditional(简转繁)
# 默认值:default(不转换)
# 可选值:default, simplified, traditional
DANMU_SIMPLIFIED_TRADITIONAL=default
# 弹幕时间偏移配置
# 格式:剧名:秒 或 剧名/季:秒 或 剧名/季/集:秒,支持指定来源:剧名@来源:秒 或 剧名/季@来源1&来源2:秒(不指定来源则对所有来源生效)
# 正数表示弹幕延后(向右),负数表示弹幕提前(向左),多条用逗号分隔
# 支持百分比模式:在路径或来源末尾追加 %,如 东方/S03/E02@tencent%:11
# 百分比模式会按公式:调整后时间 = 原时间 * (视频时长 + 偏移秒数) / 视频时长
# 示例:overlord/S01:90,re-zero/S02@bilibili:120,re-zero/S02/E03@dandan&bilibili:10,东方/S03/E02@tencent%:11
# 默认值:空
DANMU_OFFSET=
# 弹幕点赞数显示开关
# 默认值:true(开启)
# 说明:开启后会在弹幕内容后显示点赞数标记,≥5 才显示,避免低赞干扰
# 可选值:true, false
LIKE_SWITCH=true
# ==================== 弹幕推送配置 ====================
# 弹幕推送地址
# 默认值:空
# 说明:如果设置了此值,在弹幕推送页面的推送地址输入框里会默认填上该地址
# 示例:http://127.0.0.1:9978/action?do=refresh&type=danmaku&path=
DANMU_PUSH_URL=http://127.0.0.1:9978/action?do=refresh&type=danmaku&path=
# ==================== 弹幕输出格式配置 ====================
# 弹幕输出格式(全局默认格式)
# 默认值:json
# 可选值:json, xml
# 说明:
# - json: 返回 JSON 格式的弹幕数据(默认)
# - xml: 返回 XML 格式的弹幕数据(兼容弹弹play等客户端)
# 注意:可通过 API 查询参数 ?format=xml 或 ?format=json 覆盖此设置
# 示例:GET /api/v2/comment/10001?format=xml
DANMU_OUTPUT_FORMAT=json
# ==================== 限流配置 ====================
# API 限流:1分钟内同一IP最大请求次数
# 默认值:3(1分钟内最多3次请求)
# 设置为 0 表示不限流
RATE_LIMIT_MAX_REQUESTS=3
# ==================== 集标题过滤开关 ====================
# 控制手动搜索的时候是否根据ANIME_TITLE_FILTER进行剧名过滤以及根据EPISODE_TITLE_FILTER进行集标题过滤
# 默认值:false(禁用)
# 说明:GET /api/v2/bangumi/{id} 和 GET /api/v2/search/anime 接口会过滤掉预告、花絮等特殊集
# 如需启用过滤,设置为 true
# 可选值:true, false
ENABLE_ANIME_EPISODE_FILTER=false
# ==================== 搜索匹配模式 ====================
# 是否启用严格标题匹配模式
# 默认值:false(宽松模糊匹配)
# 说明:
# - false(默认): 模糊匹配,只要标题包含搜索词即可(例如搜索"遮天"会匹配"古惑仔3之只手遮天")
# - true: 严格匹配,只匹配标题开头或完全匹配(例如搜索"遮天"只匹配"遮天"、"遮天 第一季"等)
# 可选值:true, false
STRICT_TITLE_MATCH=false
# 是否在match自动匹配时将外语标题转换成中文标题,适用于网盘没有刮削的资源
# 默认值:false(不转换)
# 说明:需配合TMDB_API_KEY使用
# 可选值:true, false
# TITLE_TO_CHINESE=false
# 是否启用 Bangumi Data 加速匹配
# 默认值:false(关闭)
# 说明:
# - 开启后将动画元数据缓存至本地或内存中给源调用,提升动画源的检索与匹配速度并解锁隐藏/区域番剧。
# - 本地和Docker部署使用时请先挂载.cache目录获得最佳体验,云部署使用时会将数据缓存至临时内存中如果体验不佳请关闭。
# 可选值:true, false
USE_BANGUMI_DATA=false
# ==================== 代理配置 ====================
# 代理/反代地址(用于访问受限资源)
# 默认值:空(不使用代理/反代)
# 格式:
# - 设置为代理为 http://proxy-server:port 或 https://proxy-server:port
# - 设置为万能反代为 @http://proxy-server:port 或 @https://proxy-server
# - 设置为巴哈反代为 bahamut@http://proxy-server:port 或 bahamut@https://proxy-server
# - 设置为TMDB反代为 tmdb@http://proxy-server:port 或 tmdb@https://proxy-server
# - 设置为bilibili反代为 bilibili@http://proxy-server:port 或 bilibili@https://proxy-server
# 说明:目前只对巴哈姆特、TMDB API、bilibili生效
# 如果使用 Docker 部署并且访问不了 bahamut 源或 TMDB API ,请配置代理/反代地址
# 如果想启用B站港澳台番剧的弹幕搜索与获取请配置反代/解析服务器地址
# 反代教程参考:https://github.com/wan0ge/bahamut-api-proxy
# PROXY_URL=
# ==================== TMDB 配置 ====================
# TMDB API Key(用于巴哈姆特源的译名转换)
# 默认值:空(不使用 TMDB)
# 说明:配置后并行从 TMDB 获取日语原名搜索巴哈
# 如果TMDB条目类型不是动画或制作地区不是jp则不会进行巴哈搜索
# 可以解决巴哈译名不同导致的搜索无结果问题(例如:间谍过家家 vs 間諜家家酒)
# 获取方法参考:https://www.ugnas.com/tutorial-detail/id-226.html
# TMDB_API_KEY=
# ==================== 日志配置 ====================
# 日志级别(可选值:error, warn, info)
# 默认值:info
# 说明:
# - error: 仅显示错误日志
# - warn: 显示错误和警告日志
# - info: 显示所有日志(包括详细的调试信息)
# 建议:生产环境使用 warn,开发/调试时使用 info
LOG_LEVEL=info
# ==================== 缓存配置 ====================
# 搜索结果缓存时间(分钟)
# 默认值:3
# 说明:避免短期内重复的不必要 API 请求,同时保证获取最新的结果列表
# 可根据需要调整:Vercel/Cloudflare 建议 1-5 分钟,Docker 可设置 5-30 分钟
# 设置为 0 表示不缓存
SEARCH_CACHE_MINUTES=3
# 弹幕缓存时间(分钟)
# 默认值:3
# 说明:弹幕数据的缓存时间,独立于搜索结果缓存
# 可根据需要调整
# 设置为 0 表示不缓存
COMMENT_CACHE_MINUTES=3
# 是否记住手动选择结果
# 默认值:true
# 说明:是否记住手动选择结果,用于match自动匹配时优选上次的选择
# 用于存储查询关键字上次选择的 animeId,下次 match 自动匹配时优先选择该 anime
REMEMBER_LAST_SELECT=true
# 用户偏好记忆缓存大小限制
# 默认值:100
# 说明:lastSelectMap 最多保存的条目数,超过限制时删除最早的条目(FIFO)
# 用于存储查询关键字上次选择的 animeId,下次 match 自动匹配时优先选择该 anime
MAX_LAST_SELECT_MAP=100
# 动漫标题缓存最大数量
# 默认值:100
# 说明:缓存最多保存的anime条目数,超过限制时删除最早的条目(FIFO)
# 最小值100,最大值1000
MAX_ANIMES=100
# Bangumi Data 缓存有效期(天)
# 默认值:7
# 说明:指定 Bangumi Data 数据有效期,超过有效期后会下载更新,设置0则每次请求时强制异步更新
BANGUMI_DATA_CACHE_DAYS=7
# ==================== Redis 配置(Upstash)====================
# Upstash Redis REST URL(用于缓存)
# 默认值:空(不使用 Redis)
# UPSTASH_REDIS_REST_URL=
# Upstash Redis REST Token
# 默认值:空
# UPSTASH_REDIS_REST_TOKEN=
# ==================== 本地 Redis 配置 ====================
# 本地 Redis 连接 URL(用于本地缓存存储)
# 格式:redis://:password@127.0.0.1:6379/0
# 默认值:空(不使用本地 Redis)
# LOCAL_REDIS_URL=
# ==================== 部署平台API接口信息 配置 ====================
# 部署账号ID,调用部署服务API需要,配置后可使用UI界面配置服务
# 默认值:空
#DEPLOY_PLATFROM_ACCOUNT=
# 部署项目名称,调用部署服务API需要,配置后可使用UI界面配置服务
# 默认值:空
#DEPLOY_PLATFROM_PROJECT=
# 部署平台token,调用部署服务API需要,配置后可使用UI界面配置服务
# 默认值:空
#DEPLOY_PLATFROM_TOKEN=
# 在建立 HTTPS 连接时是否验证服务器的 SSL/TLS 证书,0表示忽略
# 默认值:1
# NODE_TLS_REJECT_UNAUTHORIZED=1
# ==================== 标题映射表配置 ====================
# 标题映射表(用于自动匹配时替换标题进行搜索)
# 格式:原始标题->映射标题;原始标题->映射标题;...
# 示例:TITLE_MAPPING_TABLE: "唐朝诡事录->唐朝诡事录之西行;国色芳华->锦绣芳华"
# 默认值:空(不启用标题映射)
TITLE_MAPPING_TABLE=
# 是否在搜索时将繁体剧名标题自动转换为简体,适用于繁体标题搜索
# 默认值:false(不转换)
# 可选值:true, false
ANIME_TITLE_SIMPLIFIED=false
# ==================== 剧名过滤配置 ====================
# 剧名过滤规则(用于过滤不需要的剧集),需开启ENABLE_ANIME_EPISODE_FILTER
# 默认值:空(不过滤)
# 说明:使用 | 分隔多个关键词,例如:广告|预告|无关剧名
ANIME_TITLE_FILTER=
# ==================== AI 配置 ====================
# AI服务的基础URL地址,用于配置AI相关功能的API端点
# 默认值:https://api.openai.com/v1
# AI_BASE_URL=
# AI模型名称,指定使用的AI模型
# 默认值:gpt-4o
# AI_MODEL=
# AI服务的API密钥,用于身份验证
# 默认值:空(不使用AI功能)
# AI_API_KEY=
# AI匹配提示词,用于自定义AI匹配行为
# 默认值:空(使用默认提示词)
# AI_MATCH_PROMPT=