AutoClip Desktop v1.3.0
新增
autoclip命令行:autoclip run video.mp4 --provider ollama一条命令出片,list / show / providers / doctor子命令,--json给脚本与 agent;与桌面应用共用数据目录与 SQLite(pip install -e .;docs/CLI_AND_MCP.md)- MCP server(
autoclip mcp,stdio):clip_video、start_clip_job/get_job_status、get_project、list_projects、list_providers、check_environment,Cursor / Claude 可直接调用;Agent skillskills/autoclip/SKILL.md - 本地模型预设 Ollama / LM Studio:设置页提供商下拉直接可选,自动列出服务端模型,无需 API Key;Docker / CLI 可用
LLM_PROVIDER=ollama GET /settings/local-presets、GET /settings/compatible-models?base_url=;POST /settings/test-api接受ollama/lmstudio- 出片质量工程化:按时长分档(短/中/长)覆盖提示词里写死的 90 秒规则;时间线对齐字幕边界并去重;评分数量不匹配不再整块丢、低于阈值保底 top-K。回归入口
python -m backend.eval - 发布导出:切片可渲成抖音/小红书/Shorts 9:16 或 B 站横屏(烧字幕 + 标题卡)。入口:详情页「导出」、
autoclip export、MCPexport_clip - Docker / 本地脚本模式可用设置页:
GET/PUT /settings、/test-api、/current-provider、/compatible-models等配置端点不再要求桌面模式;Web 端设置页可直接保存 LLM 提供商与密钥到数据目录的settings.json,api 与 worker 自动热重载。首屏如实显示.env里的LLM_PROVIDER/API_MODEL_NAME(#100) - 失败要像失败:LLM 未配置 / 字幕缺失或为空 / 大纲提取全部失败或不可解析 / 时间线为空 / 没有片段过评分 / ffmpeg 没产出切片——
流水线一律进failed,带阶段(SUBTITLE / ANALYZE / EXPORT)和一句可执行的提示(去哪个设置项、装什么)。不再出现Completed · 0 切片
或永远processing。ProjectResponse新增error_message(取最近失败任务,CLI 路径回退project_metadata.last_error),详情页 / 项目卡 / 应用内反馈直接展示(#100 #11 #24) - LLM 单个文本块失败仍继续(长视频偶发超时不毁整条),只有全部失败才报错
- 通义千问国际站(#45):设置页通义千问卡片新增「中国站 / 国际站」开关,alibabacloud.com 开通的 Key 可直接用;Docker 用
DASHSCOPE_BASE_URL。国际站走 OpenAI 兼容模式,按实例隔离,不改全局 SDK 地址 - 设置页「最低评分阈值」真正生效:以前只改了 API 进程内存,流水线(worker / 本地线程)一直用常量 0.7;现在 step3 按 settings.json 热重载读取,CLI
--min-score仍优先。chunk_size/max_clips同样进入 settings,供后续步骤接入 - 发版工具:
scripts/bump_version.py(四处版本号统一 + CHANGELOG 滚动,--check校验一致)、scripts/release_notes.py(Release 正文从 CHANGELOG 生成);RELEASE_CHECKLIST.md改写为周更流程
修复
- DashScope 提供商不再把完整 API Key 打进 INFO 日志
- 本地上传的项目从不自动开始处理:
/projects/upload启动导入任务的代码引用了未定义的db,NameError被吞掉,项目一直停在 pending 等用户手点「开始处理」(自 2026-05593cc62b起) - 桌面模式多线程写 SQLite 互相回滚:文件型 SQLite 之前用
StaticPool(全进程一条连接),导入线程结束时的 ROLLBACK 会抹掉流水线线程刚写入的 Task 行(ObjectDeletedError、任务凭空消失、进度卡住)。改为默认连接池 + WAL,StaticPool仅保留给:memory: - 桌面模式下 Celery 任务内的
self.update_state()不再去连 Redis 结果后端(直接 ConnectionRefused 拖死导入任务) - 开着浏览器「翻译此页」时切换提供商 / 输入模型名整页崩溃(#100):Chrome / Edge 翻译会把文本节点换成
<font>,React 更新时抛removeChild NotFoundError。现在在挂载前对removeChild/insertBefore做守卫,节点已被外部脚本移动时跳过而不是崩;错误边界页识别到该情况会用中英双语提示关闭翻译 - 错误边界降级页按
DESIGN.md重做(去掉紫色渐变与 AntDResult,单色卡片 +Btn原语),「返回首页」在 HashRouter 下真正回到首页 - macOS 开着系统代理(Clash 等)时本地 Ollama / LM Studio 请求被送进代理导致 502:对 localhost / 内网地址不再读取代理环境变量
- 设置页首屏偶发不请求当前模型(
apiConfig.notifyListeners遍历中被 listener 自删) - 从本地预设切回云端提供商时模型名不再残留
qwen2.5:7b之类本地模型名
下载 / Download
| 平台 | 文件 | 首次打开 |
|---|---|---|
| macOS(Apple Silicon) | AutoClip.Desktop_1.3.0_aarch64.dmg
| 未公证:右键应用 → 打开 |
| Windows 10/11 x64 | AutoClip.Desktop_1.3.0_x64-setup.exe
| 未签名:SmartScreen → 更多信息 → 仍要运行 |
两个包都内置便携 Python 与静态 ffmpeg,不需要预装任何东西;Windows 安装包按用户安装,不需要管理员权限,缺 WebView2 会自动下载。
Intel Mac / Linux 暂无安装包,请用 Docker(DOCKER.md)或 pip install -e . 跑 autoclip CLI。
Built-in portable Python + static ffmpeg, nothing to install. macOS build is ad-hoc signed (right-click → Open on first launch);
Windows build is unsigned (SmartScreen → More info → Run anyway). If a file is missing, that platform's build failed for this tag — see the Desktop Build workflow run.