chutes-agent-toolkit
Health Uyari
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 5 GitHub stars
Code Basarisiz
- process.env — Environment variable access in cookbook/javascript/chat.mjs
- eval() — Dynamic code execution via eval() in cookbook/python/07_mini_agent.py
Permissions Gecti
- Permissions — No dangerous permissions requested
Bu listing icin henuz AI raporu yok.
One toolkit, every agent — drop decentralized, all-TEE, OpenAI-compatible Chutes.ai inference into Claude, Hermes, OpenClaw, Codex, or any OpenAI-compatible client.
Chutes Agent Toolkit
Give any AI agent access to Chutes.ai — decentralized, serverless, 100%-TEE inference for open-source models, through the OpenAI API.
One toolkit, every agent. Drop Chutes into Claude, Hermes, OpenClaw, Codex, or any OpenAI-compatible client — decentralized serverless inference for open-source models (Kimi, GLM, Qwen, DeepSeek, MiniMax, Gemma, Nemotron, Mistral), powered by Bittensor. The hosted catalog is currently all TEE-backed (confidential_compute: true); the live list at https://llm.chutes.ai/v1/models is always the source of truth (and the badges above read straight from the daily-refreshed snapshot).
🚀 Start here
| You want to… | Go to |
|---|---|
| Call the endpoint from anything (the one-page universal guide) | 📘 docs/endpoint-guide.md |
| Run working code right now (chat, tools, routing, a full mini-agent — live-verified 2026-06-11) | 🍳 cookbook/ |
Pick a model for your task (--task agentic --routing latency) |
🎯 scripts/pick_model.py |
| Use it inside Claude (Code / Cowork) | Install for Claude |
| Use it inside Hermes | other-agents/hermes/ |
| Use it inside OpenClaw 🦞 [BETA] | other-agents/openclaw/ |
| Use it in Aider / Cursor / Cline / LangChain / LiteLLM | other-agents/openai-compatible/ |
| Run Codex-style coding agents on Chutes | other-agents/codex/ |
| Drop it into any agent's system prompt | other-agents/system-prompt/ |
| Publish Run agents on Chutes site copy and demos | 🌐 site/ (page drafts) + docs/site-agent-growth-kit.md (data + generator) |
This repo is both a Claude plugin marketplace and a multi-agent toolkit — the same skills, scripts, and docs work everywhere. It also stages Hermes integration assets: custom-provider configuration, a Hermes skill mirror, and MCP setup guidance that track current Hermes CLI behavior.
Versions
| Component | Version | Notes |
|---|---|---|
Toolkit / chutes-ai plugin |
v1.3.0 | see plugin.json |
| Model snapshot | auto | daily-refreshed → badges above + data/chutes-models.json |
Chutes SDK (PyPI chutes) |
0.6.9 (stable) | for chutes deploy / TEE tee=True |
| Hermes (verified against) | v0.16.0 | named OpenAI-compatible provider |
| OpenClaw (verified against) | openclaw@latest |
models.providers JSON5 config |
| Last live API re-verification | 2026-06-11 | auth + catalog + TEE, see below |
The four product lanes
The toolkit is organized around four product lanes, each with one or more focused skills:
| Lane | What it covers | Skills |
|---|---|---|
| Use Chutes | Account, API keys, models, OpenAI-compatible inference, basic routing, TEE model selection. | chutes-ai (hub), chutes-routing, chutes-tee |
| Build on Chutes | "Sign in with Chutes" — OAuth 2.0 + OIDC + PKCE. Register apps, vendor the upstream Next.js package, manage scopes, rotate client secrets safely. | chutes-sign-in |
| Operate on Chutes | Spend + quota dashboards, fleet-scale OAuth app audit, bulk secret rotation, alias governance, TEE attestation verification. | chutes-usage-and-billing, chutes-platform-ops, chutes-tee |
| Run agents with Chutes | Chute deploy (vLLM / diffusion / TEE via the SDK's tee=True), MCP server + drop-in configs for Cursor / Cline / Aider / Hermes / Claude Desktop, autonomous agent registration. |
chutes-deploy [BETA], chutes-mcp-portability, chutes-agent-registration [BETA] |
Wave 1 shipped the core four-lane split with wave-2 skills as stubs. Wave 2 landed all four wave-2 stubs as full live-verified skills + a new chutes-tee attestation skill, and graduated most wave-1 items out of BETA after live end-to-end verification against a real Chutes account.
Beta features
Anything that touches chute deployment — or anything that hasn't been exercised against a live Chutes account before the commit that introduced it — ships labeled BETA. A BETA label is only removed by a commit that references a recorded verification run.
Wave-2 live verification (2026-04-13) — what graduated
Exercised end-to-end against a real Chutes account during wave 2 (see ~/.claude/plans/chutes-maxi-wave-2.md) and graduated out of BETA. Every non-deploy skill was verified with real API calls and real data shapes.
chutes-sign-in— fullregister → vendor → rotatecycle verified on a scratch Next.js App Router project; OAuth app created + deleted server-side. Two real wave-1 bugs caught and fixed during verification (wrong upstream source paths;rotate_secret.pypath segment usingclient_idinstead ofapp_idUUID). Onlyverify_siwc.pystep 4 (dev-server hit) stays BETA.chutes-mcp-portability—chutes-mcp-server --self-checkpassed + 7 read tools exercised live:chutes_list_models,chutes_get_quota,chutes_list_aliases,chutes_list_chutes,chutes_get_usage,chutes_get_discounts,chutes_list_api_keys.chutes-routing— new full skill.build_pool.pyverified across 3 intents + alias round-trip;audit_pool.pyverified. Caught + fixed wave-1 schema bug:/model_aliases/accepts{alias, chute_ids:[uuid,...]}, not{alias, model}.chutes-usage-and-billing— new full skill.spend_summary.py,cost_breakdown.py,quota_guard.py,download_export.pyall verified. Discovered that/users/me/subscription_usageis the real personal spend dashboard (4-hour + monthly caps);/invocations/*and/payments*are platform-wide aggregates; exports are CSV not JSON.chutes-platform-ops— new full skill.list_apps.py,audit_stale_apps.py,rotate_all.py --dry-run,alias_crud.pyall verified against 16 real OAuth apps on the test account. Found that/idp/apps?mine=trueis ignored — client-side filter required.chutes-tee— brand new skill.fetch_evidence.py,verify_quote.py,verify_gpu_attestation.py,attest_chute.pyall exercised live against a real TEE chute (Qwen/Qwen3-32B-TEE). Parsed real TDX v4 quote (5006 bytes, 7 instances, 56 Hopper GPUs). Ships asshape-validverdict; cryptographic validation is opt-in via Intel DCAP tooling.manage_credentials.py—app_idfield added; OAuth env aliases verified live.
2026-06-11 refresh — what changed on the platform
A full re-verification pass (real GETs against the live API, no management writes, plus a live paid completion call) updated the toolkit. The wave-2 records above are kept as history; current facts that supersede them:
- Auth inverted since April:
Authorization: Bearer cpk_...now works on bothllm.chutes.aiandapi.chutes.ai— verified live 2026-06-11, including a real paidPOST /v1/chat/completions(HTTP 200, completion returned);X-API-Keyreturns 401 on the management API, and on inference it is confirmed silently ignored: the same completion POST sent withX-API-Keygot the anonymous nginx 429 rate-limit response, byte-identical to a fully unauthenticated POST, while Bearer succeeded in the same minute. Bearer is the platform-recommended header everywhere. The old "fingerprint-login JWT required for/users/me" workaround is no longer needed for GETs.GET /v1/modelsis now public (no auth required). - Catalog collapsed to TEE-only: 13 models, every one
-TEE/confidential_compute: true. The entire non-TEE tier (including all Llama models) is gone. New flagships since April: Kimi-K2.5/K2.6, GLM-5/5.1, Qwen3.5-397B, MiniMax-M2.5, DeepSeek-V3.2, Gemma-4, Nemotron-3-Ultra. PUT /chutes/{id}/teeifyis gone from the API (verified absent fromopenapi.json2026-06-11). The deploy-side TEE switch is the SDK'stee=Truetemplate kwarg.teeify_chute.pyand the MCPchutes_teeifytool are marked defunct.- TEE attestation re-verified end-to-end: the same Qwen3-32B-TEE chute now reports 14 instances on Blackwell GPUs (was 7 instances / Hopper in April); evidence endpoint requires a 64-hex-char
noncequery param; new publicGET /servers/tee/measurementsgolden-measurement endpoint verified. - Usage/billing re-verified:
spend_summary.py,cost_breakdown.py,quota_guard.pyall ran live unchanged. Hourly exports now need a.csvsuffix and are frozen at 2026-04-20 (later dates 404;/invocations/exports/recentreturns 500 — unverified whether intentional, as of 2026-06-11). - Agent registration: live status GET re-verified; terminal status is
"completed"(not"ready"as previously documented). - Read-only scripts across
chutes-platform-ops,chutes-routing, andchutes-agent-registrationwere re-run live; write/deploy flows were not re-exercised and keep their existing labels. Exception:POST /v1/chat/completionswas exercised live with Bearer on 2026-06-11 (direct model id,unsloth/Mistral-Nemo-Instruct-2407-TEE) — the response carriedx-chutes-invocationidplus quota headers, andusage.prompt_tokens_details.cached_tokensshows prompt caching is active on inference.
Still BETA
chutes-deploy— permanent BETA under the deploy-features policy. Wave-2 live verification found that the easy-deploy lanes (POST /chutes/vllm,POST /chutes/diffusion) were gated server-side with HTTP 403{"detail":"Easy deployment is currently disabled!"}on at least some account classes; both endpoints are still present inopenapi.jsonbut the gate could not be re-probed read-only, so assume gated (unverified as of 2026-06-11). The API requiresrevisionto be a full 40-hex HF commit SHA (^[a-fA-F0-9]{40}$) — now verified server-side, and--revisionbranch→SHA auto-resolve is in place.teeify_chute.pyis [BETA — DEFUNCT]:PUT /chutes/{id}/teeifyno longer exists. A new self-serve private TEE deploy product (RTX Pro 6000, $1.80/hr + 3× hourly deploy fee) appeared on the pricing page [BETA] (unverified as of 2026-06-11).chutes-agent-registration— dry-run verified. Stays BETA because creating a real Bittensor-backed agent account has on-chain implications that are the wrong shape for automated verification. Graduates on the first intentional human-initiated agent registration.chutes-sign-in:verify_siwc.py— steps 1-3 (files / env / keychain) verified live; step 4 (dev server/api/auth/chutes/sessionhit) requiresnpm install+npm run devwhich is out of scope for automated verification.chutes-platform-ops:introspect_token.py/revoke_token.py— both need a real OAuth access token from a completed SIWC browser flow. Graduate on the first live run against a real token.chutes-mcp-portabilitywrite tools —chutes_deploy_vllm,chutes_deploy_diffusion,chutes_teeify(now also deprecated in place: the upstream endpoint is gone),chutes_set_alias,chutes_delete_alias,chutes_create_api_keystay permanent BETA under the deploy-features policy.chutes_set_alias/chutes_delete_aliaswere functionally exercised in wave 2 (and the wave-1 schema bug was fixed), but deploy-side writes keep the label.chutes-mcp-portabilitythree unexercised read tools —chutes_chat_complete(the underlyingPOST /v1/chat/completions+ Bearer auth were verified live 2026-06-11 via direct curl, but the tool itself has not been exercised through the MCP path),chutes_get_evidence(thechutes-teeskill exercises the underlying endpoint but not through the MCP path),chutes_oauth_introspect(needs a live OAuth token).chutes-teeverified-verdict pipeline — the scripts detect Intel DCAP but the cryptographic-validation wiring is spec-only;shape-validremains the practical verdict ceiling [BETA].- Research data-opt-in proxy (25% discount) — documented from
chutes.ai/llms.txt, not exercised end-to-end on this account [BETA].
Install for Claude (Code / Cowork)
Option 1: Plugin Marketplace (recommended)
Add this repo as a marketplace, then install the plugin:
/plugin marketplace add Veightor/chutes-agent-toolkit
/plugin install chutes-ai@chutes-agent-toolkit
Claude now has the full four-lane skill suite. Try asking:
- "Set me up with a Chutes account and API key" →
chutes-aihub - "Add Sign in with Chutes to my Next.js app" →
chutes-sign-in[BETA] - "Deploy Qwen 3 as a vLLM chute with a stable alias" →
chutes-deploy[BETA] - "Make Chutes available in Cursor via MCP" →
chutes-mcp-portability[BETA] - "What open-source models are available on Chutes?" →
chutes-aihub - "Set up TEE-only routing for lowest latency" →
chutes-aihub (deep recipes inchutes-routing)
Option 2: Direct Skill Copy
If you prefer not to use the marketplace system, copy the skills directly:
cp -r plugins/chutes-ai/skills/* ~/.claude/skills/
Install for Other Agents
Hermes
Hermes works with Chutes today via named OpenAI-compatible provider configuration (providers: preferred, legacy custom_providers: still supported), and has a full Hermes skill mirror at other-agents/hermes/skills/:
other-agents/hermes/skills/chutes-ai/— hubother-agents/hermes/skills/chutes-sign-in/[BETA: dev-server verification only]other-agents/hermes/skills/chutes-routing/— verified routing + alias pool builderother-agents/hermes/skills/chutes-usage-and-billing/— verified read-only spend/quota diagnosticsother-agents/hermes/skills/chutes-platform-ops/— mixed; token scripts remain BETAother-agents/hermes/skills/chutes-deploy/[BETA: deploy-side writes]other-agents/hermes/skills/chutes-mcp-portability/— MCP read tools verified; write tools BETAother-agents/hermes/skills/chutes-agent-registration/[BETA]other-agents/hermes/skills/chutes-tee/— TEE evidence parsing, shape-valid attestation
See also:
docs/hermes-chutes-toolkit-guide.mdother-agents/hermes/README.mdother-agents/hermes/config-examples/
Hermes users can either copy those skills into ~/.hermes/skills/ or mount the directory with skills.external_dirs in ~/.hermes/config.yaml. Scripts live in the Claude plugin tree; Hermes users invoke them from the repo root. There is one implementation, two skill trees.
Hermes users and maintainers can also run the local smoke test before editing config:
python3 scripts/hermes_chutes_doctor.py --emit-config
It checks Hermes availability, fetches the live public model catalog, detects whether CHUTES_API_KEY is configured without printing the raw key, and emits a safe provider snippet. Draft Chutes-site pages for promoting Hermes agent use live in site/pages/hermes.md and site/pages/hermes-recipes.md.
OpenClaw 🦞 [BETA]
[BETA] Doc-derived from OpenClaw's official model-providers guide; the Chutes side is live-verified, the OpenClaw wiring is not yet exercised end-to-end. Details in
other-agents/openclaw/README.md.
OpenClaw is a self-hosted gateway that wires your chat apps (Discord, Slack, Telegram, iMessage, WhatsApp, Teams, Signal, Matrix, …) to AI coding agents. Chutes plugs in as an OpenAI-compatible provider in openclaw.json (JSON5), so your channel agents run on open-source TEE models:
models: {
providers: {
chutes: {
baseUrl: "https://llm.chutes.ai/v1",
apiKey: "${CHUTES_API_KEY}",
api: "openai-completions",
models: [{ id: "deepseek-ai/DeepSeek-V3.2-TEE", name: "DeepSeek V3.2 (TEE)" }],
},
},
}
Full guide + routing/vision config examples: other-agents/openclaw/README.md · config-examples/.
Codex
Codex-style coding agents can use Chutes anywhere the runtime accepts an OpenAI-compatible base URL, Bearer API key, and model value. Use CHUTES_API_KEY, point the base URL at https://llm.chutes.ai/v1, and choose a concrete model ID from the live /v1/models catalog (or a default:latency / default:throughput routing alias after configuring a pool once at chutes.ai/app → Model Routing).
See other-agents/codex/README.md for setup patterns, routing presets for coding/review/planning/background work, credential handling, and current verification limits.
Any OpenAI-compatible client (Aider, Cursor, Cline, LangChain, LiteLLM, …)
The chutes-mcp-portability skill generates drop-in configs:
python plugins/chutes-ai/skills/chutes-mcp-portability/scripts/generate_agent_config.py \
--target cursor,aider,hermes
For MCP-aware clients, install the stdio MCP server:
uv tool install chutes-mcp-server \
--from plugins/chutes-ai/skills/chutes-mcp-portability/mcp-server
See other-agents/openai-compatible/README.md for the raw OpenAI-compat setup.
Any LLM Agent (GPT, Gemini, Llama, etc.)
Copy the contents of other-agents/system-prompt/chutes-agent-prompt.md (or generate a fresh one via generate_agent_config.py --target system-prompt) into your agent's system prompt.
Quick inference snippet (verified live auth shape, 2026-06-11):
import requests
response = requests.get(
"https://llm.chutes.ai/v1/models",
headers={"Authorization": "Bearer cpk_..."},
timeout=30,
)
response.raise_for_status()
Note: auth behavior inverted since the April verification. Live tests on 2026-06-11 show Authorization: Bearer cpk_... working on both llm.chutes.ai and api.chutes.ai — including a real paid POST /v1/chat/completions (HTTP 200, completion returned) — while X-API-Key returns 401 on the management API and is confirmed silently ignored on inference (a completion POST with it hit the anonymous 429 path, byte-identical to no auth at all). Use Bearer everywhere — this is also what the platform's own ai-plugin.json instructs. Standard OpenAI SDKs (which send Bearer) work as-is. GET /v1/models no longer requires auth at all.
Standard machine-readable interfaces:
- Plugin manifest:
https://chutes.ai/.well-known/ai-plugin.json - OpenAPI spec:
https://api.chutes.ai/openapi.json - Agent-facing docs:
https://chutes.ai/llms.txt(alsollms-full.txtanddocs.json)
What agents can do
- Create accounts — register on Chutes.ai with proper credential handling and backup
- Manage API keys — create, list, and delete
cpk_prefixed keys - Secure credential store — save keys to the OS keychain and read them back in future sessions
- Discover models — browse the live catalog with real-time pricing from
/v1/models;docs/known-models.mdanddata/chutes-models.jsonare auto-refreshed daily by GitHub Actions from that public endpoint. TTFT/TPS comes from/invocations/stats/llm, not the models list. For non-chat chutes (embedding, image, video, audio, guard-classifier, segmentation) that/v1/modelsnever returns, see the full-modalitydocs/model-pages.mdcatalog - Make inference calls — OpenAI-compatible request/response API; authenticate with
Authorization: Bearer cpk_...everywhere - Model routing — failover, latency-optimized, or throughput-optimized multi-model pools
- Model aliases — stable semantic handles like
interactive-fastthat survive model churn - Sign in with Chutes [BETA] — turn any Next.js App Router app into an OAuth relying party
- Deploy chutes [BETA] — vLLM / diffusion / custom CDK deploy (TEE via
tee=True), stream build logs - MCP portability [BETA] — drive Chutes from Cursor / Cline / Aider / Hermes / Claude Desktop
- Billing — top up via crypto ($TAO/Bittensor) or Stripe (25+ payment methods)
- Usage tracking — quotas, invocation stats, per-model costs
- TEE models — hardware-isolated inference via Intel TDX for privacy-sensitive workloads; the entire hosted catalog is now TEE-backed, with verifiable attestation via the
chutes-teeskill
Secure credential store
This toolkit includes manage_credentials.py — a secure credential manager that stores API keys, fingerprints, and OAuth secrets in the OS keychain rather than plaintext files. Credentials persist across sessions and projects, so once saved, agents can read them back automatically in future conversations.
Security model
| Data | Storage | Protection |
|---|---|---|
api_key (cpk_...) |
OS keychain | Encrypted at rest, per-app access control |
fingerprint (32-char master credential) |
OS keychain | Encrypted at rest, per-app access control |
client_id / client_secret (OAuth apps, cid_ / csc_) |
OS keychain | Encrypted at rest, per-app access control |
username, user_id (non-secret metadata) |
~/.chutes/config |
chmod 600, directory chmod 700 |
Backend auto-detection:
- macOS → Keychain Access (via
securitycommand) - Linux → freedesktop Secret Service (GNOME Keyring / KDE Wallet, via
secret-tool) - Fallback → AES-256-GCM encrypted file with key derived from machine identity (PBKDF2-SHA256, 600k iterations)
What this protects against:
- Other users on the same machine reading secrets
- Malware with user-level file access (keychain requires explicit app authorization)
- Disk image / backup theft (keychain entries are not in standard backups)
- Accidental git commits (
~/.chutes/.gitignorecontains*as a guard) ps auxexposure — secrets are never passed as command-line arguments to child processes
CLI reference
# Save a full credential profile
python manage_credentials.py set-profile \
--username alice \
--user-id 550e8400-e29b-41d4-a716-446655440000 \
--fingerprint <32-char-fingerprint> \
--api-key cpk_...
# Read a specific field (raw value, safe for shell substitution)
python manage_credentials.py get --field api_key
# Read all fields as JSON
python manage_credentials.py get
# Update a single field
python manage_credentials.py set --field api_key --value cpk_new...
# Manage multiple profiles (default, production, oauth.my-app, etc.)
python manage_credentials.py set-profile --profile production --api-key cpk_prod...
python manage_credentials.py get --profile production --field api_key
python manage_credentials.py list-profiles
# Save OAuth app credentials (used by chutes-sign-in)
python manage_credentials.py set-profile \
--profile oauth.my-app \
--client-id cid_... \
--client-secret csc_...
# Status check (shows backend, profiles, permissions — no secrets)
python manage_credentials.py check
# Delete a profile from both config and the keychain
python manage_credentials.py delete --profile production
Environment variable overrides
For CI/CD and headless environments, env vars always take precedence over the stored keychain values:
| Variable | Field | Notes |
|---|---|---|
CHUTES_API_KEY |
api_key |
|
CHUTES_FINGERPRINT |
fingerprint |
|
CHUTES_OAUTH_CLIENT_ID |
client_id |
preferred name (matches SIWC upstream) |
CHUTES_CLIENT_ID |
client_id |
legacy alias, still accepted |
CHUTES_OAUTH_CLIENT_SECRET |
client_secret |
preferred name |
CHUTES_CLIENT_SECRET |
client_secret |
legacy alias, still accepted |
CHUTES_PROFILE |
active profile name |
Agent usage pattern
When any Chutes skill is invoked in a new session, it first runs manage_credentials.py check to see if credentials already exist. If so, it reads the API key silently for use in API calls — never pasting raw secrets into the conversation. If not, it walks the user through account creation and saves credentials immediately after.
Note on the deprecated
save_credentials.py: The originalsave_credentials.pyscript wrote credentials to a plaintext backup file. It is now deprecated and emits a warning — usemanage_credentials.pyfor all new credential storage.
Repo structure
chutes-agent-toolkit/
├── plugins/
│ └── chutes-ai/
│ ├── .claude-plugin/plugin.json
│ └── skills/
│ ├── chutes-ai/ # hub (Use Chutes lane)
│ │ ├── SKILL.md
│ │ ├── references/
│ │ │ ├── api-reference.md
│ │ │ ├── known-models.md
│ │ │ └── model-aliases.md # NEW
│ │ └── scripts/
│ │ ├── manage_credentials.py
│ │ └── save_credentials.py # deprecated
│ ├── chutes-sign-in/ # [BETA] Build on Chutes
│ │ ├── SKILL.md
│ │ ├── references/ (oauth-flow, idp-endpoints, scope-cookbook, frameworks/)
│ │ └── scripts/ (register_oauth_app, install_siwc, verify_siwc, rotate_secret)
│ ├── chutes-deploy/ # [BETA] Run agents with Chutes
│ │ ├── SKILL.md
│ │ ├── references/ (vllm-recipe, diffusion-recipe, teeify, rolling-updates)
│ │ └── scripts/ (deploy_vllm, deploy_diffusion, build_image, deploy_custom, teeify_chute, alias_deploy)
│ ├── chutes-mcp-portability/ # [BETA] Run agents with Chutes
│ │ ├── SKILL.md
│ │ ├── references/ (mcp-tool-map, cursor-setup, cline-setup, aider-setup, openrouter-style)
│ │ ├── mcp-server/ (server.py, pyproject.toml)
│ │ └── scripts/generate_agent_config.py
│ ├── chutes-routing/ # verified live
│ ├── chutes-usage-and-billing/ # verified live (read-only)
│ ├── chutes-platform-ops/ # mixed; token scripts BETA
│ ├── chutes-tee/ # shape-valid attestation
│ └── chutes-agent-registration/ # [BETA]
├── other-agents/
│ ├── hermes/
│ │ ├── README.md
│ │ ├── config-examples/
│ │ └── skills/ # symmetric mirror of the Claude tree
│ │ ├── chutes-ai/
│ │ ├── chutes-sign-in/ # [BETA: dev-server verification]
│ │ ├── chutes-routing/ # verified
│ │ ├── chutes-usage-and-billing/ # verified read-only
│ │ ├── chutes-platform-ops/ # mixed; token scripts BETA
│ │ ├── chutes-deploy/ # [BETA: deploy writes]
│ │ ├── chutes-mcp-portability/ # read tools verified; writes BETA
│ │ ├── chutes-agent-registration/ # [BETA]
│ │ └── chutes-tee/ # shape-valid attestation
│ ├── openclaw/ # OpenClaw gateway integration
│ │ ├── README.md
│ │ └── config-examples/ # openclaw.json, openclaw-routing.json
│ ├── system-prompt/
│ │ └── chutes-agent-prompt.md
│ └── openai-compatible/
│ └── README.md
├── docs/
│ ├── endpoint-guide.md # ⭐ universal one-page endpoint guide
│ ├── api-reference.md
│ ├── known-models.md
│ ├── hermes-chutes-toolkit-guide.md
│ ├── roadmap.md
│ ├── hermes-integration-spec.md
│ ├── chutes-maxi-proposal.md # Hermes-generated proposal
│ ├── credential-store.md
│ ├── save-credentials-deprecation.md
│ └── llms-txt-review.md
├── cookbook/ # runnable examples, live-verified 2026-06-11
│ ├── README.md
│ ├── python/ (01_first_call → 08_video_generation)
│ └── javascript/chat.mjs
├── site/ # draft chutes.ai pages promoting agent use
│ ├── README.md # page map + widget specs
│ └── pages/ (agents, connect-your-agent, private-inference, + per-client deep-dive/recipes pairs for claude, codex, hermes)
├── data/ (chutes-models.json, chutes-model-pages.json, agent-use-cases.json, model-pages/) # LLM snapshot + full-modality model-page catalog + use-case feed
├── docs/model-pages.md # full-modality catalog (build_model_pages.py)
├── docs/site-agent-growth-kit.md # site-builder source material (pairs with the use-case feed)
├── llms.txt # agent-facing index of this repo
├── evals/ (evals.json, README.md)
├── scripts/run_evals.py
├── scripts/pick_model.py # task → model/routing recommender (live catalog)
├── scripts/build_agent_site_pack.py # renders site cards from data/agent-use-cases.json
├── scripts/hermes_chutes_doctor.py # Hermes + Chutes local smoke test / config emitter
├── tests/ (manage_credentials, run_evals, pick_model, build_agent_site_pack, hermes_chutes_doctor)
├── LICENSE
└── README.md
Chutes.ai links
| Resource | URL |
|---|---|
| Dashboard | https://chutes.ai/app |
| Documentation | https://chutes.ai/docs |
| API Swagger UI | https://api.chutes.ai/docs |
| OpenAPI spec | https://api.chutes.ai/openapi.json |
| Models (JSON, public) | https://llm.chutes.ai/v1/models |
| Agent-facing docs (llms.txt) | https://chutes.ai/llms.txt |
| Plugin manifest | https://chutes.ai/.well-known/ai-plugin.json |
| Public GPU/TAO pricing (JSON) | https://api.chutes.ai/pricing |
| Sign in with Chutes (upstream) | https://github.com/chutesai/Sign-in-with-Chutes |
GitHub (SDK, PyPI chutes 0.6.9 stable) |
https://github.com/chutesai/chutes |
| Vercel AI SDK provider | https://www.npmjs.com/package/@chutes-ai/ai-sdk-provider |
Model snapshot automation:
scripts/update_chutes_models.pyfetcheshttps://llm.chutes.ai/v1/modelswith no auth headers..github/workflows/refresh-chutes-models.ymlruns it once per day and on manual dispatch.- Generated outputs:
data/chutes-models.json,docs/known-models.md, andplugins/chutes-ai/skills/chutes-ai/references/known-models.md.
Full-modality model-page catalog:
scripts/build_model_pages.pyparses the per-modelllms.txtpages vendored underdata/model-pages/(embedding, image, video, audio, guard-classifier, segmentation chutes — the ones/v1/modelsnever lists).- Generated outputs:
data/chutes-model-pages.jsonanddocs/model-pages.md. Chat LLMs are keyed offdata/chutes-models.json, so this catalog never fights the daily snapshot refresh.
Contributing
PRs welcome. The shared canon lives in docs/; update there and changes benefit every platform. Wave-1 skills live in plugins/chutes-ai/skills/; Hermes mirrors live in other-agents/hermes/skills/. Scripts are single-sourced in the Claude plugin tree.
Eval tooling:
evals/evals.jsonevals/README.mdscripts/run_evals.py
Useful planning docs:
docs/roadmap.mddocs/hermes-integration-spec.mddocs/chutes-maxi-proposal.mddocs/credential-store.md
License
MIT
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi