← 竞技场动态
AI 编程与建站实验记录完成 / 成功11 张图片

midudev/itsfree.ai

零费用跑通一次真实 AI 调用:itsfree.ai 本地实测

在本机跑通 itsfree.ai 目录,并用其中的免费接口完成一次可机器核验的结构化抽取:373 tokens、1.69 秒、费用 ¥0,同时记录 3 个真实报错与修复过程。

实验田正式路线

这项项目没有绕过实验田。

01种子区 · 已发现Trending 线索、GitHub 仓库和项目库档案已经绑定。
02种子区 · 已核验固定提交,核对 README、许可、版本、外部服务和数据边界。
03播种区 · 已实测7 次工作记录保留环境、命令、退出码、失败和修复。
04收成区 · 已产出4 项成果与同一实验绑定,阶段状态仍为进行中。
05收获记 · 已公开公开实验页、竞技场摘要与多平台发布证据回到同一条记录。

正文

这份记录

# 收成区 · 实验报告 — it's free*(itsfree.ai) run_id:run-20260910T065908+0800 | policy_sha256:aa0429445627ca9446dce6bdd8319bd151977c3c17f1cb2c0aaec7d0f01617f5 实验日期:2026-09-10(执行跨至 2026-09-11 凌晨)| 机器:macOS 26.6.2 / arm64 / Node v26.8.1 / pnpm 11.19.0 --- ## 一、完整实验报告 ### 1. 这是什么 `itsfree.ai` 是一个**免费运行 AI 模型的途径目录**:收录 25 家「真免费额度」服务商、463 个免费模型,以及 9 个**完全不需要服务商**的本地运行时。它把「哪些模型能白跑、限流多少、Base URL 是什么、要不要注册/绑卡」一次性列清,并标注 `LAST_VERIFIED='2 Sep 2026'`。 数据源不是 CMS,而是仓库里的 TypeScript 文件(`src/data/providers.ts`、`models.ts`、`resources.ts` 等),改文件即改页面。 ### 2. 我们做了什么(真实操作链) | 步骤 | 真实命令/动作 | 结果 | |---|---|---| | 取仓库 | `git clone --depth 1 https://github.com/midudev/itsfree.ai.git` | HEAD `c53a15a8f04394c86b7989e330463702401b9a75`(作者 midudev,2026-09-08) | | 装依赖 | `pnpm install` | 229 个包,12.8s,退出码 0 | | 构建 | `pnpm build` | **75 个页面,3.22s**,退出码 0 | | 启动(第 1 次) | `pnpm dev` | ❌ 失败:Vite `deps_ssr/base-hn_OgmWn.js` 不存在,exit 1 | | 修复 1 | `rm -rf node_modules/.vite` 后重试 | ❌ 同错复现(hash 变 `?v=48e3c013`)→ 判定非缓存问题 | | 修复 2 | 改 `pnpm preview`(跑已构建产物) | ✅ **启动成功,HTTP 200**,`astro ready in 36 ms` | | 取免费端点 | 读 `src/data/providers.ts` 中 `requirement:'none'` 条目 | 7 条:llm7、ovhcloud、vllm、mlx、llamafile、ollama、jan | | 真实调用(1) | llm7 + `model=gpt-oss`,无密钥 | ❌ HTTP 400 `Model 'gpt-oss' is currently unavailable.` | | 真实调用(2) | llm7 + `gpt-5.6-terra`,无密钥 | ❌ HTTP 401 `Missing API key.`(非免费模型需密钥) | | 真实调用(3) | llm7 + `gemma4:31b`,占位密钥 `unused` | ❌ HTTP 401 `invalid_api_key` | | **真实调用(4)** | **llm7 + `codestral-latest`,占位密钥 `unused`** | ✅ **HTTP 200**,真实 completion + token 用量 | | 真实任务 | 结构化抽取(providers → JSON,按 freeModels 降序) | ✅ 输出与真值**逐字段一致** | ### 3. 真实报错与修复(原文留档) **报错 A(启动失败)** ``` The file does not exist at ".../node_modules/.vite/deps_ssr/base-hn_OgmWn.js?v=80264245" which is in the optimize deps directory. The dependency might be incompatible with the dep optimizer. at runInRunnerObject (workers/runner-worker/index.js:107:3) [ELIFECYCLE] Command failed with exit code 1. ``` 原因:`@astrojs/cloudflare` 的 dev SSR 依赖优化器与 Astro 7.3.1 的 `deps_ssr` 产物不兼容(清缓存无效,hash 每次都变)。 修复:改用 `pnpm preview` 运行已构建产物(build 本就成功),走真实 Cloudflare 运行时 → 200。 **报错 B(免费模型下线)** ``` HTTP 400 {"error":{"message":"Model 'gpt-oss' is currently unavailable.","code":"model_unavailable"}} ``` 原因:目录自己的 README 就写明「Free tiers change without warning」——实测当天该免费模型确实已下线。 修复:查 `/v1/models` 实时列表,按 gotchas「匿名仅限 turbo 集合 + 占位密钥 `unused`」改用 `codestral-latest`。 **报错 C(非免费模型需密钥)** ``` HTTP 401 {"error":{"message":"Missing API key.","code":"missing_api_key"}} ``` 原因:同一端点上的非免费模型(如 `gpt-5.6-terra`)要求真实 API key。 修复:不越界、不申请密钥,改用匿名免费集合内的模型完成任务。 ### 4. 可复现命令(干净机器上重跑) ```bash git clone --depth 1 https://github.com/midudev/itsfree.ai.git && cd itsfree.ai pnpm install && pnpm build && pnpm preview # → http://localhost:4321 (HTTP 200) # 一次真实免费调用(无需注册、无需绑卡、无需真实密钥) curl -sS https://api.llm7.io/v1/chat/completions \ -H 'Content-Type: application/json' -H 'Authorization: Bearer unused' \ -d '{"model":"codestral-latest","messages":[{"role":"user","content":"只回复两个字:成功"}],"temperature":0}' ``` --- ## 二、最终结果 - 站点在本机**真实跑通**:`http://localhost:4321/` 返回 HTTP 200,75 个页面构建成功,首页/服务商页/本地运行页均正常渲染(4 张真实截图已存档)。 - 用目录中的**零门槛免费 API**完成了一次真实生成任务,**输出经机器校验与真值完全一致**(6/6 条目、排序正确)。 - 全过程**未支付任何费用、未注册任何账号、未绑定任何卡**。 --- ## 三、输入和输出对比 **输入**(`logs/task-request.json`,732 字符):7 个 `requirement:'none'` 服务商的原始列表(id / baseUrl / freeModels / rateLimit),要求输出按 freeModels 降序的 JSON。 **输出**(`logs/task-response.json`,模型 `codestral-latest`): ```json [{"id":"ovhcloud","freeModels":7},{"id":"llm7","freeModels":5}, {"id":"vllm","freeModels":0},{"id":"mlx","freeModels":0}, {"id":"llamafile","freeModels":0},{"id":"ollama","freeModels":0}] ``` **对比结论**(`logs/task-verification.json`): | 项 | 值 | |---|---| | 真值条目数 | 6 | | 模型输出条目数 | 6 | | 字段与排序是否完全一致 | **是(match=true)** | | 输入 tokens | 272 | | 输出 tokens | 101 | | 合计 tokens | 373 | | 本次费用 | **¥0(免费额度)** | | 耗时 | 1.69s(curl 实测) | **速度/步骤对比**:手工逐家比对 7 条服务商的限流与模型数并排序,人工约需 3–5 分钟且易漏;本流程 = 1 次调用 1.69 秒,成本 0 元。 **能力边界(如实记录)**:同一免费模型在被问「该项目解决什么问题」时给出了**错误回答**(答成「帮助开发者快速验证域名是否可用」)。免费额度换来的是下限能力的模型——**能省钱的场景与需要高准确率的场景要分开用**。 --- ## 四、使用步骤 1. 访问 https://itsfree.ai 或按上文命令在本地跑起站点。 2. 用筛选器选 `no sign-up` / `no card` / `openai-compatible`,或直接进 `/local` 看免服务商运行时。 3. 点进目标服务商页(如 `/provider/llm7`),抄走 **Base URL + 示例模型 + 环境变量名**。 4. 读该页 `gotchas`(本实验最大的坑全在这里:占位密钥 `unused`、匿名只限 turbo 集合、哪些模型已下线)。 5. 用任意 OpenAI 兼容客户端指向该 Base URL 调用;先跑一次最小请求确认额度可用。 6. 生产前注意:免费额度会随时变化(站点自己会标注 `LAST_VERIFIED`,超过时效需自行复核)。 --- ## 五、使用者收益 - **省钱可量化**:轻量调用场景下,把月费订阅/按 token 计费替换为免费额度,直接成本为 0。单次结构化抽取(373 tokens)在付费路径上是真金白银,这里 ¥0。 - **省时间**:把「翻 25 家文档找限流和 Base URL」压缩成一次搜索 + 一次复制;本实验里「找出全部零门槛服务商并排序」用了 1.69 秒。 - **零门槛验证**:`requirement:'none'` 的 7 家无需注册、无需绑卡即可调用,适合先验证想法再决定要不要付费。 --- ## 六、替代价值 | 被替代对象 | 原来要付的代价 | 现在 | |---|---|---| | ChatGPT Plus / Claude Pro 等月费(用于轻量调用) | 每月固定订阅费 | ¥0(免费额度路径) | | 付费 API 按 token 计费 | 按量付费 | ¥0(本次 373 tokens) | | 本机跑模型(需 GPU + 下载权重) | 显卡成本 + 数十 GB 下载 | 目录里 9 个本地运行时任选,或直接用免费云额度 | | 人工搜集维护「免费额度」资料 | 反复查文档、资料常年过期 | 该目录本身,TS 数据文件 + `LAST_VERIFIED` 标注 | --- ## 七、缺点 1. **免费额度不稳定**:实测当天 `gpt-oss` 已下线;站点 README 自己就写「Free tiers change without warning」。 2. **匿名档能力弱**:匿名免费集合多为小模型,实测对项目事实性问题回答错误。 3. **开发服务器跑不起来**:`pnpm dev` 与 Cloudflare adapter 有真实兼容问题,只能 `pnpm build && pnpm preview`。 4. **数据靠人工维护**:`LAST_VERIFIED` 是「2 Sep 2026」,之后的变化无人自动同步。 5. **无 SPDX 许可证声明**:仓库 README 未见明确许可条款(本报告不擅自补写)。 6. **示例模型可能过期**:文档写的 `exampleModel: 'gpt-oss'` 实际已不可用,必须查实时 `/models`。 --- ## 八、实验风险(一句话) 本次实验的风险只在采集与记录环节——免费额度随时变动、示例模型会过期、开发服务器与 Cloudflare 适配器存在兼容问题,需以 `pnpm preview` 与实时模型列表为准,不依赖文档快照。 --- ## 九、可下载文件 | 文件 | 说明 | |---|---| | `logs/planting-log.md` | 播种区全过程流水(时间/环境/命令/结果/报错/修复) | | `logs/pnpm-install.log`、`logs/pnpm-build.log` | 安装与构建原始输出 | | `logs/dev-server.log`、`dev-server-retry.log` | 两次 `pnpm dev` 失败原文 | | `logs/preview-server.log` | 修复后 preview 启动日志(含 200 服务) | | `logs/llm7-models.json` | 实时模型列表(45 个) | | `logs/task-request.json` / `task-response.json` / `task-verification.json` | 真实任务输入、输出、机器校验 | | `logs/llm7-*.json` | 4 次真实调用的原始请求/响应(含 2 次报错) | | `shots/01-home.png` 等 4 张 | 本地站点真实渲染截图(含 SHA-256) | | `logs/shots-sha256.txt` | 截图哈希清单 | | `seed-zone.md` | 种子区登记 |

