Codels
AI 智能体与开发者

让你的智能体来挑选模型。

Codels 上的每个模型都有一个机器可读的“孪生版本”。无需 API 密钥,已启用 CORS,URL 稳定不变。在模型页面点击复制给 AI 智能体,或者把你的智能体指向 https://codels.download/llms.txt,让它自行搜索。

“复制给 AI 智能体”会把什么放进剪贴板

Add the 3D model "Pine Tree" from the Codels library to this three.js project.

1. First read the agent page (preview image, size, parts and ready-to-use code):
   https://codels.download/m/pine-tree.md?snow=true
2. Then integrate it:
   - Preferred: ES module https://codels.download/m/pine-tree.js?snow=true — exports createPineTree(): THREE.Group …
   - Or the binary glTF: https://codels.download/m/pine-tree.glb?snow=true
   - React Three Fiber component: https://codels.download/m/pine-tree.jsx?snow=true

Conventions: meters, +Y up, front faces +Z, origin at the center of the base (y = 0).

悬浮类模型(拾取物、行星)以原点为中心,壁挂类道具的背面位于 z = 0 平面上。每个智能体页面都会注明确切的原点位置。

MCP 服务器

将 Codels 连接到 Claude Code、Cursor、Windsurf 或任何 MCP 客户端。你的智能体将获得六个工具:search_models、get_model(返回智能体真正能“看到”的四视图预览图)、get_model_code、list_packs、get_pack 和 list_categories。

claude mcp add --transport http codels https://codels.download/mcp

其他客户端(例如 Cursor 的 mcp.json):

{
  "mcpServers": {
    "codels": {
      "url": "https://codels.download/mcp"
    }
  }
}

端点

/m/<slug>.md

智能体页面:描述、预览图、尺寸、部件表、参数以及完整的 three.js 代码,一次请求即可获取全部信息。

/m/<slug>.js

导出 create<Name>(): THREE.Group 的 ES 模块。除 three 外零依赖。

/m/<slug>.jsx

React Three Fiber 组件。

/m/<slug>.instanced.js

实例化模块:bake<Name>()(每种材质一个几何体)+ create<Name>Instances(count, place),用少量绘制调用渲染成百上千个副本。

/m/<slug>.html

可独立运行的演示页面(通过 CDN 引入 three.js)。

/m/<slug>.png · .sheet.png

预览渲染图 / 四视图(3/4 视角、正视、侧视、俯视),让智能体能“看见”模型。

/m/<slug>.glb · .gltf · .obj · .stl · .json

二进制/JSON glTF、含顶点色的 OBJ、STL、原始 CodelSpec。

/api/v1/models?q=&category=&tags=&sort=

支持分面筛选的搜索,并为每个结果返回 URL。

/api/v1/models/<slug> · /api/v1/tags · /api/v1/categories

元数据、带数量统计的标签查询、分类树。

/c/<pack>.md · .js · .zip · .json

资源包与公开合集:智能体概览、包含所有模型的单个 ES 模块,或包含 GLB 与模块的 ZIP 包。

/llms.txt

本站的机器可读指南。

/mcp

Model Context Protocol 端点(Streamable HTTP),提供搜索、预览和代码工具。

参数化变体

参数化模型可在任意 URL 上通过查询字符串接收参数。.md 页面列出了每个参数及其取值范围。

// fetch a taller pine with snow caps as a ready ES module
const src = await fetch('https://codels.download/m/pine-tree.js?height=5.5&snow=true').then((r) => r.text());

使用代码

import * as THREE from 'three';
import { createPineTree } from './pine-tree.js';

const forest = new THREE.Group();
for (let i = 0; i < 40; i++) {
  const tree = createPineTree();
  tree.position.set((Math.random() - 0.5) * 60, 0, (Math.random() - 0.5) * 60);
  tree.rotation.y = Math.random() * Math.PI * 2;
  tree.scale.setScalar(0.8 + Math.random() * 0.5);
  forest.add(tree);
}
scene.add(forest);

在代码中搜索

const res = await fetch('https://codels.download/api/v1/models?q=medieval+barrel&sort=relevance');
const { items } = await res.json();
console.log(items[0].urls.code); // → https://codels.download/m/<slug>.js

速率限制与 API 密钥

不用密钥也能使用全部功能(每个 IP 每分钟 120 次 API 请求)。用量更大时,可以创建免费的API 密钥:每分钟 1,200 次请求,并附带使用统计。以 Authorization: Bearer cdl_… 的形式发送——响应中带有 X-RateLimit-Remaining,收到 429 时会告诉你何时重试。

curl -H "Authorization: Bearer cdl_your_key" "https://codels.download/api/v1/models?q=barrel"
claude mcp add --transport http codels https://codels.download/mcp --header "Authorization: Bearer cdl_your_key"