各版本的主要变更
首屏两行大字由「登记簿 / 试验场」改为「Best API Playground」,直接说明这个地方是做什么的;拉丁字体恢复 look 原本的字距。
yApis 有了公网地址。落地页、登记簿与两个试验场此前只存在于仓库里;现在部署在 Vercel,自动随 main 分支更新。
apis.catforest.dev 指向 Vercel 上的生产部署。选 Vercel 而非 Cloudflare Workers,是因为 /api/wallhaven 是请求期路由,而矩阵的 Cloudflare 试点只验证过静态站。规范域名同时成为站点 URL 的代码级默认值:环境变量缺失时,元数据不再静默退回 localhost。
`vercel --prod` 会上传工作目录且不参照 .gitignore,首次生产构建因此载入了本地的 WALLHAVEN_API_KEY——密钥从不回显给浏览器,但 Wallhaven 试验场报出 keyed: true,而这一页存在的意义正是演示匿名路径。补 .vercelignore 后重新部署,线上已回到 keyed: false。
中英 README 删去 9 月 4 日「只有脚手架」的说明,改为列出登记簿、两个 probe、两个试验场与落地页,并以同样直白的措辞写明有意未做的部分。
`/` 不再重定向到 /apis,而是一张简介落地页:说清这个工具是什么、怎样把「用过」变成可复核的记录。工具本身仍住在 /apis。
视觉取自 yLookbook 的 cognitive-topology look:骨白工程排版、氧化红信号、标题背后一枚 Three.js 二十面体。首屏控制台的三个处理格是 probe 契约的三个文件(Schema / Client / Probe),骨白台账就是登记簿本身——十一行全部来自注册表,成熟度条按 status 轴取值,点选一行展开 slug、计费、鉴权、probe 与试验场入口;运行原则一节是这个项目写给整个职业生涯的三条规则。页面上的每一个数字都从注册表派生,不会与 /apis 的 KPI 相左。
全局与壳内 404 页的「返回登记簿」明确指向 /apis;侧栏 logo 仍回到首页,即落地页。
Wallhaven 补齐 probe 与试验场页;更值得一读的是判词的修正——原来那句「匿名只能拿到 SFW」是错的。
`pnpm probe:wallhaven` 以登记簿自身的客户端与 schema 发起真实请求,逐条断言条目的说法:匿名可达哪些纯度、per_page 被接受但忽略(每页恒为 24)、meta.query 在精确 tag 搜索时变为对象、ratio 是字符串,以及接口不返回任何 CORS 头。probe 覆盖达到 2 / 11。
`/apis/wallhaven` 刻意不做成壁纸浏览器,而是一次对照实验:同时发出你选择的 purity 与清除 nsfw 位的对照请求,把两个 total 并排展示。差值为零就是结论本身。因厂商不返回 CORS 头,页面经新增的 /api/wallhaven 代理访问,API key 也因此只存在于服务端。
原判词称匿名请求会被静默过滤成 SFW,这是错的:sketchy 匿名完全可以访问,只有 nsfw 需要 key。证据是总数的精确相加——匿名 purity=110 恰好等于 100 与 010 之和。此前的误判源于匿名 111 首页全是 sfw,而那只是因为 sfw 数量约为 sketchy 的 50 倍且按时间排序。陷阱依然存在但范围更窄:nsfw 位一无所获,且接口对此只字不提。
钳制改为只清除 nsfw 位(原先钉死 SFW 会白白隐藏数百条可正常获取的结果),只请求 nsfw 又无 key 时直接报错而非返回空页。鉴权词表新增「可选 key」并用于 Wallhaven——「匿名可用、key 只是扩大范围」与 Pixabay、Pexels 那种「无 key 一无所获」是两回事,这个区别决定了能否充当兜底数据源。
所有界面文本改为中文:页面标题与元数据、指标标签、工具栏与视图面板、分类词表、卡片与表格、空状态与错误提示、侧栏分区、试验场与更新日志。
yApis 是自用工具,英文界面来自模板而非选择,每次阅读都要多一层转换。现全部改为中文,并按产品文案的书面语体撰写。
登记条目的判词与能力描述保留原文——它们是判断本身,翻译会使来之不易的事实失真;设置面板同样保留,它是各姊妹项目逐字共享的主题面板,词汇沿用 shadcn 原有术语。
顶栏的语言选择器是模板遗留的占位控件,背后没有 i18n 运行时,三个选项中仅一个实际生效。单语言工具无需保留无法生效的控件。
登记簿成为完整的数据视图:布局、排序与筛选可持久保存,每条登记配有状态轨,已探测的 API 可从侧栏直达。
支持网格与列表两种布局,可按登记时间、成熟度或名称排序,按类型与计费筛选,并可隐藏判词或采用方标记。视图设置会被记住,生效中的筛选以可移除的标签展示,列表支持按列排序。
每张卡片顶部以「候选 → 已探测 → 已验证 → 已采用」链路展示 API 的推进阶段,已到达的节点与连接段高亮并带脉冲动效——将登记簿的核心维度直观呈现。
probe 通过的 API 在侧栏独占一行,直接跳转至对应试验场页;侧栏因此成为登记簿的可信目录。
简介固定两行、判词固定四行,网格中各卡片的文本区域在同一基线结束;被截断的判词可通过悬停查看全文。
列表布局的表格此前会撑开整个页面导致横向滚动,现改为在卡片内部滚动。
登记簿不再只是清单:Iconify 获得 typed probe,可复核判词中的断言并冻结响应样本,并配有可实时运行的试验场页。这套契约将适用于后续所有登记。
以登记簿自身的客户端与 schema 发起真实请求,逐项断言判词中可验证的事实——数量参数的 [32, 999] 服务端限制、currentColor 单色 SVG、按图标集返回署名——并冻结一份符合 schema 的 sample.json。KPI 据此显示 1 / 11。
`/apis/iconify` 提供实时调试界面:调整关键词与数量参数,在响应中观察服务端的参数限制行为;结果按图标集分组并附带许可证与作者信息;报文卡片展示完整的请求 URL 与解析后的 JSON。
Wallhaven、Pixabay、Openverse、Pexels 与 Iconify 纳入登记簿,判词来自 yAssets 生产环境客户端的实际经验。登记总数达到 11 条。
外观设置新增开关:关闭后,页面标题栏随内容滚动而非固定,为小屏幕释放纵向空间。顶部导航栏始终保持固定。
v0.1.0 仅是 yTemplate 脚手架的副本。本版本重新同步模板、确立项目定位,并交付首个核心功能——API 登记簿。
`/apis` 收录经手过的每一个外部 API:提供什么、如何计费、矩阵中哪些项目可能用到。首批六条来自矩阵已在依赖的服务。
引入页面类套件、共享设计规范、CI,以及此前缺失的设置与主题系统。未丢失任何项目独有内容:仅存于本仓的文件均为模板已移除的组件。
包名与 README 此前仍沿用 ytemplate。端口调整为 4389,设置的存储键随项目名同步更新——此前在此选择过主题的浏览器将恢复默认。
仓库为 yTemplate 脚手架加项目台账,尚未包含 yApis 专属功能。
Next.js 16(App Router + React Compiler)、TypeScript、Tailwind v4、shadcn/ui、Biome 及标准运行时库,附带仪表盘外壳与演示页面。
`.roadmap/features.yaml` 记录发布模块与应用功能,由 yPulse 中枢定期收集。