01 · 问题

我想解决什么

想给脚本接 AI,最先拦住人的不是代码,而是费用与信息差:哪家有真免费额度、限流多少、Base URL 怎么填、要不要绑卡,这些信息散落在不同文档且随时会变。为了验证一个小想法先开月费订阅,成本不低。

02 · 过程

我是怎样做的

① git clone(HEAD c53a15a8,作者 midudev);② pnpm install 229 包 12.8s;③ pnpm build 75 页 3.22s;④ pnpm dev 两次失败(Vite deps_ssr 文件缺失,清缓存无效);⑤ 改用 pnpm preview,本地 HTTP 200,ready in 36ms;⑥ 读取 providers.ts 中 requirement:'none' 的条目,选 llm7(https://api.llm7.io/v1);⑦ 真实调用:gpt-oss 返回 model_unavailable,非匿名模型返回密钥错误,最终 codestral-latest + 占位密钥返回 HTTP 200。

03 · 结果

实际发生了什么

真实任务:把 6 条服务商数据按 freeModels 降序抽成 JSON。模型输出 6 条,程序逐字段校验 match=true。本次 272 输入 + 101 输出 = 373 tokens,curl 实测 1.69 秒,费用 ¥0。人工逐家比对约需 3–5 分钟且易漏。

04 · 避坑

哪些地方值得注意

1) 免费额度会变:文档里的示例模型 gpt-oss 当天已不可用;2) 匿名档只限 turbo 集合且需带占位密钥,其他模型要真密钥;3) 开发服务器与 Cloudflare 适配器不兼容,pnpm dev 起不来,需用 pnpm build + pnpm preview;4) 同一免费模型回答项目事实时出错(说成『验证域名』),说明免费路径适合可机器校验的抽取,不适合高准确率事实问答。

05 · 最终评价

这次实验的结论

itsfree.ai 是有效的『先发现、再验证』入口:把分散的免费入口集中到一条可核验路径。免费额度与示例模型会变化,使用与发布前必须复核实时模型列表。

实验日志时间线

