Repository navigation
Releases: StephenQiu30/framefetch-server
Release list
FrameFetch v0.3.0-beta.2 · 视频号官方分享下载 / WeChat Channels downloads
本次 Beta 更新接通微信视频号官方分享文件下载:从提交分享链接、元宝原生解析、微信官方 feed,到统一下载、文件校验和浏览器保存。
This Beta connects WeChat Channels official share downloads, from the submitted link through native Yuanbao resolution and the official WeChat feed to verified artifacts and browser saving.
本次更新 / Changes
-
接通视频号专属 L3,修复元宝原生客户端误匹配、官方引用票据解析及下载前身份重新确认。
-
仅对视频号采用
official_share范围:核对匿名分享、元宝与官方 feed 的标题、作者、封面来源和路径;拒绝明确限制和保护信号,下载官方非加密候选文件。 -
最终文件经 ffprobe、候选时长一致性、严格全片解码和 SHA-256 校验后发布;下载前仍重新解析并核对十二字段执行上下文。
-
Web 解析结果、下载详情与历史显示“微信视频号”,解析卡片呈现交付范围说明;同步产品介绍、版本入口与验收文档。
-
Dedicated L3 resolution, with fixes for native-client discovery, official reference tickets and identity reconfirmation before downloads.
-
official_shareapplies only to WeChat Channels. Anonymous share, Yuanbao and official-feed metadata must match; explicit restrictions and protection signals are rejected. -
Artifacts pass ffprobe, candidate-duration checks, strict full-file decoding and SHA-256 verification. Downloads still re-resolve and compare all twelve execution-context fields.
-
Chinese platform labels and delivery-scope information in the Web UI, with updated product and acceptance documentation.
验证 / Validation
两条独立分享经 Web 正式链路完成解析、规格确认、下载、Artifact 发布及 Chrome 本地保存;两份本地文件的大小与 SHA-256 均和服务器记录一致,全片解码均无错误。
| 分享标识 / Share | 规格 / File | 文件时长 / Duration | 大小 / Bytes |
|---|---|---|---|
ALGoE6MYUv |
MP4, 984×720, H264/AAC | 660.631995 s | 71,346,872 |
A9znfitafp |
MP4, 576×576, H264/AAC | 24.448 s | 1,525,279 |
Two independent shares completed the formal Web flow and Chrome saving. Local file sizes and SHA-256 hashes match the stored artifacts, and both files decode fully without errors.
本地检查:后端 3645 项通过、1 项因缺少隔离 MinIO 端点跳过;后端静态检查通过。前端全套 576 项测试及随后 24 项受影响回归通过,格式、类型检查与构建通过。验收记录更新后的 159 项专项回归通过。桌面与配置为 390px 的浏览器页面完成检查;日常运行卷已恢复、临时卷已清理、运行时锁已释放。
Local checks: 3,645 backend tests passed with one isolated-MinIO test skipped; backend static checks passed. The 576-test frontend suite and subsequent 24 affected regressions passed, along with formatting, type checks and the production build. All 159 acceptance-script regressions passed after evidence updates. Desktop and configured 390px browser views were checked, and the daily runtime was restored.
使用与升级 / Use and upgrade
从同一 tag 部署 Web、API、Worker 和 Runner。已有部署请先排空媒体操作,再重建相应服务,并按本标签 README 更新主工作区的 Chrome 身份扩展与宿主服务;扩展更新后在 Chrome 中重新加载。视频号需要已登录的元宝顶层页面保持打开。仅将既有 Runner Bearer 传入 Runner,宿主配对密钥不进入容器。
Deploy Web/API/worker/runner from the same tag. Drain active media operations before rebuilding services, then follow this tag's README to update the primary-checkout identity extension and host service. Reload the extension after updating it, and keep the logged-in Yuanbao page open. Only the Runner Bearer goes to the Runner; the host pairing key stays outside containers.
预览范围 / Preview scope
交付时长来自官方候选文件,公开免费标签、独立原长与原作品完整性仍未获平台证明。仅处理用户有权获取的非 DRM 文件,不解密受保护内容。此次两条 Web 正例不代表全部平台 --all 冷启动、真实受保护负例、App 设备或真实模型验收通过。
Duration comes from the official candidate file. Public/free status, independent original duration and original-work completeness remain unverified. Only authorized non-DRM files are processed; protected media is not decrypted. These two Web examples do not establish full-platform cold-start, protected-negative, device or real-model acceptance.
本版本是自托管源码预览,无新增安装包附件。Git tag 标识发行快照;内嵌 Server/API/Worker 与 Web 包版本字段仍为 0.2.0。App 与 Desktop 的现有版本未由本次 Server 发布更新。
This is a self-hosted source preview without additional installer assets. The Git tag identifies the snapshot; embedded Server/API/worker and Web package versions remain 0.2.0. Existing App and Desktop releases are unchanged.
发行快照 / Release commit: 7ae18365243ca50748df70c02a5e28b08c1363b8。该提交 CI / Commit CI 的前后端检查均通过 / Backend and frontend CI passed.
FrameFetch v0.3.0-beta.1 · 视频与剧本 AI 工作台 / Video & screenplay workspace
帧取 FrameFetch 把视频、剧本、处理任务和 AI 报告放进同一个自托管工作区。导入自己的素材,查看处理进度,选择分析方法,再把结果导出为可继续编辑的 Markdown/DOCX。
FrameFetch brings videos, screenplays, processing jobs and AI reports into one self-hosted workspace. Import your material, follow processing, choose an analysis method, and export editable Markdown/DOCX reports.
本次亮点 / Highlights
-
统一素材入口:授权单视频链接、本地 MP4,以及 DOCX、可提取文字的 PDF、TXT、Markdown、Fountain 剧本。
-
视频与剧本 AI 分析:当前方法目录包含 12 种视频方法与 8 种剧本方法,覆盖分镜、场景、叙事、节奏、文章草稿、角色、对白和改写;报告保留分析范围与证据。
-
透明的处理过程:任务历史、取消、失败提示和素材完整性校验;AI 分析独立执行,AI 失败不改变下载成功状态。
-
Web 体验改进:页面与响应式布局整理、个人资料优化,以及管理员 AI 分析统计。
-
解析与身份更新:平台解析阶梯、受控出口与 Chrome MV3 身份扩展;修复视频号引用标识和响应上下文校验。
-
Unified intake: authorized single-video links, local MP4 files and supported screenplay documents.
-
Video and screenplay analysis: 12 video methods and 8 screenplay methods in the catalog, including shot breakdowns, narrative review, article drafts and screenplay revision. Reports retain scope and evidence.
-
Visible processing: history, cancellation, actionable failures and artifact integrity checks. AI runs separately from downloads.
-
Web improvements: refined responsive layouts, profiles and administrator AI-analysis statistics.
-
Resolution and identity updates: platform extraction ladders, controlled egress and Chrome extension identity, with WeChat Channels reference and response-context validation fixes.
快速开始 / Get started
准备 Docker Compose,以及已有的 PostgreSQL、RabbitMQ、Redis、MinIO 和 Temporal 服务。AI 分析还需配置宿主 AI Worker 与模型服务。
Use Docker Compose with existing PostgreSQL, RabbitMQ, Redis, MinIO and Temporal services. AI analysis additionally requires a configured host AI worker and model service.
git clone --branch v0.3.0-beta.1 https://github.com/StephenQiu30/video-server.git
cd video-server
test -f .env || cp .env.example .env
# Configure .env for your existing infrastructure before starting.
docker compose up -d --build --wait --remove-orphansWeb:http://localhost:8101 · Swagger:http://localhost:8111/docs
首管理员、Chrome 身份扩展、模型配置与生产部署步骤见 中文 README / English README。
See those guides for first-admin creation, Chrome identity setup, model configuration and production deployment.
升级与预览范围 / Upgrade and preview scope
从 v0.2.0 升级时,旧容器会话 Broker 与 ./start 已由当前 Chrome 身份来源和 Compose 流程取代。先暂停接单、排空媒体操作并备份 PostgreSQL,再按本标签 README 配置身份来源,配套重建 Web、API、Worker 与 Runner。启用 AI 时,宿主 Worker 使用相同源码与环境配置。
When upgrading from v0.2.0, follow this tag's Chrome identity and Compose instructions. The former container session broker and ./start workflow have been replaced. Drain operations, back up PostgreSQL and rebuild matching Web/API/worker/runner services, including the host AI worker when enabled.
这是固定到 d766d59a87adbdb9168e2cf90bcead3386de2a3b 的源码预览。Git tag 标识本次快照;源码中的 API/Worker 和包版本字段仍为 0.2.0。请从同一 tag 部署相关组件。
This is a source preview at that commit. The Git tag identifies this snapshot; embedded API/Worker and package version fields remain 0.2.0. Deploy related components from the same tag.
该提交 CI 的后端与前端检查通过。本次发布未新增真实平台、真实模型或设备验收。方法目录不等于每种方法已通过真实模型验收;平台元数据可读不等于完整视频可下载。全量冷启动及逐平台验证状态见 解析引擎设计。当前不提供 ASR/OCR。
Backend and frontend CI passed. This publication adds no new live-provider, real-model or device acceptance. The method catalog and readable metadata do not establish real-model acceptance or complete-file download support. See the resolution design for platform and cold-start status. ASR/OCR is not included.
仅处理用户有权获取的非 DRM 内容。服务器、存储、网络和外部模型费用由部署者承担;启用外部 AI 会向所选服务发送分析所需素材。
Process only authorized non-DRM content. Operators provide infrastructure and model services; external AI receives the material needed for analysis.
三个项目 / The FrameFetch family
- Server & Web — 自托管服务与浏览器工作区 / Self-hosted service and browser workspace.
- iOS / Android App — Flutter 移动客户端 / Flutter mobile companion.
- Desktop — 内置界面的 Electron 客户端,同样连接 Server / Electron companion with bundled UI, also connected to Server.
欢迎 Star、关注 Releases,或贡献平台适配、分析方法、使用反馈与文档。
Star the project, watch Releases, or contribute provider adapters, analysis methods, feedback and documentation.
v0.2.0 · 容器自持平台会话与一键启动
历史版本 / Historical release
本页记录 v0.2.0 的历史架构与启动方式。当前 Chrome 身份来源、Compose 部署与三端关系请参考新预览版。
This page documents the historical v0.2.0 architecture. See the current preview for Chrome identity, Compose deployment and connected clients.
当前预览 / Current preview — v0.3.0-beta.1
帧取 FrameFetch v0.2.0:平台会话改为容器自持,./start 一条命令完成数据库结构、平台会话接入与业务容器启动。
English: FrameFetch v0.2.0 moves platform sessions into containers. A single ./start applies the schema, picks up platform logins from your local Chrome, has the containers verify them and starts every business service.
亮点
- 一键启动(macOS):
./start应用当前数据库结构,发现本机 Chrome 中已登录的平台会话,加密登记并等待容器实际验证,同时安装当前用户的 LaunchAgent,最后构建并启动业务容器。 - 容器自持平台会话:新增站点会话模型、
session-broker生命周期状态机与容器会话浏览器。冷启动恢复、保活、失效检测与自动轮换都由容器负责;后台每 60 秒检查缺失或确认失效的会话,健康会话不重复导入。默认启用 YouTube、抖音。 - 会话安全:会话以密文保存在 PostgreSQL,只有
session-broker持有密钥;每次操作的明文副本只进入session-runner的 tmpfs,结束即销毁。 - 固定路线扩展:Runner 扩展平台固定路线,并与自动会话接入打通。
- Web 体验:头像上传与个人资料页、头像悬停账户菜单、统一的解析结果双栏卡片、可恢复错误提示组件、快捷操作页面导航,以及基于 shadcn 组件的表单与页面控件整理。
不兼容变更
- 在线解析必须配置站点会话:匿名与访客执行路线已移除。未配置、撤销或需要重新登录时明确提示部署前提缺失,不会自动切换路线。
- 会话路由切换到容器会话 Runner:删除了旧的宿主来源链路。
- Web 移除平台目录的引擎候选面板与运行诊断面板。
APP_VERSION默认值升级为0.2.0:宿主机 AI Agent 与业务服务按版本校验兼容性,升级后请重新执行agent_cli install(生产环境带上--env-file ../.env.prod)。
从 v0.1.0 升级
- 备份 PostgreSQL。
git pull --ff-only。- macOS 本机:运行
./start(自动应用数据库结构并接入会话)。纯容器生产:先以 DDL 账号应用backend/sql/schema.sql,再执行docker compose --env-file .env.prod -f docker-compose-prod.yml up -d --build --wait。 - 如启用 AI 分析,重新安装宿主机 Agent:
uv run python -m app.workers.analysis.agent_cli install。 - 用真实公开链接完成一次下载验收;服务健康不代表媒体可下载。
详见 README 快速开始 与 平台会话设计。
其他
- 设计文档按主题整理为 docs/design,中英文 README 同步当前启动流程。
- 修复:冷启动与保活期间保持平台会话可用;区分 Chrome 数据目录与钥匙串两类导入授权错误;窄屏账户页脚链接溢出。
使用边界
只处理你有权使用、公开、免费且非 DRM 的内容。MIT 许可证开放源代码,不授予任何第三方媒体内容的下载、复制或分析权;服务器、存储与外部模型费用由部署者承担。项目处于 0.x 阶段,不提供官方 SaaS 或 SLA。
iOS / Android 客户端:video-app
Full Changelog: v0.1.0...v0.2.0
如果帧取对你有帮助,欢迎点亮 ⭐ Star。
v0.1.0 · 帧取 FrameFetch 首个公开版本
帧取 FrameFetch 的首个公开版本:开源、自托管的公开视频解析、剧本文档处理与 AI 视频分析工作流。
English: First public release of FrameFetch — an open-source, self-hosted workflow for authorized video parsing, screenplay processing and AI video analysis.
主要能力
- 公开媒体解析与下载:识别授权公开链接或分享文案中的来源、媒体信息与真实可用格式;API → Transactional Outbox → RabbitMQ → Download Worker → 隔离 Media Runner 的可恢复异步链路。
- 制品校验与存储:重新解析、格式语义校验、FFmpeg/ffprobe、大小、时长与 SHA-256 校验后写入 MinIO。
- 实时任务状态:WebSocket 增量事件、断线重连与 resync。
- 剧本文档工作流:导入 Markdown、Fountain、TXT、PDF、DOCX,阅读、目录、分页与分析。
- 可选 AI 分析:宿主机 Codex Agent 或管理员配置的模型 Provider;分镜、场景、关键帧证据,报告导出 Markdown / DOCX。
- 运维与管理:用户与角色、Provider 状态、下载分析、文件管理与显式清理。
- 公开站点 SEO/GEO:公开首页、使用指南、自托管部署指南、关于页面,sitemap、结构化数据与
/llms.txt;私有实例默认 noindex。
开始使用
- 部署:README 快速开始 · English
- iOS / Android 客户端:video-app v0.1.0
使用边界
只处理你有权使用、公开、免费且非 DRM 的内容。MIT 许可证开放源代码,不授予任何第三方媒体内容的下载、复制或分析权;服务器、存储与外部模型费用由部署者承担。项目处于 0.x 阶段,不提供官方 SaaS 或 SLA。