成果展示 · midudev/itsfree.ai
零费用跑通一次真实 AI 调用:itsfree.ai 本地实测
在本机跑通 itsfree.ai 目录,并用其中的免费接口完成一次可机器核验的结构化抽取:373 tokens、1.69 秒、费用 ¥0,同时记录 3 个真实报错与修复过程。
实验过程时间线
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 秒,正常结束。
pnpm build 使用 Astro 7.3.1 + @astrojs/cloudflare 14.3.0 构建,产出 75 个页面(含 25 个服务商页、30+ 个模型页与全部索引页),耗时 3.22 秒;同时注入 /_astro/* 的 immutable Cache-Control 并生成 sitemap-index.xml。
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 全部无响应,服务未起来。
删除 node_modules/.vite 后重试 pnpm dev,同一错误复现,仅查询串 hash 变为 ?v=48e3c013。据此排除『旧缓存』这一假设,判定根因是 @astrojs/cloudflare 的 dev SSR 依赖优化器与 Astro 7.3.1 的 deps_ssr 产物不兼容。
改用 pnpm preview 运行已构建产物(不依赖 dev SSR 优化器)。Astro 在 36 毫秒内 ready,本地地址 http://localhost:4321/ 返回 HTTP 200,四个真实页面(首页、服务商页、本地运行时页、免注册页)均完成真实渲染并截图存档。
读取 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 用量。全程未申请真实密钥。
用免费模型完成一项可机器核验的真实任务:把 6 条零门槛服务商数据按 freeModels 降序抽成 JSON。模型输出 6 条,由脚本与预先从源数据取得的真值逐字段比对,结果完全一致(match=true)。本次用 272 输入 tokens + 101 输出 tokens = 373 tokens,curl 实测 1.69 秒,费用 ¥0。
田边聊聊
这里还没有留言。