这项实验是怎样一步步做出来的。

  1. 01
    第1次工作 · 获取仓库与安装依赖

    git clone --depth 1 https://github.com/midudev/itsfree.ai.git 取得官方仓库,HEAD 提交 c53a15a8f04394c86b7989e330463702401b9a75(作者 Miguel Ángel Durán / midudev,2026-09-08)。随后 pnpm install:解析 229 个包,Lockfile 通过供应链策略校验(378 条),新增 229 个依赖,含 esbuild/workerd postinstall。耗时 12.8 秒,正常结束。

  2. 02
    第2次工作 · 构建站点(75 页)

    pnpm build 使用 Astro 7.3.1 + @astrojs/cloudflare 14.3.0 构建,产出 75 个页面(含 25 个服务商页、30+ 个模型页与全部索引页),耗时 3.22 秒;同时注入 /_astro/* 的 immutable Cache-Control 并生成 sitemap-index.xml。

  3. 03
    第3次工作 · 开发服务器启动失败(真实报错)

    pnpm dev 首次启动失败,退出码 1。Vite 依赖优化器引用不存在的 chunk:The file does not exist at "node_modules/.vite/deps_ssr/base-hn_OgmWn.js?v=80264245" which is in the optimize deps directory,堆栈位于 workers/runner-worker/index.js。健康检查 localhost:4321/4322/3000 全部无响应,服务未起来。

  4. 04
    第4次工作 · 清缓存重试仍失败(排除旧缓存假设)

    删除 node_modules/.vite 后重试 pnpm dev,同一错误复现,仅查询串 hash 变为 ?v=48e3c013。据此排除『旧缓存』这一假设,判定根因是 @astrojs/cloudflare 的 dev SSR 依赖优化器与 Astro 7.3.1 的 deps_ssr 产物不兼容。

  5. 05
    第5次工作 · 改用 pnpm preview 跑通(修复成功)

    改用 pnpm preview 运行已构建产物(不依赖 dev SSR 优化器)。Astro 在 36 毫秒内 ready,本地地址 http://localhost:4321/ 返回 HTTP 200,四个真实页面(首页、服务商页、本地运行时页、免注册页)均完成真实渲染并截图存档。

  6. 06
    第6次工作 · 真实免费 API 调用(3 次失败后成功)

    读取 src/data/providers.ts 中 requirement:'none' 的 7 个条目,选 llm7(https://api.llm7.io/v1)做真实调用。第1轮 gpt-oss 返回 HTTP 400 model_unavailable(文档示例模型当天已下线);第2轮非免费模型返回 HTTP 401 missing_api_key;第3轮 gemma4:31b 配占位密钥返回 401 invalid_api_key;第4轮按页面 gotchas 改用匿名集合内的 codestral-latest + 占位密钥 unused,返回 HTTP 200 并取得真实 completion 与 token 用量。全程未申请真实密钥。

  7. 07
    第7次工作 · 真实任务与机器校验(match=true)

    用免费模型完成一项可机器核验的真实任务:把 6 条零门槛服务商数据按 freeModels 降序抽成 JSON。模型输出 6 条,由脚本与预先从源数据取得的真值逐字段比对,结果完全一致(match=true)。本次用 272 输入 tokens + 101 输出 tokens = 373 tokens,curl 实测 1.69 秒,费用 ¥0。

收成区 · 与本实验绑定

报告、长文、视频材料和下载包都从上面的日志长出来。

“已产出”表示内容和文件已经形成,不代表核心 3D 界面的端到端验收已经通过。本实验仍保留为“进行中”。

实验报告 · 已公开

实验报告 · itsfree.ai 本地实测(含 3 个真实报错与修复)

# 收成区 · 实验报告 — it's free*(itsfree.ai) run_id:run-20260910T065908+0800 | policy_sha256:aa0429445627ca9446dce6bdd8319bd151977c3c17f1cb2c0aaec7d0f01617f5 实验日期:2026-09-10(执行跨至 2026-09-11 凌晨)| 机器:macOS 26.6.2 / arm64 / Node v26.8.1 / pnpm 11.19.0 --- ## 一、完整实验报告 ### 1. 这是什么 `itsfree.ai` 是一个**免费运行 AI 模型的途径目录**:收录 25 家「真免费额度」服务商、463 个免费模型,以及 9 个**完全不需要服务商**的本地运行时。它把「哪些模型能白跑、限流多少、Base URL 是什么、要不要注册/绑卡」一次性列清,并标注 `LAST_VERIFIED='2 Sep 2026'`。 数据源不是 CMS,而是仓库里的 TypeScript 文件(`src/data/providers.ts`、`models.ts`、`resources.ts` 等),改文件即改页面。 ### 2. 我们做了什么(真实操作链) | 步骤 | 真实命令/动作 | 结果 | |---|---|---| | 取仓库 | `git clone --depth 1 https://github.com/midudev/itsfree.ai.git` | HEAD `c53a15a8f04394c86b7989e330463702401b9a75`(作者 midudev,2026-09-08) | | 装依赖 | `pnpm install` | 229 个包,12.8s,退出码 0 | | 构建 | `pnpm build` | **75 个页面,3.22s**,退出码 0 | | 启动(第 1 次) | `pnpm dev` | ❌ 失败:Vite `deps_ssr/base-hn_OgmWn.js` 不存在,exit 1 | | 修复 1 | `rm -rf node_modules/.vite` 后重试 | ❌ 同错复现(hash 变 `?v=48e3c013`)→ 判定非缓存问题 | | 修复 2 | 改 `pnpm preview`(跑已构建产物) | ✅ **启动成功,HTTP 200**,`astro ready in 36 ms` | | 取免费端点 | 读 `src/data/providers.ts` 中 `requirement:'none'` 条目 | 7 条:llm7、ovhcloud、vllm、mlx、llamafile、ollama、jan | | 真实调用(1) | llm7 + `model=gpt-oss`,无密钥 | ❌ HTTP 400 `Model 'gpt-oss' is currently unavailable.` | | 真实调用(2) | llm7 + `gpt-5.6-terra`,无密钥 | ❌ HTTP 401 `Missing API key.`(非免费模型需密钥) | | 真实调用(3) | llm7 + `gemma4:31b`,占位密钥 `unused` | ❌ HTTP 401 `invalid_api_key` | | **真实调用(4)** | **llm7 + `codestral-latest`,占位密钥 `unused`** | ✅ **HTTP 200**,真实 completion + token 用量 | | 真实任务 | 结构化抽取(providers → JSON,按 freeModels 降序) | ✅ 输出与真值**逐字段一致** | ### 3. 真实报错与修复(原文留档) **报错 A(启动失败)** ``` The file does not exist at ".../node_modules/.vite/deps_ssr/base-hn_OgmWn.js?v=80264245" which is in the optimize deps directory. The dependency might be incompatible with the dep optimizer. at runInRunnerObject (workers/runner-worker/index.js:107:3) [ELIFECYCLE] Command failed with exit code 1. ``` 原因:`@astrojs/cloudflare` 的 dev SSR 依赖优化器与 Astro 7.3.1 的 `deps_ssr` 产物不兼容(清缓存无效,hash 每次都变)。 修复:改用 `pnpm preview` 运行已构建产物(build 本就成功),走真实 Cloudflare 运行时 → 200。 **报错 B(免费模型下线)** ``` HTTP 400 {"error":{"message":"Model 'gpt-oss' is currently unavailable.","code":"model_unavailable"}} ``` 原因:目录自己的 README 就写明「Free tiers change without warning」——实测当天该免费模型确实已下线。 修复:查 `/v1/models` 实时列表,按 gotchas「匿名仅限 turbo 集合 + 占位密钥 `unused`」改用 `codestral-latest`。 **报错 C(非免费模型需密钥)** ``` HTTP 401 {"error":{"message":"Missing API key.","code":"missing_api_key"}} ``` 原因:同一端点上的非免费模型(如 `gpt-5.6-terra`)要求真实 API key。 修复:不越界、不申请密钥,改用匿名免费集合内的模型完成任务。 ### 4. 可复现命令(干净机器上重跑) ```bash git clone --depth 1 https://github.com/midudev/itsfree.ai.git && cd itsfree.ai pnpm install && pnpm build && pnpm preview # → http://localhost:4321 (HTTP 200) # 一次真实免费调用(无需注册、无需绑卡、无需真实密钥) curl -sS https://api.llm7.io/v1/chat/completions \ -H 'Content-Type: application/json' -H 'Authorization: Bearer unused' \ -d '{"model":"codestral-latest","messages":[{"role":"user","content":"只回复两个字:成功"}],"temperature":0}' ``` --- ## 二、最终结果 - 站点在本机**真实跑通**:`http://localhost:4321/` 返回 HTTP 200,75 个页面构建成功,首页/服务商页/本地运行页均正常渲染(4 张真实截图已存档)。 - 用目录中的**零门槛免费 API**完成了一次真实生成任务,**输出经机器校验与真值完全一致**(6/6 条目、排序正确)。 - 全过程**未支付任何费用、未注册任何账号、未绑定任何卡**。 --- ## 三、输入和输出对比 **输入**(`logs/task-request.json`,732 字符):7 个 `requirement:'none'` 服务商的原始列表(id / baseUrl / freeModels / rateLimit),要求输出按 freeModels 降序的 JSON。 **输出**(`logs/task-response.json`,模型 `codestral-latest`): ```json [{"id":"ovhcloud","freeModels":7},{"id":"llm7","freeModels":5}, {"id":"vllm","freeModels":0},{"id":"mlx","freeModels":0}, {"id":"llamafile","freeModels":0},{"id":"ollama","freeModels":0}] ``` **对比结论**(`logs/task-verification.json`): | 项 | 值 | |---|---| | 真值条目数 | 6 | | 模型输出条目数 | 6 | | 字段与排序是否完全一致 | **是(match=true)** | | 输入 tokens | 272 | | 输出 tokens | 101 | | 合计 tokens | 373 | | 本次费用 | **¥0(免费额度)** | | 耗时 | 1.69s(curl 实测) | **速度/步骤对比**:手工逐家比对 7 条服务商的限流与模型数并排序,人工约需 3–5 分钟且易漏;本流程 = 1 次调用 1.69 秒,成本 0 元。 **能力边界(如实记录)**:同一免费模型在被问「该项目解决什么问题」时给出了**错误回答**(答成「帮助开发者快速验证域名是否可用」)。免费额度换来的是下限能力的模型——**能省钱的场景与需要高准确率的场景要分开用**。 --- ## 四、使用步骤 1. 访问 https://itsfree.ai 或按上文命令在本地跑起站点。 2. 用筛选器选 `no sign-up` / `no card` / `openai-compatible`,或直接进 `/local` 看免服务商运行时。 3. 点进目标服务商页(如 `/provider/llm7`),抄走 **Base URL + 示例模型 + 环境变量名**。 4. 读该页 `gotchas`(本实验最大的坑全在这里:占位密钥 `unused`、匿名只限 turbo 集合、哪些模型已下线)。 5. 用任意 OpenAI 兼容客户端指向该 Base URL 调用;先跑一次最小请求确认额度可用。 6. 生产前注意:免费额度会随时变化(站点自己会标注 `LAST_VERIFIED`,超过时效需自行复核)。 --- ## 五、使用者收益 - **省钱可量化**:轻量调用场景下,把月费订阅/按 token 计费替换为免费额度,直接成本为 0。单次结构化抽取(373 tokens)在付费路径上是真金白银,这里 ¥0。 - **省时间**:把「翻 25 家文档找限流和 Base URL」压缩成一次搜索 + 一次复制;本实验里「找出全部零门槛服务商并排序」用了 1.69 秒。 - **零门槛验证**:`requirement:'none'` 的 7 家无需注册、无需绑卡即可调用,适合先验证想法再决定要不要付费。 --- ## 六、替代价值 | 被替代对象 | 原来要付的代价 | 现在 | |---|---|---| | ChatGPT Plus / Claude Pro 等月费(用于轻量调用) | 每月固定订阅费 | ¥0(免费额度路径) | | 付费 API 按 token 计费 | 按量付费 | ¥0(本次 373 tokens) | | 本机跑模型(需 GPU + 下载权重) | 显卡成本 + 数十 GB 下载 | 目录里 9 个本地运行时任选,或直接用免费云额度 | | 人工搜集维护「免费额度」资料 | 反复查文档、资料常年过期 | 该目录本身,TS 数据文件 + `LAST_VERIFIED` 标注 | --- ## 七、缺点 1. **免费额度不稳定**:实测当天 `gpt-oss` 已下线;站点 README 自己就写「Free tiers change without warning」。 2. **匿名档能力弱**:匿名免费集合多为小模型,实测对项目事实性问题回答错误。 3. **开发服务器跑不起来**:`pnpm dev` 与 Cloudflare adapter 有真实兼容问题,只能 `pnpm build && pnpm preview`。 4. **数据靠人工维护**:`LAST_VERIFIED` 是「2 Sep 2026」,之后的变化无人自动同步。 5. **无 SPDX 许可证声明**:仓库 README 未见明确许可条款(本报告不擅自补写)。 6. **示例模型可能过期**:文档写的 `exampleModel: 'gpt-oss'` 实际已不可用,必须查实时 `/models`。 --- ## 八、实验风险(一句话) 本次实验的风险只在采集与记录环节——免费额度随时变动、示例模型会过期、开发服务器与 Cloudflare 适配器存在兼容问题,需以 `pnpm preview` 与实时模型列表为准,不依赖文档快照。 --- ## 九、可下载文件 | 文件 | 说明 | |---|---| | `logs/planting-log.md` | 播种区全过程流水(时间/环境/命令/结果/报错/修复) | | `logs/pnpm-install.log`、`logs/pnpm-build.log` | 安装与构建原始输出 | | `logs/dev-server.log`、`dev-server-retry.log` | 两次 `pnpm dev` 失败原文 | | `logs/preview-server.log` | 修复后 preview 启动日志(含 200 服务) | | `logs/llm7-models.json` | 实时模型列表(45 个) | | `logs/task-request.json` / `task-response.json` / `task-verification.json` | 真实任务输入、输出、机器校验 | | `logs/llm7-*.json` | 4 次真实调用的原始请求/响应(含 2 次报错) | | `shots/01-home.png` 等 4 张 | 本地站点真实渲染截图(含 SHA-256) | | `logs/shots-sha256.txt` | 截图哈希清单 | | `seed-zone.md` | 种子区登记 |

长文章 · 已公开

长文章 · 零费用跑通一次真实 AI 调用

# 免费 AI 接口真正省下的不是 token:我用一次实测找到了它的使用边界 给脚本、网页或个人工具接入 AI,最先消耗的往往不是 token,而是判断成本:哪家允许免费试用,是否必须注册或绑卡,Base URL 在哪里,文档里的模型今天还在不在。开一个付费套餐当然能绕过部分选择,但对尚未证明有用的原型来说,这等于在验证想法之前先承担固定成本。 这次我们测试了 Miguel Ángel Durán(GitHub 用户名 `midudev`)创建的开源项目 `it's free*`。项目站点是 `https://itsfree.ai`,官方仓库是 `https://github.com/midudev/itsfree.ai`。它没有替用户转发模型请求,而是把分散的免费服务商、模型、本地运行入口和必要条件整理成可筛选目录。 实验最终得到两个看似矛盾、其实很有价值的结果:同一个免费模型把 6 条结构化数据全部答对,机器逐字段核验一致;但当它回答“这个项目解决什么问题”时,却给出了与仓库无关的错误事实。这个对比帮助我们划出一条比“免费模型好不好用”更具体的边界:有明确输入、可计算真值和自动校验的任务,可以低成本尝试;需要高事实准确率的开放式问答,不能把语言流畅当作正确。 本文不把一次成功包装成永久免费的承诺。它要回答的是:itsfree.ai 实际替使用者省下了哪段工作,怎样从目录走到真实调用,以及观众现在能用哪两个动作判断一个免费入口值不值得继续投入。 ## 一、itsfree.ai 替代的是分散查资料,而不是付费模型本身 实验时,项目页面展示了 25 家提供免费额度的服务商、463 个免费模型和 9 个本地运行时。服务商与模型信息主要保存在仓库的 TypeScript 数据文件里,再由页面提供 no sign-up、no card、OpenAI-compatible 等筛选条件。进入具体服务商页,还能看到 Base URL、示例模型、环境变量名和 gotchas。 这套设计的价值不在数字大,而在于把首次尝试所需的信息放到同一个决策界面里。过去需要分别打开搜索结果、服务商文档和模型列表,才能拼出一个候选;现在可以先按自己的条件缩小范围,再去服务商现场核实。这减少的是从零建立候选清单的重复劳动。 但必须区分目录记录和本次实测。页面显示 463 个免费模型,不代表我们逐个调用了 463 个模型;9 个本地运行时也不代表它们都在本机完成安装。目录负责发现候选,实时接口与真实任务负责验证候选。把这两层证据分开,才不会把“页面里存在”误写成“今天一定可用”。 ## 二、本地跑通证明目录可用,也暴露了开发模式的真实边界 我们在 macOS 26.6.2、arm64、Node v26.8.1 和 pnpm 11.19.0 环境中运行仓库指定提交。依赖安装与构建均成功,构建生成 75 个页面。真正的阻碍出现在 `pnpm dev`:Vite 报告 `node_modules/.vite/deps_ssr` 下的目标文件不存在,并提示依赖可能与优化器不兼容。 第一次报错后,我们删除 `.vite` 缓存再试。错误仍然出现,只是文件后的 hash 查询串改变。这次复现排除了“简单清缓存即可修好”的解释,也提醒我们:重新执行命令不是修复证据,只有结果发生变化并通过检查才算修复。 可用路径来自已经完成的构建产物。改用 `pnpm preview` 后,本地站点返回 HTTP 200,首页、llm7 服务商页、本地运行页和免注册筛选页都完成真实渲染。这个结果足以支持后续目录浏览,却不能被写成 `pnpm dev` 已恢复。对希望复现页面的读者,当前实测成功路径是安装、构建、preview;开发模式的兼容问题仍应与它分开描述。 这里有一个常被忽略的判断:开源项目的价值不只取决于“默认命令是否一次成功”。如果失败原因被保留、替代路径与原机制区分清楚,并且最终页面能够回读,那么使用者仍可完成当前目标。可信实验不是隐去报错,而是明确报错影响了什么、没有影响什么。 ## 三、文档示例已经失效,实时列表才把我们带到成功结果 页面跑通后,我们从目录中的 llm7 条目继续验证。它提供 OpenAI 兼容地址 `https://api.llm7.io/v1`,页面 gotchas 也说明了匿名集合和占位密钥相关条件。 第一次照文档示例选择 `gpt-oss`,服务返回 HTTP 400 和 `model_unavailable`。换到另一个模型,无密钥请求返回 `missing_api_key`;另一轮使用占位密钥仍得到 `invalid_api_key`。这些错误说明两个事实:文档模型可能随免费层变化而下线;同一端点中的模型也不一定共享相同的匿名条件。 真正有效的修复不是继续猜模型名,而是回到服务现场查询 `/v1/models` 实时列表,再结合 gotchas 选择 `codestral-latest`,Authorization 使用占位值 `unused`。这一次返回 HTTP 200。 从失败到成功的关键不是多试了几次,而是诊断信息发生了变化:目录帮助定位服务商,gotchas 说明特殊条件,实时列表纠正文档时效,最小请求最后确认端点。由此得到一条可迁移的路径:筛选候选,阅读 gotchas,查询实时模型列表,再发最小请求。免费额度和模型名会变化,这个验证顺序比一份固定名单更耐用。 ## 四、接口返回 200 不等于完成了有价值的工作 只让模型回复“你好”或“成功”,最多证明接口还能回应,不能回答它是否适合真实任务。为此,我们把输入设计成一组服务商记录,字段包括 id、Base URL、免费模型数和限流信息,要求模型仅输出 id 与 `freeModels`,并按免费模型数降序排列成 JSON。 模型输出 6 个条目:`ovhcloud` 为 7,`llm7` 为 5,`vllm`、`mlx`、`llamafile`、`ollama` 均为 0。独立校验程序从源数据生成真值,再比较条目数、字段值和排序。模型输出与真值同为 6 条,每个字段和顺序一致,最终记录为 `match=true`。 本次调用使用 272 个输入 tokens 和 101 个输出 tokens,共 373 tokens;curl 实测耗时 1.69 秒,费用记录为 0 元。这些数字之所以值得写,不是因为它们看起来漂亮,而是它们共同支持一个判断:对这一个结构化任务,免费端点完成了真实工作,且结果能够由程序判定,而不只是由人凭感觉认可。 与人工逐家查看再手动排序相比,已跑通流程把重复比对变成一次模型处理和一次自动检查。实验材料曾估计人工完成这次明确任务约需 3 到 5 分钟;1.69 秒则是本次网络调用的实测耗时。两者的口径并不完全相同,因此不能扩写成“所有工作都提速上百倍”。更稳妥的结论是:当字段和真值已知时,机器校验可以替代人工逐项复核的主要部分。 这也是免费模型最值得尝试的地方。费用降低让小样本原型更容易启动,自动校验则防止“便宜但答错”悄悄进入下一步。省下的不是所有人工,而是可以被规则明确表达、被程序重复检查的那部分工作。 ## 五、同一模型答错项目事实,反而让成功结果更有意义 为了检验开放式事实回答,我们又问同一个模型这个项目解决什么问题。它回答:“帮助开发者快速验证域名是否可用。”这与 itsfree.ai 的仓库、页面和实际机制都无关。 如果只保留前面的 `match=true`,很容易把一次结构化成功泛化成模型“准确可靠”;如果只保留这次事实错误,又会忽略它确实完成了可验证的数据任务。两项结果放在一起,才形成可行动的判断:任务结构决定了免费模型的可用方式。 结构化抽取有清楚输入、有限字段和可计算真值,模型犯错时程序可以发现。开放式项目理解依赖上下文识别和事实判断,一段语法正确的回答并没有内置验真机制。因而,免费路径优先适合分类、格式转换、可校验抽取和原型阶段的小样本;涉及项目事实、外部知识或高准确率结论时,应回到原仓库和可靠来源核对,或者选择更适合的模型与服务路径。 这不是给所有免费模型贴上同一个标签,也不是劝退使用者。恰恰相反,明确边界后,使用免费模型会更有效:把它放在容易发现错误的位置,而不是要求它独自承担无法复核的判断。 ## 六、观众现在可以立即做的两个动作 第一个动作是用自己的真实条件筛选一个候选,而不是先比较所有套餐。打开 `https://itsfree.ai`,如果不想注册,就从 no-sign-up 页面开始;已有 OpenAI 兼容客户端,就查看 OpenAI-compatible;想在本机运行,则进入 local 页面。进入候选服务商后,只记录四类信息:Base URL、示例模型、环境变量名和 gotchas。这样得到的是一张与你当前条件匹配的最小候选卡,而不是一份庞大但无法行动的清单。 第二个动作是用最小业务请求验证额度和结果。发布前先查实时模型列表,不要默认文档模型仍可用;然后发送一个足够代表真实用途、但规模很小的请求,同时保存 HTTP 状态与原始响应。如果输出是结构化数据,就检查 JSON 格式、必填字段、条目数和排序;如果涉及事实,就附上来源并逐项核对。验证通过后,再决定是否扩大样本、迁移业务或选择付费方案。 这两个动作把“免费吗”改写成更有用的问题:“在我当前条件下,这个入口能否完成一个可以验真的最小任务?”答案不再依赖宣传语,而来自实时列表、原始响应和校验结果。 需要保留的一句实验风险是:免费额度和示例模型会变化,复现与发布都应以当时的实时列表和原始日志为准。 ## 七、从结果看,itsfree.ai 最可靠的价值是什么 对原作者而言,项目真正值得传播的不是“免费模型数量很多”这一句,而是把分散信息变成结构化、可筛选、可共同维护的开源目录。本文保留作者身份、官方仓库和工作机制,没有把实验室写成模型服务商,也没有把目录中的记录冒充逐项实测。 对观众而言,收益是一条今天就能执行的决策路径。先按条件筛选,再读 gotchas、查实时列表、发最小请求、增加机器校验。它既允许低成本尝试,也能在输出不可靠时尽早发现问题。与先开订阅再寻找用途相比,这条路径把“验证想法”和“决定付费”拆成两个阶段。 对我们而言,这次实验最有价值的不是得到一次 HTTP 200,而是得到一个有边界的判断。`codestral-latest` 在 6 条服务商数据抽取中逐字段一致,却在项目事实问答中明显出错。这比笼统评价“模型很好”或“免费模型不可靠”更接近真实使用:对可校验任务积极采用,对不可校验结论增加来源核对。 最终结论是明确而积极的:itsfree.ai 在本次环境中成功构建并通过 preview 返回 HTTP 200,目录线索也实际带我们完成了一次 373 tokens、1.69 秒、费用记录为 0 元的结构化调用,6 条结果机器核验一致。它有效缩短了从“我想试一个 AI 功能”到“我拿到可验证结果”的距离。 如果你正在做 AI 原型,下一步不必先购买套餐,也不必收藏更多免费模型名单。先打开 itsfree.ai,选一个符合条件的入口;再用最小请求和自动检查证明它能完成你的那一小段工作。真正可复用的不是某个今天免费的模型,而是把低成本尝试与证据核验放在一起的方法。 ## 配图位置与来源 1. 文首:`shots/01-home.png`,本次本地首页真实渲染。 2. “分散查资料”段后:`shots/04-no-signup.png`,免注册筛选真实画面。 3. “实时列表”段:`shots/02-provider-llm7.png`,llm7 服务商页真实画面。 4. “两个动作”段:`shots/03-local-runtime.png`,本地运行入口真实画面。 5. 结果对比图从 `logs/task-request.json`、`task-response.json`、`task-verification.json` 生成,必须明确标注为由实验文件制作,不冒充产品界面。 ## 引用与事实文件 - 官方仓库:https://github.com/midudev/itsfree.ai - 项目站点:https://itsfree.ai - 本次实验报告:`experiments/2026-09-10-itsfree-ai/harvest-experiment-report.md` - 播种记录:`experiments/2026-09-10-itsfree-ai/logs/planting-log.md` - 机器校验:`experiments/2026-09-10-itsfree-ai/logs/task-verification.json` - 截图哈希:`experiments/2026-09-10-itsfree-ai/logs/shots-sha256.txt` 实际字数:5459 字(机器复核口径:UTF-8 文本字符总数,`wc -m`)。

视频制作包 · 已公开

视频制作包 · 口播稿(八段)+ 十五类画面对照表

# itsfree.ai 口播稿(录音版) 版本:2026-09-11 收成区初稿 事实基线:`experiments/2026-09-10-itsfree-ai/harvest-experiment-report.md` ## 一、具体痛点 想给自己的小工具接一个 AI 模型,最先拦住人的往往不是代码,而是费用和信息差。哪家有真正的免费额度,限流是多少,Base URL 怎么填,要不要注册、要不要绑卡,这些信息散落在不同文档里,而且随时会变。为了验证一个小想法,先开月费订阅,或者逐家翻文档、试接口,成本都不低。 ## 二、前十秒钩子 这次我把一个收集免费 AI 模型入口的开源项目真实跑了起来,还用其中一个免费接口,在 1.69 秒内完成了 373 tokens 的结构化抽取,机器校验逐字段一致,本次调用费用是零元。过程中也连续遇到模型下线、密钥错误和开发服务器启动失败,我把成功路径完整保留下来了。 ## 三、明确承诺 接下来我会用真实日志说明三件事:这个目录怎样把分散的免费入口放在一起;怎样从页面信息走到一次真实 API 调用;以及免费路径适合拿来做什么、使用前要复核什么。看完以后,你可以照着同一条路径,先用最小请求验证自己的 AI 想法,再决定要不要投入付费资源。 ## 四、项目、原作者与工作机制 项目叫 `it's free*`,仓库是 `midudev/itsfree.ai`,原作者是 Miguel Ángel Durán,也就是 GitHub 上的 `midudev`。它不是一个替你调用所有模型的中转站,而是一份可以筛选和核对的免费运行途径目录。实验时的页面数据显示,它收录了 25 家有免费额度的服务商、463 个免费模型,以及 9 个不需要服务商的本地运行时。 它的工作机制很直接:服务商、模型和资源数据写在仓库的 TypeScript 文件里,页面按注册要求、是否绑卡、接口兼容方式等条件展示。点进某个服务商页,可以看到 Base URL、示例模型、环境变量名和 gotchas。这里最有价值的不是“免费”两个字,而是把开始调用所需的信息放进了同一条查找路径。门槛只需一句:本地构建需要 Node 22.12 以上与 pnpm。 ## 五、真实实验 我在一台 arm64 Mac 上执行实验,系统是 macOS 26.6.2,Node v26.8.1,pnpm 11.19.0。拉取的是仓库提交 `c53a15a8f04394c86b7989e330463702401b9a75`。 先运行 `pnpm install`,安装 229 个包,用时 12.8 秒;再运行 `pnpm build`,成功构建 75 个页面,用时 3.22 秒。第一次执行 `pnpm dev` 没有启动成功。Vite 报错说 `node_modules/.vite/deps_ssr` 里的依赖文件不存在,并提示依赖可能与优化器不兼容。我先删除 `.vite` 缓存再试,错误仍然出现,只是查询串的 hash 发生了变化,所以这不是一次简单的旧缓存问题。随后改用 `pnpm preview` 运行已经构建好的产物,Astro 在 36 毫秒内 ready,本地地址返回 HTTP 200,首页、llm7 服务商页、本地运行页和免注册筛选页都真实渲染出来。 站点跑通以后,我从 `providers.ts` 中查看 `requirement: 'none'` 的条目,再选择 llm7 的 OpenAI 兼容地址 `https://api.llm7.io/v1` 做真实调用。第一轮使用文档示例 `gpt-oss`,服务返回 HTTP 400:这个模型当前不可用。第二轮试了不在匿名免费集合里的 `gpt-5.6-terra`,返回 HTTP 401,提示缺少 API key。另一轮 `gemma4:31b` 配占位密钥也返回 `invalid_api_key`。我没有申请新密钥,也没有把错误藏掉,而是读取实时模型列表,按照页面 gotchas 改用匿名集合里的 `codestral-latest`,并使用占位密钥 `unused`,最终得到 HTTP 200。 真实任务不是只让模型回复一句“成功”。我输入了服务商原始列表中的 id、Base URL、免费模型数和限流信息,要求模型抽取 id 与 freeModels,并按免费模型数降序输出 JSON。返回结果随后交给机器脚本,与预先从源数据得到的真值逐字段比对。 ## 六、结果与对比 最终输出是六个条目:`ovhcloud` 有 7 个免费模型,`llm7` 有 5 个,`vllm`、`mlx`、`llamafile` 和 `ollama` 都是 0。机器校验显示真值条目数为 6,模型输出也是 6,字段与排序完全一致,`match=true`。 这次请求使用 272 个输入 tokens、101 个输出 tokens,总计 373 tokens;curl 实测耗时 1.69 秒,本次费用为零元。对照报告里记录的人工方式,逐家比对服务商信息再排序,估计要 3 到 5 分钟;这次已跑通的流程是一轮调用加一次机器核验。这里比较的是本次明确任务的步骤和实测耗时,不把它扩展成所有任务都能同样快。 承诺的三点也在这里逐项兑现:目录通过页面与 TypeScript 数据把入口集中起来;Base URL、实时模型列表、占位密钥和最小请求组成了可复现调用路径;真实成功结果说明它适合先验证结构化抽取一类轻量想法。同时,本次还有一个必须保留的观察:同一个免费模型回答“这个项目解决什么问题”时,答成了验证域名是否可用,事实错误。因此,低成本试验和高准确率事实任务应当分开判断。 ## 七、观众利益、场景与思考 对个人开发者、学生和小团队,这个项目最直接的帮助是把“先付钱”改成“先验证”。你可以先筛选 no sign-up、no card 或 OpenAI-compatible,进入服务商详情页,复制 Base URL 和示例参数,再用一个最小请求验证当前额度。需要完全在本地运行时,也可以从 local 页面继续查找运行时入口。 适合优先尝试的场景包括:原型中的分类、格式转换、结构化抽取、批量改写前的小样本测试,以及学习 OpenAI 兼容接口。真正进入生产前,则要重新查看实时模型列表和站点的 `LAST_VERIFIED`,因为这次实验已经证明,文档中的示例模型可能在运行当天不可用。 这也带来一个更重要的判断:免费目录的价值不是承诺永远免费的固定清单,而是缩短“发现、核对、最小验证”这条路径。把免费模型当成原型验证资源,把机器校验留在流程里,比只看宣传文字更可靠。原作者提供了集中、可读、可修改的数据入口;观众得到一条能亲手复现的起步路径;实验室则用成功与报错同时留档,帮助中文观众看见项目的真实价值。实验风险只有一句:免费额度和示例模型会变化,录制与发布时必须以实时列表和本次原始日志为准。 ## 八、积极直接的结论和下一步 `itsfree.ai` 已经在本次 Mac 环境中完成构建并通过 preview 返回 HTTP 200,也确实带我们走完了一次零费用的模型调用和机器校验。它最适合做的,不是替你保证某个免费模型长期可用,而是让你更快找到入口、读清条件、跑出第一个可核对结果。 下一步很明确:打开 `https://itsfree.ai`,先选择 no sign-up 或 OpenAI-compatible,进入服务商页读完 gotchas,再用最小请求测试实时可用性。项目仓库在 `https://github.com/midudev/itsfree.ai`。如果你也在做 AI 原型,这条“先查目录、再跑最小请求、最后机器核验”的路径值得直接带进自己的工作流。 --- ## 结构定位表 | 段落 | 原文定位 | 核心任务 | 证据 | |---|---|---|---| | 1 具体痛点 | “想给自己的小工具接一个 AI 模型……” | 明确费用与信息分散问题 | `seed-zone.md` 第 39–43 行 | | 2 前十秒钩子 | “这次我把一个收集……” | 处境、矛盾、可见结果 | `task-verification.json`;实验报告第 94–107 行 | | 3 明确承诺 | “接下来我会用真实日志说明三件事……” | 三项可兑现收益 | 实验报告第 113–120 行及全链路日志 | | 4 项目机制 | “项目叫 it's free*……” | 项目、作者、机制、轻门槛 | `seed-zone.md`;实验报告第 10–14 行 | | 5 真实实验 | “我在一台 arm64 Mac……” | 环境、输入、安装、操作、输出、报错、修复 | `planting-log.md`、`pnpm-*.log`、`llm7-*.json` | | 6 结果对比 | “最终输出是六个条目……” | 输入输出、tokens、耗时、步骤对比、承诺兑现 | `task-verification.json`;实验报告第 82–109 行 | | 7 利益与思考 | “对个人开发者……” | 动作、场景、比较判断、三方价值 | 实验报告第 113–139 行 | | 8 结论下一步 | “itsfree.ai 已经……” | 积极结论与可执行动作 | `preview-server.log`、`task-verification.json` | ## 钩子与承诺原句 - 钩子:“这次我把一个收集免费 AI 模型入口的开源项目真实跑了起来,还用其中一个免费接口,在 1.69 秒内完成了 373 tokens 的结构化抽取,机器校验逐字段一致,本次调用费用是零元。” - 承诺:“接下来我会用真实日志说明三件事:这个目录怎样把分散的免费入口放在一起;怎样从页面信息走到一次真实 API 调用;以及免费路径适合拿来做什么、使用前要复核什么。” ## 承诺—证据对应 | 承诺 | 稿内兑现 | 原始证据 | |---|---|---| | 说明目录如何集中入口 | 第四段说明 TS 数据与页面字段 | `harvest-experiment-report.md` 第 10–14 行 | | 走到真实 API 调用 | 第五段四轮调用与成功路径 | `logs/llm7-*.json`、`logs/llm7-models.json` | | 说明适合场景与复核项 | 第六、七段的轻量抽取、实时列表、机器校验 | `task-verification.json`、实验报告第 107–120 行 | ## 三方价值说明 - 原作者:准确标注 Miguel Ángel Durán / `midudev`,展示仓库机制、真实页面与项目链接,不把实验室包装成项目作者。 - 观众:获得一条“筛选—读 gotchas—最小调用—机器校验”的可执行路径,并看到成功和报错的真实边界。 - 实验室:以同一实验的日志、截图和校验文件建立可信内容,不承诺播放量或未测收益。 ## 逐段素材需求 | 段落 | 素材 | |---|---| | 1 | 用户面对多家文档的概念转场;需明确标注“示意”,不作实验证据 | | 2 | `04-no-signup.png`、任务校验结果卡;结果卡需补拍 | | 3 | 三项承诺文字卡;证据文件路径短暂叠加 | | 4 | `01-home.png`、作者/仓库页面;作者社区画面需补拍 | | 5 | 安装、构建、dev 报错、preview 成功、llm7 页面与调用过程;除现有页面截图外均需补拍 | | 6 | 输入/输出并排、1.69s / 373 tokens / match=true 结果卡;需补拍或由真实 JSON 制作数据卡 | | 7 | `03-local-runtime.png`、`04-no-signup.png`、真实使用路径操作;操作需补拍 | | 8 | 首页、仓库链接与明确结论设计卡;结论卡需制作 | ## 朗读修订记录 1. 将开头从抽象的“免费 AI 很多”改为“给小工具接模型时遇到费用与信息差”,保证陈述句直接进入具体处境。 2. 把安装、构建和四轮调用拆成短句;数字后留自然停顿,避免一口气堆日志。 3. 删除“永久免费”“人人都能省下订阅费”等无法由本次实验保证的表达。 4. 将门槛压缩为一句;将实验风险合并为一句;费用只陈述本次真实调用的零元结果。 5. 把“人工 3–5 分钟”限定为报告中这一次逐家比对并排序的估计,不外推为普遍节省。 6. 保留模型事实性回答错误的观察,但不设“缺点/局限”标题,不让失败抢走成功路径主线。 --- # YouTube 十五类画面对照表 — itsfree.ai 说明:时间按当前口播稿估算,最终须在收到用户确认口播与音频后按真实音频重排。真实画面一律来自本次实验的真实渲染截图或真实连续录屏;日志是事实来源,但不是现成视频画面。没有真实画面的项目一律标为“需补拍”,不得以概念图冒充。 | # | 十五类 | 文件名 / 状态 | 使用时间(估算) | 对应口播 | 字幕 | 补拍要求 / 证据来源 | |---|---|---|---|---|---|---| | 1 | 项目首页或原作者介绍 | `shots/01-home.png`(已完成,真图) | 00:00–00:06 | “想给自己的小工具接一个 AI 模型……” | 免费入口散落,先找再验 | 使用首页真实截图做首张雷达画面;来源 `shots-sha256.txt` | | 2 | 项目核心功能 | `shots/04-no-signup.png`(已完成,真图) | 00:06–00:12 | “哪家有真正的免费额度……” | no sign-up / no card / OpenAI-compatible | 第二张雷达画面;真实免注册筛选结果 | | 3 | 安装过程录屏 | `shots/03-install-recording.mp4`(已完成,真录屏 50s) | 01:22–01:30 | “先运行 pnpm install……” | 229 packages · 11.9s(本次复录) | 干净工作副本 + 全新依赖存储连续录制 `pnpm install`;事实源 `pnpm-install.log`(首装 12.8s) | | 4 | 首次运行 | `无录制文件`(无法复现) | 01:40–01:48 | “第一次执行 pnpm dev 没有启动成功” | 首次运行:dev 启动失败 | 原错误为 `deps_ssr/base-hn_OgmWn.js 不存在`(exit 1),见 `dev-server.log`/`planting-log.md`;复录时 `pnpm dev` 已可启动(ready,HTTP 200),原错误不再复现,故未伪造重演 | | 5 | 关键操作 | `shots/05-filter-and-provider.mp4`(已完成,真录屏 15s) | 00:54–01:10 | “点进某个服务商页……” | 筛选 → 服务商页 → gotchas | 真实站点连续录屏:首页 → /free-ai-apis-without-signup/ → /provider/llm7/,项目身份可见 | | 6 | 最终结果 | `shots/02-provider-llm7.png`(真图)+ `shots/06-final-result-http200.mp4`(已完成,真录屏 15s) | 02:42–02:50 | “最终得到 HTTP 200” | llm7 · OpenAI-compatible | 首页 HTTP 200 真实渲染;`curl localhost:4321/` 回读 HTTP 200(另见 #12) | | 7 | 输入和输出对比 | `shots/07-input-output-comparison.png`(已完成,真数据卡) | 03:15–03:34 | “我输入了服务商原始列表……” | 原始列表 → 排序 JSON · 6/6 一致 | 以 `task-request.json` 与 `task-response.json` 制作左右并排真实数据卡,保留文件名 | | 8 | 速度或步骤对比 | `shots/08-speed-steps-card.png`(已完成,真数据卡) | 03:42–03:56 | “curl 实测耗时 1.69 秒……” | 本次调用 1.69 秒 / 人工 3–5 分钟(估计) | 用 `task-verification.json` 与报告记录制卡,明确“本次任务”边界 | | 9 | 项目目录或核心文件 | `shots/09-project-data-files.mp4`(已完成,真录屏 16s) | 01:02–01:16 | “数据写在仓库的 TypeScript 文件里” | providers.ts · models.ts · resources.ts | 录制仓库目录与真实文件内容(`wc -l` + llm7 条目原文),不停留终端 | | 10 | README 关键段落 | `shots/06-readme.png`(已完成,真图) | 02:10–02:20 | “Free tiers change without warning” | 免费额度会变化,实时复核 | 拍仓库 README 对应原文;不可重新排版后冒充 README | | 11 | 真实报错 | `shots/11-real-errors.mp4`(已完成,真录屏 18s) | 01:48–02:12 | “依赖文件不存在……模型当前不可用……” | model_unavailable / missing_api_key / invalid_api_key | 真实 curl 复现三类 API 错误;dev 的 deps_ssr 错误现不复现,见 `dev-server.log` | | 12 | 修复后的成功 | `shots/12-preview-http200-and-api200.mp4`(已完成,真录屏 18s) | 02:20–02:45 | “改用 pnpm preview……最终得到 HTTP 200” | preview HTTP 200 · API HTTP 200 | 真实录制 `pnpm preview` 启动 + `curl` HTTP 200 + codestral-latest 真实调用成功 | | 13 | 用户使用场景 | `shots/03-local-runtime.png`(已完成,真图) | 04:26–04:40 | “需要完全在本地运行时……” | 原型验证 / 学习接口 / 本地运行入口 | 真实 local 页面;可叠加场景文字,不能说已实测 9 个本地运行时 | | 14 | 作者或社区活跃情况 | `shots/05-github-repo.png` + `shots/07-commits.png`(已完成,真图) | 00:42–00:54 | “原作者是 Miguel Ángel Durán……” | Miguel Ángel Durán · @midudev | 官方 GitHub 仓库作者/HEAD 提交与提交历史页面 | | 15 | 最终结论 | `shots/15-conclusion-card.png`(已完成,真首页底设计卡) | 05:16–05:30 | “先查目录、再跑最小请求、最后机器核验” | 找入口 → 最小请求 → 机器核验 | 以真实首页为底制作结论卡,标出项目链接;设计卡不充当额外实验证据 | ## 开头三张雷达画面 1. 00:00–00:03:`01-home.png`,字幕“免费 AI 入口集中目录”。 2. 00:03–00:07:`04-no-signup.png`,字幕“免注册条件直接筛选”。 3. 00:07–00:10:`02-provider-llm7.png`,字幕“从服务商信息走到真实调用”。 三张均来自本次站点真实渲染;第三张只证明服务商页面存在,实际调用成功由第 12 类补拍证据承担。 ## 顺序核对 用户痛点(1)→ 项目亮点(2、4、9)→ 真实操作(3、4、5)→ 关键结果(6、7、8、11、12)→ 使用者收益(13)→ 替代价值(8)→ 使用步骤(5、10)→ 实际失败原因(11)→ 一句话实验风险(10)→ 明确结论(15)。 ## 数量回执 - 十五类映射:15/15 已建立。 - 本次已有可直接引用的真实画面:14 类(#1、#2、#3、#5、#6、#7、#8、#9、#10、#11、#12、#13、#14、#15)。 - 无法复现 1 类(#4 首次运行失败):原错误真实存在并已留档(`dev-server.log`、`planting-log.md`),但当前环境 `pnpm dev` 已可正常启动,原 `deps_ssr` 错误不再复现,依制度不伪造重演。 - 现阶段不得开始剪辑:须由主控复核 15 项媒体证据,再由用户确认口播稿并提供对应音频。 --- ## 补拍完成回执(2026-09-11 录制,真录屏 / 真数据卡) 以下为本次新增的真实录制与数据卡(均含 SHA-256,见 `logs/shots-sha256.txt`)。录屏为 macOS `screencapture -v` 原生 QuickTime(H.264)经无损 remux 为 `.mp4`;数据卡由真实 JSON/日志内容渲染,不是日志文字伪装。 | 文件 | 类型 | 时长/尺寸 | 对应口播段落 | 字幕 | 真实性依据 | |---|---|---|---|---|---| | `shots/03-install-recording.mp4` | 真录屏 | 50.0s | 五(真实实验) | 229 packages · 11.9s | 干净 worktree + 全新 store-dir,真实下载 `Packages: +229`、`Done in 11.9s` | | `shots/05-filter-and-provider.mp4` | 真录屏 | 15.0s | 五(关键操作) | 筛选 → llm7 服务商页 → gotchas | 真实站点 localhost:4321 连续导航 | | `shots/06-final-result-http200.mp4` | 真录屏 | 15.0s | 六(结果) | 首页 HTTP 200 · OpenAI-compatible | 真实站点首页渲染 | | `shots/07-input-output-comparison.png` | 真数据卡 | 1920×1080 | 六(输入输出对比) | 原始列表 → 排序 JSON · 6/6 一致 | `task-request.json`/`task-response.json` 真实内容,保留文件名 | | `shots/08-speed-steps-card.png` | 真数据卡 | 1920×1080 | 六(速度/步骤对比) | 1.69 秒 / 3–5 分钟(估计) | `task-verification.json` 真实数值 | | `shots/09-project-data-files.mp4` | 真录屏 | 16.0s | 四/五(目录与核心文件) | providers.ts · models.ts · resources.ts | 真实 `wc -l` 与 llm7 条目原文 | | `shots/11-real-errors.mp4` | 真录屏 | 18.0s | 五(真实报错) | model_unavailable / missing_api_key / invalid_api_key | 真实 curl 复现三类 API 错误 | | `shots/12-preview-http200-and-api200.mp4` | 真录屏 | 18.0s | 五/六(修复后成功) | preview HTTP 200 · API HTTP 200 | 真实 `pnpm preview` 启动 + `curl` 200 + codestral-latest 成功 | | `shots/15-conclusion-card.png` | 真首页底设计卡 | 1920×1080 | 八(最终结论) | 找入口 → 最小请求 → 机器核验 | 以真实首页 `01-home.png` 为底叠加结论 | ### 仍缺项(1 项) - #4 首次运行(真实失败画面):原错误 `deps_ssr/base-hn_OgmWn.js 不存在` 真实发生并已留档于 `logs/dev-server.log`(00:52:46 与 00:53:21 两次,exit code 1)与 `logs/planting-log.md`。本次补拍时实测 `pnpm dev` 已能启动(`astro v7.3.1 ready`,`/` 与 `/provider/llm7/` 均 HTTP 200),原错误不再复现。依制度“不得重演别的错误、不得凑数”,该项不伪造录制,以原始日志为事实依据。是否接受该处置由主控与用户共同决定。 ### 终端画面占比提示 六段录屏均含真实终端画面(#3/#9/#11/#12 为终端,时长 16–50s),供剪辑时按 V36 规则切分(终端画面总时长不超过全片 20%,连续不超过 5 秒,任一单镜不可循环填充)。此为原始素材,非成片。

完整资料包 · 已公开

素材包 · 真实截图/录屏/无版权 b-roll 清单

实验素材(均已归档,可核对): · 真实站点渲染截图 74 张(shots/、frames/) · 真实操作录屏 6 段(已裁为非全屏、单段 ≤8s):安装、筛选、构建产物 HTTP200、项目数据文件、真实报错、预览与 API 200 · 无版权 b-roll 17 段(Coverr,免版税免署名,按口播语义分 5 组) · 数据卡 3 张(输入输出对比、速度/步骤对比、结论卡) · 成片(无字幕版):11:09.7,1920×1080,112 镜头,黑屏 0% 所有素材均来自本次真实实验,无概念图、无重绘网页。