Repository navigation
AI/ML API as a cloud provider preset (re-ported onto 1.5.6) - #2
Open
Lookoff-AIMLAPI wants to merge 298 commits into
Open
Lookoff-AIMLAPI wants to merge 298 commits into
Lookoff-AIMLAPI wants to merge 298 commits into
Conversation
feat: create subtitle promotional drafts without visual calls
…evidence feat: base low-cost import recommendations on local subtitle evidence
fix: preserve signed runtime resources in 1.4 RC candidate
…ounds fix: bound visual scans and preserve valid highlight candidates
…pect fix: match automatic promo aspect at confirmation
…shift-publish-c766 docs: README header Trendshift card + shorten publish row
chore: release v1.4.0
Subtitle analysis stays the default. Optional game visual analysis, confirm-before-cut, and sampled-frame privacy wording now match the v1.4.0 release without claiming ad results or a fully verified Windows install. Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: Kris K <zhouxiaoka@users.noreply.github.com>
* fix: accept shared YouTube links and recover valid timeline segments * docs: record project review and reproducible recovery gaps * fix: isolate timeline retries and recover rejected Studio imports * docs: audit Studio analytics and Sentry coverage for 1.4 * fix: cover Studio telemetry and caught workflow failures * fix: finish Windows Proactor cleanup after peer resets Fixes PYTHON-FASTAPI-3 * docs: record Windows reset fix validation * fix: clean Windows backend descendants and repair import thumbnails * fix: offer explicit compatible source previews in Studio * fix: keep compatible preview recovery available and document validation
* docs: simplify README copy and onboarding across eight languages * docs: invite sponsorship in all README translations
CORS 由 * + credentials 收紧为 AutoClip 自家来源;带 Origin 的写请求必须同源或在白名单内, 表单/multipart 简单请求也会被拦;桌面模式只接受本机 Host,防 DNS 重绑定。 调试路由默认不挂载,web 入口默认只听 127.0.0.1。Docker 局域网访问用 AUTOCLIP_ALLOWED_ORIGINS。 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
NSIS PREINSTALL/PREUNINSTALL 钩子按安装目录结束 python/ffmpeg/ffprobe, 旧版没有 Job Object,升级时残留进程会锁住 _asyncio.pyd。 应用内更新先停后端再安装,安装失败则重新拉起后端。 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
yt-dlp 不读 AUTOCLIP_FFMPEG_PATH,桌面包的 ffmpeg 不在 PATH 上,Windows 合并音视频失败。 旧 YouTube/B 站下载与字幕兜底都传 ffmpeg_location 并统一合并为 mp4。 旧链路进度在 30→60 之间按真实字节推进;Studio 下载在「准备素材」后显示百分比。 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
默认库路径相对 cwd,test_repositories 的 reset_database() 会清空开发者本机 data/autoclip.db。 pytest.ini 的 [tool:pytest] 在 ini 文件里无效,整份配置此前被忽略。 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- desktop-build.yml 的 release job 改为 prerelease + make_latest=false;应用内更新读 releases/latest/download/latest.json,Pre-release 不会推给用户。官网通知移到转正时。 - 新增 promote-release.yml:promote 转正并通知官网;halt 把坏版本撤回 Pre-release, 让应用内更新和官网退回上一个好版本。 - 重写 RELEASE_CHECKLIST.md:问题分级、每周一版、热修从出问题的 tag 拉分支、 双平台真机冒烟、观察期、坏版本止血流程。CLAUDE.md 加入发版约束。 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
chore(release): 先发 Pre-release,冒烟和观察期后再转正;重写发版清单
windows-latest 上先静默装上一个正式版,起一个残留 python.exe 占住 _asyncio.pyd, 再静默覆盖安装本次构建:安装器必须结束残留进程且写入新文件。随后用安装目录自带的 Python 跑 verify_windows_install.py:内置 ffmpeg 生成/切片/探测(含中文文件名)、 yt-dlp 拿到内置 ffmpeg、桌面后端 /health 与项目列表、来源守卫放行 tauri.localhost。 tag 发版的 release job 依赖这个冒烟通过。 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…se 测试者 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- 后端 cloud_presets 新增 infistar:预设 https://infistar.cc/v1,独立 infistar_api_key (含 INFISTAR_API_KEY 环境变量);CLI / MCP 支持 --provider infistar。 - 多模型网关不内置型号名单、不预设默认模型:填好 Key 后从 /v1/models 拉取, 选中的 gpt / deepseek / gemini 等型号不会被当成「别家型号」重置。 - 设置页选 Infistar 时显示「注册并领取体验额度」「接入说明」,并注明含推广分成; 新增 sponsor_link_opened 事件(只记录入口,不含个人信息)。八语文案同步。 - 接入说明补充新版一步选择的流程,保留旧版手动填写方式。 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…dows-import fix: P0 安全收紧、Windows 升级文件占用、链接导入 ffmpeg 与进度
…process-timeouts fix: classify local media process timeouts
…le-overlay fix: preserve original subtitles under interview decorations
…alization fix: preserve privacy choice during delayed settings reads
…4-final-repairs fix: close installed-package acceptance regressions
…efault-invocation Fix CRT regression default script lookup on Windows
…ailure-recovery fix(studio): recover task state after metadata read denial
…e-main Preserve cloud ASR failure identity and reject unsupported company-leader copy
…tance-v2 fix: preserve multiple original acceptance evidence sources
* Allow a named owner waiver for unexecuted acceptance rows Waived rows stay distinct from passed: pending/failed/skipped still block, executed rows keep the existing checks, and the internal receipt lists every waived row. Adds the owner-waived 1.5.4 internal acceptance manifest. Co-authored-by: Cursor <cursoragent@cursor.com> * Bind the 1.5.4 internal manifest to the provenance file hash Co-authored-by: Cursor <cursoragent@cursor.com> * docs: record the owner-waived 1.5.4 release scope and watch signals Co-authored-by: Cursor <cursoragent@cursor.com> * fix(release): restore the annotated tag before reading internal acceptance Co-authored-by: Cursor <cursoragent@cursor.com> * Add the owner-waived 1.5.5 internal acceptance manifest Co-authored-by: Cursor <cursoragent@cursor.com> * Add the owner-waived v1.5.5 release acceptance manifest Co-authored-by: Cursor <cursoragent@cursor.com> --------- Co-authored-by: Cursor <cursoragent@cursor.com>
…iaoka#293) Co-authored-by: Cursor <cursoragent@cursor.com>
…#255) Most discovery still lands on GitHub. Point that traffic at the current product page before the download and case-library links. Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: Kris K <zhouxiaoka@users.noreply.github.com>
…ning fails 1.5.4 made every automatic run fail when the optional visual screening call failed, so interviews and podcasts that subtitles could cut failed with provider_error. Only an explicit visual choice now stops the run. Co-authored-by: Cursor <cursoragent@cursor.com>
…esktop Celery Keep optional auto screening on the subtitle route, block imports that cannot run, record failure_stage/http_status/route, send installer smoke through Studio import, and treat studio.json generation as the project-list source of truth. Co-authored-by: Cursor <cursoragent@cursor.com>
…houxiaoka#295) Ship 1.5.6: ready imports, failure taxonomy, desktop without Celery
Re-port of the integration onto 1.5.6. The original branch was cut from
v1.3.3 and upstream has moved 297 commits since; the first-run wizard, the
settings page's provider table and apiConfigCheck no longer exist, so a merge
would have been eight conflicts, three of them against deleted files. This is
the same integration rebuilt against the current tree instead.
What lands:
- `aimlapi` cloud preset beside the other gateways, reaching the new
`features/settings/providers.ts` picker in the `cloud` group (not `sponsor`:
that group is for affiliate partners and we are not one), the CLI
(`--provider aimlapi`), `autoclip providers`, env fallbacks and the eight
locale catalogues.
- Attribution headers on requests to the gateway, gated on the exact hostname
`api.aimlapi.com`, so the same OpenAIProvider serving OpenRouter, Ollama and
vLLM never receives them.
- Model discovery that reads our `type` field. The new registry asks each
provider's `/models` and guesses capability from the name when the payload
says nothing; ours says everything, in `type`. `_aimlapi_records` maps it to
the `supported_endpoint_types` vocabulary `_records` already branches on, and
merges rows by id so a model listed once per endpoint family keeps its chat
route. Measured against the live list: 980 rows collapse to 809 ids, of which
380 are analysis-capable and 131 image-capable, and the 304 excluded are the
speech, video, embedding and OCR rows that used to reach the picker and fail
on first use.
- Image generation is claimed only because it was verified: POST /v1/images/generations
answers 200 with the standard `{data:[{url}]}` shape, so AI covers work.
ASR is deliberately not claimed - there is no adapter for our transcription
route, and `asr_catalog` would list the models as known-but-unsupported.
Also re-applies the connectivity-probe fix. The probe asks for `max_tokens=1`,
which reasoning models cannot finish, so the settings page reports a failure for
a valid key. Measured 2026-10-07: `openai/gpt-6-luna` - this preset's default -
400s at 1 token and answers at 10; gpt-6.1-sol, claude-sonnet-5.5 and
gemini-3.8-flash answer at 1. The probe now asks 256.
Verified live: the request lands on api.aimlapi.com/v1/chat/completions carrying
the attribution headers including the registered partner id, the completion
comes back, `test_connection()` is true and the dropdown resolves to 355 chat
models. Backend 1485 passed; the 23 failures in test_studio / test_publish_export
/ test_packaging_render are byte-identical on unmodified upstream (ffmpeg on this
machine). Frontend typecheck, lint and the 8 i18n tests are clean.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Replaces #1, which was cut from v1.3.3. Upstream has moved 297 commits since (now 1.5.6) and a merge produced eight conflicts, three of them against files upstream deleted — the first-run wizard, the settings page's provider table and
apiConfigCheck. This is the same integration rebuilt against the current tree.What changed versus #1
features/settings/providers.tswith grouped, searchable options. We land in thecloudgroup — deliberately notsponsor, which is for affiliate partners (Infistar, 88API) and we are not one.apiConfigCheckare gone upstream, so those three edits simply drop out. Smaller diff._aimlapi_recordsmaps ourtypefield onto thesupported_endpoint_typesvocabulary_recordsalready understands, and merges rows by id so a model listed once per endpoint family keeps its chat route.Measured against the live gateway (2026-10-07)
/modelsrows collapse to 809 ids: 380 analysis-capable, 131 image-capable, 304 correctly excluded (speech, video, embeddings, OCR). Under the old name-guessing path those 304 reached the picker and failed on first use.POST /v1/images/generationsanswers 200 with the standard{data:[{url}]}shape, which is the only reason image capability is claimed at all, so AI covers work.asr_catalogwould list the models as known-but-unsupported.The probe fix is still needed.
test_connectionasks formax_tokens=1, which reasoning models cannot finish, so a valid key reports "connection failed". Measured:openai/gpt-6-luna— this preset's default — 400s at 1 token and answers at 10;gpt-6.1-sol,claude-sonnet-5.5andgemini-3.8-flashanswer at 1. The probe now asks 256.Verification. Live: the request lands on
api.aimlapi.com/v1/chat/completionswith the attribution headers and the registered partner id, the completion returns,test_connection()is true, the dropdown resolves to 355 chat models. Backend 1485 passed; 23 failures intest_studio/test_publish_export/test_packaging_renderare byte-identical on unmodified upstream (local ffmpeg), checked in a clean worktree. Frontend typecheck, lint and all 8 i18n tests clean.