Files
appstore-1panel/apps/bili-fetcher/latest/config/config.yaml
Meng Sen 631ff29e43 发布 BiliFetcher
Signed-off-by: Meng Sen <qyg2297248353@gmail.com>
2025-05-22 17:11:52 +08:00

195 lines
9.6 KiB
YAML
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.

# B站用户的SESSDATA用于API认证
SESSDATA: "Cookie里的SESSDATA字段值"
# 视频摘要配置
# CACHE_EMPTY_SUMMARY: 控制是否缓存无摘要内容的视频结果
# 官方状态码含义:
# - result_type=0: 没有摘要
# - result_type=1: 仅存在摘要总结
# - result_type=2: 存在摘要以及提纲
#
# - 设置为true时缓存所有视频摘要结果包括无摘要的视频(result_type=0)
# 优点减少对B站API的重复请求提高响应速度降低被限流风险
# 缺点:占用更多数据库空间
# - 设置为false时只缓存有实际摘要内容的视频结果(result_type=1或2)
# 优点:节省数据库空间
# 缺点对于无摘要的视频每次都会重新请求B站API
CACHE_EMPTY_SUMMARY: true
# 原始历史记录数据的输入文件夹
input_folder: "history_by_date"
# 清理后的历史记录数据的输出文件夹
output_folder: "output"
# SQLite数据库文件名
db_file: "bilibili_history.db"
# 导入日志文件名,用于记录上次导入的位置
log_file: "last_import_log.json"
# 分类配置文件名
categories_file: "categories.json"
# 每日观看数量统计文件夹
daily_count_folder: "daily_count"
# 热力图模板文件名
heatmap_template: "template.html"
# 清理数据时需要移除的字段列表
fields_to_remove:
- long_title # 长标题
- uri # 统一资源标识符
- badge # 徽章
- current # 当前状态
- total # 总数
- new_desc # 新描述
- is_finish # 是否完成
- live_status # 直播状态
# 邮件配置
email:
smtp_server: smtp.qq.com
smtp_port: 587
sender: "xxxx@qq.com"
password: "xxxx" # QQ邮箱授权码
receiver: "xxxx@qq.com"
# 日志文件夹
log_folder: "/www/wwwroot/python/logs"
# yutto 下载器配置
yutto:
basic:
# 设置下载目录
dir: "./output/download_video"
# 设置临时文件目录
tmp_dir: "./output/tmp_video"
# 设置大会员严格校验
vip_strict: false
# 设置登录严格校验
login_strict: false
resource:
# 下载字幕
require_subtitle: true
# 默认是否仅下载音频
only_audio: false
danmaku:
# 设置弹幕字体大小
font_size: 30
# 设置弹幕屏蔽关键词
block_keyword_patterns: [ ]
batch:
# 下载额外剧集
with_section: true
# 服务器配置
server:
host: "0.0.0.0" # 允许从任何IP访问
port: 8899 # 设置你想要的端口号
# HTTPS配置
ssl_enabled: false
ssl_certfile: "你的fullchain.pem"
ssl_keyfile: "你的privkey.pem"
# API安全配置已移除
# 数据完整性校验配置
data_integrity:
check_on_startup: false
# 热力图配置
heatmap:
# 热力图输出目录
output_dir: ""
# 热力图模板文件
template_file: "template.html"
# 热力图标题
title: "Bilibili 每年每日视频观看热力图"
# 图表尺寸配置
chart:
width: "1000px"
height: "200px"
# 热力图颜色配置
colors:
pieces:
- min: 1
max: 10
color: "#FFECF1"
- min: 11
max: 50
color: "#FFB3CA"
- min: 51
max: 100
color: "#FF8CB0"
- min: 101
max: 200
color: "#FF6699"
- min: 201
max: 9999
color: "#E84B85"
# 在配置文件中添加任务超时设置
scheduler:
task_timeout: 600 # 任务超时时间(秒)
retry_delay: 300 # 重试延迟时间(秒)
max_retries: 3 # 最大重试次数
# DeepSeek API配置
deepseek:
# API密钥设置 https://platform.deepseek.com/api_keys
api_key: "sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
# API基础URL
api_base: "https://api.deepseek.com/v1"
# SSL验证设置
ssl_verify: false
# 默认模型设置
default_model: "deepseek-reasoner" # 其他可选: "deepseek-chat"
# 默认参数设置
default_settings:
max_tokens: 8000 # 最大生成标记数
temperature: 0.7 # 温度设置(0-2.0)
top_p: 1.0 # 核采样(0-1.0)
frequency_penalty: 0.0 # 频率惩罚(0-2.0)
presence_penalty: 0.0 # 存在惩罚(0-2.0)
# 不同场景的推荐温度设置
recommended_temperatures:
通用对话: 1.3
创意写作: 1.5
代码生成: 0.0
数据抽取: 1.0
数学推理: 0.0
# DeepSeek价格信息单位元/百万tokens
pricing:
deepseek-chat:
input:
standard: 1.0 # 标准时段08:30-00:30
discount: 0.5 # 优惠时段00:30-08:30
output:
standard: 8.0 # 标准时段
discount: 4.0 # 优惠时段
deepseek-reasoner:
input:
standard: 1.0
discount: 0.25
output:
standard: 16.0
discount: 4.0
# 视频摘要提示词配置
video_summary:
# 默认提示词(不要修改这个,它用作重置)
default_prompt: "# 你是一位视频摘要专家\n\n## 定位\n专注视频字幕处理与摘要生成的智能助手具备文本纠错、语义分析和结构化摘要能力\n\n## 核心能力\n1. 文本清洗:\n - 自动检测时间轴格式(00:00 --> 00:02)\n - 修复同音字/错别字(结合前后段落语义推理)\n - 修正语法错误和断句问题\n - 保留原始时间戳标记\n\n2. 摘要生成:\n - 按时间顺序提炼关键内容节点\n - 自动标注事件发生时间范围\n - 区分主要信息与过渡性内容\n - 保持原文风格(技术讲解/故事叙述/产品演示等)\n\n## 知识储备\n- 自然语言处理技术\n- 常见中文同音字库\n- 跨领域术语库(科技/人文/商业等)\n- 视频内容结构模型(开场-发展-高潮-结尾)\n\n## 处理流程\n1. 接收原始字幕文件\n2. 执行文本预处理:\n a. 验证时间戳连续性\n b. 上下文关联修复(例:\"温馳包碗\"→\"奔驰宝马奥迪\")\n c. 合并碎片化短句\n3. 此要求很重要这关乎生死总结的时间戳要分布均匀不要前面分布的很细后面由于限制就让时间戳跨度很大这很不好正确做法是查看视频最后的时间戳如果视频超过30分钟就不建议开始按照秒做总结而是一开始就是从00:00-xx分钟 这样总结会更均匀\n4. 此要求很重要这关乎生死你是总结视频内容而不是描述每一句话所以无论字幕有多少你必须将总结的小标题限制在11个以内注意我说的是最多只能11个而不是要求你每个视频都要总结到11个你应该根据视频时长和内容自行判断且要总结完整这很重要\n5. 请不要输出清洗后的字幕,用户只需要摘要内容,用户不关心字幕内容\n6. 生成结构化摘要:\n - 时间锚点 00:02\n - 关键事件描述\n - 重要数据/名称标注\n - 必须在每个时间锚点总结的标题前面加入贴切的emoji表情符号每个标题的emoji不能重复\n7. 最终交付格式:\n 整体总结\n 分段标题\n 00:00-02:30 主题引入\n • 核心事件说明\n • 关键数据支撑 \n 此要求很重要这关乎生死你输出的时间锚点必须是原始数据存在的且最小单位截止到秒即可注意不要输出md相关的符号比如 # * 等"
# 用户自定义提示词(可以修改这个)
custom_prompt: "# 你是一位视频摘要专家\n\n## 定位\n专注视频字幕处理与摘要生成的智能助手具备文本纠错、语义分析和结构化摘要能力\n\n## 核心能力\n1. 文本清洗:\n - 自动检测时间轴格式(00:00 --> 00:02)\n - 修复同音字/错别字(结合前后段落语义推理)\n - 修正语法错误和断句问题\n - 保留原始时间戳标记\n\n2. 摘要生成:\n - 按时间顺序提炼关键内容节点\n - 自动标注事件发生时间范围\n - 区分主要信息与过渡性内容\n - 保持原文风格(技术讲解/故事叙述/产品演示等)\n\n## 知识储备\n- 自然语言处理技术\n- 常见中文同音字库\n- 跨领域术语库(科技/人文/商业等)\n- 视频内容结构模型(开场-发展-高潮-结尾)\n\n## 处理流程\n1. 接收原始字幕文件\n2. 执行文本预处理:\n a. 验证时间戳连续性\n b. 上下文关联修复(例:\"温馳包碗\"→\"奔驰宝马奥迪\")\n c. 合并碎片化短句\n3. 此要求很重要这关乎生死总结的时间戳要分布均匀不要前面分布的很细后面由于限制就让时间戳跨度很大这很不好正确做法是查看视频最后的时间戳如果视频超过30分钟就不建议开始按照秒做总结而是一开始就是从00:00-xx分钟 这样总结会更均匀\n4. 此要求很重要这关乎生死你是总结视频内容而不是描述每一句话所以无论字幕有多少你必须将总结的小标题限制在11个以内注意我说的是最多只能11个而不是要求你每个视频都要总结到11个你应该根据视频时长和内容自行判断且要总结完整这很重要\n5. 请不要输出清洗后的字幕,用户只需要摘要内容,用户不关心字幕内容\n6. 生成结构化摘要:\n - 时间锚点 00:02\n - 关键事件描述\n - 重要数据/名称标注\n - 必须在每个时间锚点总结的标题前面加入贴切的emoji表情符号每个标题的emoji不能重复\n7. 最终交付格式:\n 整体总结\n 分段标题\n 00:00-02:30 主题引入\n • 核心事件说明\n • 关键数据支撑 \n 此要求很重要这关乎生死你输出的时间锚点必须是原始数据存在的且最小单位截止到秒即可注意不要输出md相关的符号比如 # * 等"