@julien_c: 周五项目:对 @midudev 的 canirun-ai 背后的硬件检测模块进行可读的重写。相同的启发式规则、着色器…
摘要
对 canirun.ai 背后的硬件检测模块进行可读的重写,提供了描述性名称、JSDoc 和更清晰的代码,同时保留了原有的启发式规则和规格表。
查看缓存全文
缓存时间: 2026/05/16 07:16
周五项目:@midudev 的 canirun-ai 背后硬件检测模块的可读重写。相同的启发式方法、着色器与规格表——只是换成了描述性名称 + JSDoc。https://t.co/A4Xjb6z7vv
julien-c/canirun.ai
来源:https://github.com/julien-c/canirun.ai
canirun-ai.js
canirun.ai(https://www.canirun.ai/)所用浏览器端硬件检测模块的可读重写——该网站可告诉你当前机器能运行哪些本地 AI 模型。
原始模块以压缩形式发布为 hardware-ui..js。这里是同一份代码,带有描述性名称、分节、JSDoc 以及命名常量,替代了魔法数字。行为、阈值、着色器和规格表均未改变。
功能
-
读取浏览器所披露的信息:
- WebGL
WEBGL_debug_renderer_info→ GPU 厂商 + 渲染器字符串 - WebGPU
adapter.info→ 设备 + 架构(可用时) navigator.deviceMemory、navigator.hardwareConcurrency、User-Agent
- WebGL
-
在设备上执行基准测试:
- CPU:一个约 30ms 的
sqrt + sin + cos循环 - GPU 计算(WebGPU):FMA 循环 → 估算 GPU 核心数
- GPU 内存带宽:WebGPU 缓冲区拷贝,WebGL 纹理采样作为回退方案
- CPU:一个约 30ms 的
-
当 API 被屏蔽或信息模糊时回退到规格表查找:Apple GPU 仅报告 “Apple GPU”;iOS 隐藏所有信息;移动端厂商拒绝暴露适配器信息。包含桌面独立 GPU、Apple Silicon、移动 SoC GPU 和单板计算机的规格表。
-
评估模型适配度:将模型分类为
can-run、can-run-slow、tight、cannot-run或unknown;估算 tokens/秒;计算 0–100 的分数和 S–F 的等级。所有检测均在浏览器本地运行,无需网络请求。
用法
这是一个 ES 模块:
import { detectHardware, scoreModel, describeDevice } from "./canirun-ai.js";
const hw = await detectHardware();
console.log(describeDevice(hw), hw);
// 评分一个 7B 模型,大约需要 4.5 GB 内存
const result = scoreModel(4.5, hw, 4.5);
console.log(result); // { status, toksPerSec, memPct, score, grade }
致谢
原作者为 midudev(https://midu.dev)。本仓库是为教育目的进行的代码可读性重写;其中的方法、启发式方法和规格表均为他的工作。
相似文章
@julien_c: 什么硬件真正驱动着开源AI?不是基准测试。不是供应商营销。真实世界的社区使用。我们正在…
Hugging Face 推出新的硬件资源,用于追踪开源AI社区中GPU、CPU、VRAM及推理硬件趋势的真实使用情况。
@sumitdotml: 2026年第25周:C语言中CPU张量核心基础(加法/乘法、归约、步长、2D矩阵乘法等),阅读Arcee的一些内容
作者分享了用C语言构建纯CPU张量库的进展,涵盖了加法/乘法、归约、步长和2D矩阵乘法等基础知识,以及从阅读Arcee关于基础模型的技术博客中获得的见解。
@julien_c:今天我要发布一个名为 SynthTraces 的新项目,它是一个极简的代码库,用于生成合成编码智能体会话轨迹…
Julien Chaumond 发布了 SynthTraces,这是一个极简的代码库,通过让一个开放模型(通过 HF Inference Providers)与一个本地小模型(通过 llama.cpp)在真实开源代码库上交互,生成合成编码智能体会话轨迹,已产出超过 2,000 个 Pi 会话轨迹,可用于训练和微调大语言模型。
@tom_doerr: 使用源码映射解码Claude Code架构 https://github.com/alejandrobalderas/claude-code-from-source…
一条推文宣布了一个GitHub仓库,该仓库使用源码映射解析Claude Code的架构,提供了一本关于Anthropic的AI编程代理内部机制的18章节教育书籍。
我用 Vibe Coding 写了一个让工程师在 GitHub 上关注的东西
作者宣布了 iai-mcp,这是一款专为 Claude Code 设计的本地记忆工具,能够跨会话保留上下文。作者还反思了该项目在 GitHub 发布后收到的积极社区反馈以及随之而来的快速迭代。