尧图精选

free-coding-models架构拆解:纯JavaScript零依赖测试如何实现271个模型的实时基准测试

🕒 发布时间:2026/10/2 20:39:46 📁 来源:尧图网络
free-coding-models架构拆解纯JavaScript零依赖测试如何实现271个模型的实时基准测试【免费下载链接】free-coding-modelsFind, benchmark and install in CLI 170 FREE coding LLM models across 15 providers in real time项目地址: https://gitcode.com/gh_mirrors/fr/free-coding-modelsfree-coding-modelsFCM是一个纯 JavaScript 编写的免费编码模型基准测试工具它实时 ping 25 家服务商的 271 个免费 LLM 模型用延迟、抖动和稳定性打分并把选中的模型一键写入 OpenCode、Crush、Goose 等编码工具。最让人好奇的是——它的测试套件不依赖任何外部测试框架仅靠 Node.js 内置的node:test就跑完数千个用例。本文拆解这套架构是如何做到的。30秒认识这个项目安装即用模型秒变绿先装后玩两条命令npm install -g free-coding-models free-coding-models首次运行会提示你粘贴一个免费 API KeyGroq、Cerebras、NVIDIA NIM 等 25 家任选然后所有模型并行发起探测终端表格里的行逐渐点亮绿色 ✅延迟毫秒数实时跳动。按下Enter即可把选中模型写进你的编码工具并直接启动。一句话概括它的分工实时探测ping→ 稳定性评分 → 一键安装。全局架构一份目录四个入口整个项目最关键的单一事实源是根目录的 sources.js——271 个模型、25 家服务商的完整目录就定义在这一个文件里。TUI、Web 仪表盘、智能路由守护进程、Agent 插件全部读同一份目录所以数量永远不会漂移。入口形态源码位置文档️ TUI终端实时排行榜默认src/tui/docs/tui.md Web Dashboard浏览器控制台可分享过滤视图web/docs/web-dashboard.md Smart Model Router本地 OpenAI 兼容守护进程自动故障转移src/core/router-daemon.jsdocs/router.md Agent 插件OpenCode / Pi 热切换模型packages/packages/fcm-opencode/README.md底层核心逻辑集中在 src/core/ 约 50 个纯 JS 模块里彼此之间只通过函数导出通信没有任何 UI 耦合。这就是架构拆解的第一层答案数据目录sources.js与执行面core/tui/web彻底分离。实时基准测试的心脏一次 ping 的完整生命周期所有实时性都来自 src/core/ping.js 里的ping()函数L232-L288。它的探测策略非常抠最小探测包只发一句hi、max_tokens: 1并显式关闭思考模式thinking: disabled避免推理模型在隐藏思考上浪费延迟——我们只想要可用性和往返时间硬超时用AbortController 定时器实现 15 秒超时PING_TIMEOUT超时直接记为TIMEOUT429 熔断器服务商返回配额耗尽时整家服务商暂停 ping尊重Retry-After避免烧光你的免费配额配额旁路采集顺手解析响应头里的x-ratelimit-*系列字段把剩余配额百分比显示在 Usage 列。甚至有个细节某些已转为付费的 Pollinations 模型会返回 HTTP 200 但正文里塞错误信息ping()会嗅探正文并把它改判为402——状态码说谎时就拆开来验货。心跳调度四种 ping 节奏自动切换271 个模型不可能每 2 秒打一轮src/core/ping-loop.js 用一套节奏模式管理探测频率常量定义在 src/tui/tui-state.js模式间隔触发时机⚡ speed2s启动后 60 秒内的快速首刷 normal10s稳态默认 slow30s用户 5 分钟无操作自动降频省配额 forced4s按W键手动触发快速补测任何按键都会唤醒循环重新提速。这套自动节流让 271 个模型的长驻探测几乎不烧配额。AI Speed Test用真实回答测吞吐量ping 只测往返要看真实生成速度按CtrlA触发 src/core/benchmark.js 的基准测试。它的考卷是一道所有模型都能答的题Why is the sky blue? 用恰好一段 80–100 词的文字回答L39-L56配套参数保证了结果可复现temperature: 0确定性输出、max_tokens: 140防跑题长篇、20 秒超时、最多重试 3 次间隔 15 秒——临时故障的模型往往第二次就好了。成功时返回三个指标总耗时、输出 token 数、TPS每秒 token 数如果服务商没返回usage字段则用4 字符 ≈ 1 token的启发式估算并在界面上明确标注。这些数字最终渲染成 TUI 里的 AI Latency / TPS 两列。另外还有个懒人模式--fiablesrc/core/analysis.js只跑 10 秒并行 ping然后按在线率、平均延迟、稳定性直接打印最可靠的那一个模型退出。为什么说是零依赖测试看 package.json 的 test 脚本node --test test/*.test.js test/test.js没有任何 Jest、Mocha、Vitest——测试框架就是 Node.js 18 自带的node:test和node:assert/strict。核心模块也几乎只用内置能力全局fetch、AbortController、node:crypto、node:http。第三方依赖chalk、socket.io、React 系主要服务于 Web 仪表盘CLI 核心链路是纯 Node。这带来的好处在 test/test.js8500 行里体现得很充分目录完整性校验 sources.js 每个模型条目的结构、层级、唯一性——271这个数字就是被测试保护住的核心算法getAvg、getVerdict、getUptime、findBestModel等评分函数的边界用例CLI 解析parseArgs覆盖所有 flag 组合路由守护进程集成直接用node:http在进程内起一个假服务商服务器验证故障转移和配额逻辑——不发一个真实网络请求。零依赖意味着 CI 里不需要安装任何测试栈、没有原生编译、没有版本漂移npm test在任何 Node 18 环境都能跑。动手跑一遍本地验证完整测试套件git clone https://gitcode.com/gh_mirrors/fr/free-coding-models cd free-coding-models npm test看到node:test输出的全绿✔你就复刻了官方 CI 的完整回归流程。核心文件地图文件作用sources.js25 服务商 / 271 模型的唯一目录源src/core/ping.js探测、超时、熔断、配额解析src/core/benchmark.js真实回答基准测试延迟 TPSsrc/core/ping-loop.js四种节奏的自动调度src/core/analysis.js--fiable十秒可靠性分析src/core/router-daemon.js智能路由守护进程约 4900 行最大单模块src/tui/render-table.js终端表格渲染test/test.js主测试套件目录完整性 核心逻辑docs/stability.md稳定性评分0-100算法说明docs/providers.md服务商免费额度与层级全表小结free-coding-models 的架构可以浓缩成三句话一份sources.js目录喂活四个入口一次最小探测 四种节奏的心跳实现 271 个模型的实时基准测试一套只靠node:test的零依赖测试把数量、评分、故障转移全部锁死。如果你想在本地挑一个此刻最快的免费编码模型或者研究一个无重型依赖的 Node.js CLI 架构这个项目都值得拆一读。【免费下载链接】free-coding-modelsFind, benchmark and install in CLI 170 FREE coding LLM models across 15 providers in real time项目地址: https://gitcode.com/gh_mirrors/fr/free-coding-models创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联 返回资讯列表 →