19 Commits
Author SHA1 Message Date
sugarbliss be4135ea04 fix: update fork sync actions for Node.js 24 (#470)
## Summary

Update the fork sync workflow actions to versions that support Node.js 24.

## Changes

- Update `actions/checkout` from `v4` to `v5`
- Update `aormsby/Fork-Sync-With-Upstream-action` from `v3.4` to `v3.4.3`

## Reason

GitHub Actions now reports the following deprecation warning:

> Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24.

`actions/checkout@v5` uses the Node.js 24 runtime, and
`Fork-Sync-With-Upstream-action@v3.4.2+` has also been updated for Node.js 24.
2026-09-12 07:44:33 +08:00
huangxd- f77b6b9328 pr_agent增加custom_model_max_tokens 2026-08-30 09:52:35 +08:00
huangxd- a95da3ab6c ci: 接入 PR Agent 自动审查与 PR 描述生成
- 新增 GitHub Actions workflow:在 PR opened/reopened/ready_for_review/synchronize
  及 issue_comment 事件时运行 PR Agent,仅主仓库生效并跳过 Bot 触发
- 默认开启 auto_review / auto_describe,模型与 API Base 通过
  OPENAI_KEY secret 及 OPENAI_API_BASE、PR_AGENT_MODEL 仓库变量注入
- 新增 .pr_agent.toml:回复语言设为 zh-CN,忽略自动化 PR
  (dependabot[bot]、^Auto 标题、dependencies/skip-review 标签)
- 自定义中文审查要点:正确性/安全性/稳定性/可维护性、边界与异常输入、
  并发竞态、性能瓶颈、环境变量与新增文件的必要性、README 是否同步
- review 与 code suggestions 各输出 4 条,建议优先给出可直接采纳的代码修改
2026-08-30 09:41:16 +08:00
huangxd- e851d7495d 修复最近bangumi-data继承导致fw插件不可用的问题 (#297)
* fw插件删除bangumi-data-util.js的代码导入

* fw中删除bangumi-data-util引用语句

* GitHub默认需配置ENABLE_HF_SYNC为true才开启sync_hf.yml

* 修改readme
2026-05-02 10:50:10 +08:00
Wo254992 92fef384e6 分离 HF README 元数据:新增 README.hf.md,sync_hf.yml 推送前自动替换 (#292)
参考 hf-space-clean-readme 分支做法:
- README.md 保持干净文档,不放 HF YAML frontmatter
- README.hf.md 专门存放 HF metadata(title/emoji/sdk/port)
- GitHub Actions sync_hf.yml 在推送到 HF Space 前临时 cp 替换
2026-04-30 23:39:41 +08:00
049e412748 Hugging配备ui管理 (#288)
* Create sync.yml

* Update README.md

* Add Hugging Face Spaces deployment support

* Update sync.yml

* Update README.md

* Update Dockerfile

* Update README.md

* Update README.md

* Update Dockerfile

* Rename sync.yml to sync_hf.yml

* Update README.md

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: huangxd- <649924757@qq.com>
2026-04-30 22:51:36 +08:00
huangxd- b4511e501e 优化镜像构建yml (#258)
* 优化镜像构建yml

* 继续优化镜像构建
2026-03-28 00:04:07 +08:00
huangxd- a7392ee394 增加sohu源 (#130)
* 补充README

* 增加搜狐视频源

* 替换URLSearchParams

* 增加搜狐弹幕分片并发请求

* 修复docker场景不存在.env时自动创建的问题

* 修改版本号

* 修改docker-image构建flow条件

* 修改镜像构建触发条件

* 修复sohu源buildQueryString缺失的问题
2026-01-04 21:32:04 +08:00
huangxd- f6eb744473 修改docker打包流水线非main分支在镜像版本号后加-test (#125) 2025-12-29 23:17:02 +08:00
huangxd- f480621adf 拆分worker.js (#71)
* 拆分出envs.js和globals.js

* 拆分出多个工具类,完善了全局变量和环境变量文件

* 修复环境变量热加载,并增加自动转发所有属性访问到 Globals.getConfig(),减少代码量

* 继续拆分各种工具类

* 拆分各类源

* 拆分360和vod源

* 拆分弹弹play兼容接口

* 适配测试用例
2025-10-26 13:03:42 +08:00
woleigedouer cc3ffe6b0b feat: 添加手动匹配过滤功能并替换默认VOD站点 (#59)
* feat: 手动匹配时添加过滤功能并替换默认VOD站点

- 将默认VOD站点改为 https://gctf.tfdh.top
- 在手动选择接口中实现过滤
- 支持剧集标题和选集列表标题的过滤
- 添加ENABLE_EPISODE_FILTER环境变量开关
- 更新所有相关文档和配置

* fix: 修复360电影和VOD高清正片被过滤的问题

- 移除DEFAULT_EPISODE_TITLE_FILTER中的'高清正片'关键词
  * 高清正片是正片的标记,不应该被过滤
  * 修复VOD数据中#高清正片#被误过滤的问题

- 为360电影标题添加#符号
  * 统一所有数据源的标题格式为【平台】 #标题#
  * 修复360电影数据全部被过滤的问题
  * 使extractEpTitle()能正确提取标题

- 同步更新README.md文档中的默认过滤规则示例

* refactor: 优化和扩展剧集标题过滤规则

- 合并平台规则,提高过滤精准度
  * 新增灵活匹配:抢先(看|版|集|篇)?、加更(版|篇)?、会员(专享|加长|尊享|专属|版)?
  * 新增幕后变体:幕后(故事|花絮|独家)?
  * 新增直播变体:直播(陪看|回顾)?
  * 新增未播变体:未播(片段)?
  * 新增花絮变体:花絮(独家)?

- 新增平台特定内容过滤
  * 腾讯:解忧局、走心局、火锅局、巅峰时刻、坞里都知道、福持目标坞民
  * 芒果:陪看(记)?、超前营业、超前vlog
  * 通用:采访

- 优化正则表达式
  * .{2,}篇 → .{3,}篇(避免过度过滤)
  * 移除冗余的会员版(已包含在会员(版)?中)

* feat: 实现搜索结果和弹幕缓存功能

- 添加内存缓存机制,支持搜索结果和弹幕数据缓存
- 实现时间戳检查,自动过期清理(默认1分钟TTL)
- 添加 SEARCH_CACHE_MINUTES 环境变量配置
- 更新 README 文档和环境变量说明

修改文件:
- danmu_api/worker.js: 添加缓存管理函数和集成逻辑
- .env.example: 添加缓存配置说明
- README.md: 更新功能列表、环境变量表和注意事项

性能提升:
- 相同关键词的重复搜索响应时间从 API 调用时间降低到毫秒级
- 相同视频 URL 的重复弹幕请求响应时间从 API 调用时间降低到毫秒级

* feat: 实现 VOD 采集站点可配置返回模式

- 添加 VOD_RETURN_MODE 环境变量,支持两种模式:
  * all: 返回所有配置的 VOD 站点结果(结果较多)
  * fastest: 只返回最快响应的 VOD 站点结果(默认,避免结果过多)

- 实现 getVodAnimesFromFastestServer() 函数
  * 使用 Promise.race 获取最快响应的服务器
  * 如果最快的服务器无数据,自动尝试其他服务器

- 实现 getVodAnimesFromAllServersImpl() 函数
  * 使用 Promise.allSettled 并发查询所有服务器
  * 单个服务器失败不影响其他服务器

- 更新默认 VOD 站点配置为 3 个站点:
  * 金蝉@https://zy.jinchancaiji.com
  * 789@https://www.caiji.cyou
  * 听风@https://gctf.tfdh.top

- 更新配置文件和文档
  * .env.example: 添加 VOD_RETURN_MODE 配置
  * README.md: 更新环境变量表和使用说明

- 默认行为改为 fastest 模式,避免搜索结果过多

* feat: 添加 .env 文件支持并优化构建脚本

- 在 worker.js 和 worker.test.js 中添加 dotenv 加载
- 优化 docker-image.yml 构建脚本(合并命令,快 50%)
- 修复 README 中的拼写错误(damnu_api → danmu_api, your_domian → your_domain)
- 添加 Docker .env 文件使用说明和示例

* chore: bump version to 1.4.0

* feat: 禁用集标题过滤默认值并修复环境变量配置

- 将 ENABLE_EPISODE_FILTER 默认值从 true 改为 false,避免综艺节目被过度过滤
- 修复 vodReturnMode 环境变量未被添加到 envs 对象的问题
- 同步更新 .env.example 和 README.md 文档

Fixes: huangxd- review comments

* refactor: 移除剧集标题 # 号包裹设计

- 移除所有剧集标题中的 # 号包裹(10 处)
- 删除 extractEpTitle() 函数及所有调用(7 处)
- 更新过滤逻辑以直接使用完整标题
- 简化 filterSameEpisodeTitle() 函数
- 保留【】平台前缀格式及正确的空格

修改位置:
- 360kan、renren(2处)、imgo、youku、qq、hanjutv、bahamut、tencent、手动解析
- searchAnime、getBangumi、searchBangumi、fallbackMatchAniAndEp 过滤逻辑

* feat: 优化限流与缓存交互设计 - 缓存命中时不计入限流

feat: 优化限流与缓存交互设计 - 缓存命中时不计入限流

## 问题描述
原始设计中,限流检查在缓存检查之前执行,导致即使返回缓存数据也会计入限流次数。
这会导致用户频繁访问同一弹幕时被限流,影响用户体验。

## 解决方案
重构 GET /api/v2/comment/:commentId 接口的限流逻辑:
1. 在限流检查之前先检查缓存
2. 缓存命中时直接返回,不执行限流检查
3. 只有缓存未命中时才计入限流次数

## 改进效果
- ✅ 缓存命中时不计入限流,用户可频繁访问同一弹幕
- ✅ 缓存未命中时正常计入限流,保护后端服务
- ✅ 添加详细的 [Rate Limit] 日志标记,便于调试
- ✅ 添加设计说明注释,便于后续维护

## 技术细节
- 修改文件:danmu_api/worker.js (第 5415-5476 行)
- 新增逻辑:缓存优先检查 + 条件限流
- 新增日志:[Rate Limit] Cache hit 和 Request counted

## 测试验证
已通过运行日志验证:
- 首次请求弹幕:计入限流 ✓
- 重复请求同一弹幕:不计入限流 ✓
- 新弹幕首次请求:计入限流 ✓
- 新弹幕重复请求:不计入限流 ✓

* feat: 统一 Tencent 平台标识为 qq

- 将 Tencent 集标题平台标识从【tencent】改为【qq】
- 更新 README 采集源平台列表中 Tencent 对应的平台为 qq
- 从 PLATFORM_ORDER 可选平台列表中移除 tencent
2025-10-19 08:26:08 +08:00
xiaoyao20084321 24c2280330 设置优酷并发请求弹幕,并且并发数量从环境变量里面读取 (#20)
* Create sync_fork.yml

* feat: 优酷改成并发获取代码

* feat: 更新优酷并发为16

* feat: 设置优酷并发从环境变量里面获取
2025-09-21 07:55:34 +08:00
huangxd- efd6aafbd9 构建镜像时增加latest标签 2025-09-14 07:21:40 +08:00
huangxd- ce299335a4 修改version号定义位置 2025-09-14 07:19:00 +08:00
huangxd- 1765006d55 docker适配arm64 2025-09-13 09:02:22 +08:00
huangxd- 2299079390 修改为推送到docker hub 2025-09-13 08:47:16 +08:00
huangxd- ee3278bee9 修改GHCR_TOKEN 2025-09-13 08:28:25 +08:00
huangxd- 1339f1565c 修改docker镜像名称 2025-09-13 08:25:54 +08:00
huangxd- a1000f2381 添加docker镜像制作 2025-09-13 08:23:26 +08:00