FishTool:视频创作者运营工作台
更新记录见 CHANGELOG.md
让运营不再成为企业特权,让工具回归普惠本真。
FishTool是一个为B站UP主打造的智能运营Agent,可自由配置你喜欢的AI大模型作为你的助理,目前覆盖【选题参考 → 热点发现 → 舆情监控 → 竞品调研 → 账号自诊 → 抽奖真人筛选】的完整新媒体运营链路。Web 端 + 桌面端双形态,开箱即用。
FishTool的目标是成为开源、免费、共创、普惠、为所有视频创作者提供专业运营方法论与工具的、能够覆盖新媒体-社区-用户-发行-营销等多方面业务场景的专业运营工作台。
欢迎提 Issue 和 PR,如您具备相关领域工作经验,也欢迎提出想法与思路,让本项目能够更好地服务于个人创作者的实际需求。
!界面总览
一键启动(Windows)
- 安装 Python 3.12(3.11 也可以),安装时勾选 Add python.exe to PATH。
- 下载本项目:页面右上角 Code → Download ZIP 解压,或者
git clone。 - 双击项目根目录的
start_web.bat。
Y 回车。装好后浏览器会自动打开 http://localhost:8000 。之后再双击就直接启动。
- 黑色窗口就是服务本身,用的时候别关;关掉窗口或按
Ctrl+C就停止。 - 已经开着桌面版(exe软件)时双击它,会直接打开网页。
- 8000 端口被别的程序占用时,可以在命令行里运行
start_web.bat 9000换个端口。
其他启动方式
先在项目目录运行一次 pip install -r requirements.txt,然后:
| 命令 | 效果 |
| --- | --- |
| python app.py | 桌面版:主窗口 + 桌宠 + 系统托盘,同时浏览器也能打开 http://localhost:8000 |
| python app.py web | 只启动网页版,适合 macOS / Linux 或不想要桌面窗口时 |
| python app.py web --port 9000 | 换端口 |
| python app.py web --host 0.0.0.0 | 让局域网其他设备访问,同时要设置环境变量 FISHTOOL_ALLOWED_HOSTS,例如 localhost,127.0.0.1,192.168.1.10 |
第一次使用
- 扫码登录 B站:打开后在「欢迎」页点「扫码登录」,用 B站 App 扫码确认。登录后评论、抽奖等数据更完整,登录态加密保存在本地。
- 配置 AI(可选):进「配置」页填 API Key、Base URL、Model,保存。页面里有 DeepSeek 的申请教程,填好 Base URL 后模型列表会自动拉出来供你选。
- 开始用:左侧菜单切换各个功能。不配 AI 也能用大部分功能,用到 AI 的地方见下面的表格。
更细的操作步骤见 QUICKSTART.md。
功能
热点发现
!热点发现
- 立即采集:选分区、条数和播放量下限,抓一批热门视频回来。每个视频会标上 出现期 / 上升期 / 稳定期 / 衰退期,带涨跌箭头和增速。连续采几天,判断会越来越准。
- 看趋势:点视频标题,看播放、弹幕、评论、点赞的变化曲线;点「查看上涨账号」,看这个 UP 主的粉丝、近 90 天作品、舰长率和充电率。
- 单视频跟踪:输入 BV 号加入跟踪,按设定间隔持续记录数据。需要先在
config/config.yaml里把monitor.watch_enable改成true,再重启。 - 聚合入口:汇总热搜、综合热门、全站榜,看到合适的视频可以直接加入关注;热搜词可以一键生成研究草案。
- Tag 词云:选分区,看当前最热的 20 个 Tag。
- 活动情报:拉取官方活动和运营号动态,可以按游戏区、动画区、绘画区筛选。
- AI 选题助手:填创作方向和目标分区,生成 1~20 个选题,每个带难度和关键词。
- 事件工作台:把一个热点事件(比如某个 Tag)建成事件,评估当天热度,生成机会列表,再按事件出选题。每个机会可以标「采用」「不采用」「已发布」。
评论监控
!评论监控
- 单次采集:填 BV 号,或者填 UP 主 UID 一次查他最近 1~50 个视频。采集策略有「快速」(100 条)和「全面」(全部评论)。
- 去重:同一个人刷屏只算一条,不同人发的同一句话合并成一条并记「声量」,长得差不多的也会合并。
- 情感分析:每条评论分成正面、负面、中性。
- 舆情看板:原始评论数、清洗后、去重数、情感分布、按日期的评论走势,还有声量最高的 10 条评论。
- 常驻监控:填几个 BV 号(逗号隔开)点「开启」,后台每 5 分钟增量采一次,可以随时暂停或停止。
- 预警:负面评论占比过高、评论量暴涨、出现风险关键词时会发预警。预警会弹在网页右上角,开着桌面版时桌宠也会冒气泡。「预警记录」里能看到最近 20 条。
头部 UP 拆解
- 找头部:选分区和数量,列出这个分区的头部 UP 主,带粉丝、充电、总播放。
- 拆解运营策略:点某个 UP 主的「分析TA」,或者直接贴 UID / 主页链接。先给出粉丝、充电人数、每千粉舰长率、每千粉充电率、总播放,再由 AI 从选题方向、标题套路、封面风格、发布节奏、互动引导五个方面总结。
账号自诊
!账号自诊
- 一键体检:输入你的 UID,看粉丝、千粉率、平均播放、累计收藏、近 30 天投稿,以及评论率、收藏率、最长断更等互动指标,配互动图表和全部视频的 Tag 词云。
- AI 报告:配了 AI 会多出「账号调研报告」和「运营点评」。
- 同行排名:填最多 50 个同行 UID,可以限定同粉丝量级或指定分区,按近期作品的播放中位数排出你的名次。
- 导出 PDF:直接导出当前页面的结果,不会再调一次 AI。桌面版弹出保存窗口,浏览器里走「打印 → 另存为 PDF」。
抽奖工具
!抽奖工具
- 真人筛选:填 BV 号或动态链接,把评论区所有用户分成「真人候选」「疑似抽奖号」「资料不足」三栏。判断依据是等级、账号活跃时长、最近动态和转发抽奖的比例,AI 判定的侧重点可以自己改。
- 快速筛选:查单个 UID 的画像,交给 AI 判断是不是真人。
- 评论区抽奖:设中奖人数(1~100),可以限大会员、最低等级、评论时间段,同一 UID 只算一次,也可以只从真人候选里抽。开奖前会先让你确认视频标题和发布者,结果列出候选名单、中奖名单和每一项排除了多少人。
- 校验中奖名单:开奖后一键复查中奖者。
- 筛选任务可以中途取消;切走页面再回来能接着看进度;程序重启后能继续执行。
日志
- 按来源(应用、错误、爬虫、风控)和级别筛选,支持关键词搜索,每 2 秒自动刷新。
- 每行可以单独复制,「导出问题日志」会把警告和错误存成 txt,方便发给开发者。
桌面版和桌宠
!桌宠
python app.py启动后,主窗口里就是同一套网页界面;点 ✕ 会收到系统托盘,右键托盘图标可以显示窗口或退出。- 桌宠一直浮在桌面最上层,按住能拖动,位置会记住;单击打开菜单,可以回到主面板。
- 有评论预警或者登录态失效时,桌宠会冒气泡提醒。
哪些功能用到 AI
不配 AI 也能用的功能:热点采集和趋势、Tag 词云、活动情报、评论采集 / 去重 / 情感 / 预警、头部 UP 的数据卡片、账号自诊的数据部分和同行排名、评论区抽奖、日志。
| 功能 | 配了 AI | 没配 AI | | --- | --- | --- | | AI 选题助手、事件选题 | AI 生成 | 按规则模板生成 | | 头部 UP 运营策略 | 五个方面的策略总结 | 只显示数据卡片 | | 账号自诊 | 多出调研报告和运营点评 | 只显示数据部分 | | 抽奖真人筛选 | AI 判断真人 | 只挑出疑似抽奖号,其余归入「资料不足」;开奖时勾选「真人筛选时保留未知用户」可以把这部分人留在奖池里 |
AI 的 Token 用量可以在「配置」页的「AI大模型用量统计」里看最近 7 天的明细。
数据和安全
- 所有数据存在本机:数据库在
data/,日志在logs/。 - B站登录态和 AI 的 API Key 都加密保存,密钥文件是
config/.key,请不要发给别人,也不要提交到仓库。 - 服务默认只允许本机访问。
- 请求 B站时自带限频,请不要改大,以免账号被风控。
打包成 exe
pyinstaller --clean --noconfirm build.spec
产物在 dist/ 目录。
开发
FishTool/
├── app.py # 唯一启动入口(桌面版 / Web 版 / 初始化)
├── start_web.bat # Windows 一键启动 Web 版并打开浏览器
├── bilibili/ # B站接口封装(WBI 签名、Cookie 池、限频)
├── core/ # 配置、数据库、日志、异常、常驻监控
├── llm/ # OpenAI 兼容的大模型客户端
├── modules/ # 各功能的业务逻辑:hotspot / comment / lottery / up_analyzer / self_diagnosis
├── web/ # FastAPI 服务和前端页面(web/main.py 由 app.py 启动)
├── desktop/ # 桌面主窗口、托盘、桌宠
├── tools/ # 运维与开发脚本
└── tests/ # pytest 测试
更完整的目录说明见 STRUCTURE.md。运行测试:
pytest tests/ -q
接口文档在服务启动后访问 http://localhost:8000/docs 。
交流
QQ 群二维码在「欢迎」页的「加入群聊」里,也可以直接提 Issue。
合规声明
- 本工具只用于个人账号的运营分析,请勿用于恶意爬取或商业滥用。
- 请勿绕过内置的限频。
- 登录态和 API Key 属于个人敏感信息,请妥善保管
config/目录。
License
MIT