Skip to content
Back to skills

10router

ASecurity

Entry point for 10Router — local/remote AI gateway with OpenAI-compatible REST for chat, image, TTS, embeddings, web search, web fetch. Use when the user mentions 10Router, TENROUTER_URL, or wants AI without writing provider boilerplate. This skill covers setup + indexes capability skills; fetch the relevant capability SKILL.md from the URLs below when needed.

  • 58 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 2, 2026
ai-agentsbashgitapi

Works with

  • api

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 20, 2026

npx -y skills add techysy/10router --skill 10router --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 10router?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for 10router
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/techysy-10router/badge)](https://www.skillsdirectory.com/skills/techysy-10router)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: 10router
description: Entry point for 10Router — local/remote AI gateway with OpenAI-compatible REST for chat, image, TTS, embeddings, web search, web fetch. Use when the user mentions 10Router, TENROUTER_URL, or wants AI without writing provider boilerplate. This skill covers setup + indexes capability skills; fetch the relevant capability SKILL.md from the URLs below when needed.
---

# 10Router

Local/remote AI gateway exposing OpenAI-compatible REST. One key, many providers, auto-fallback.

## Setup

```bash
export TENROUTER_URL="http://localhost:20128"      # or VPS / tunnel URL
export TENROUTER_KEY="sk-..."                      # from Dashboard → Keys (only if requireApiKey=true)
```

All requests: `${TENROUTER_URL}/v1/...` with header `Authorization: Bearer ${TENROUTER_KEY}` (omit if auth disabled).

Verify: `curl $TENROUTER_URL/api/health` → `{"ok":true}`

## Discover models

```bash
curl $TENROUTER_URL/v1/models                  # chat/LLM (default)
curl $TENROUTER_URL/v1/models/image            # image-gen
curl $TENROUTER_URL/v1/models/tts              # text-to-speech
curl $TENROUTER_URL/v1/models/embedding        # embeddings
curl $TENROUTER_URL/v1/models/web              # web search + fetch (entries have `kind` field)
curl $TENROUTER_URL/v1/models/stt              # speech-to-text
curl $TENROUTER_URL/v1/models/image-to-text    # vision
```

Use `data[].id` as `model` field in requests. Combos appear with `owned_by:"combo"`.

Response shape:
```json
{ "object": "list", "data": [
  { "id": "openai/gpt-5", "object": "model", "owned_by": "openai", "created": 1735000000 },
  { "id": "tavily/search", "object": "model", "kind": "webSearch", "owned_by": "tavily", "created": 1735000000 }
]}
```

## Capability skills

When the user needs a specific capability, fetch that skill's `SKILL.md` from its raw URL:

| Capability | Raw URL |
|---|---|
| Chat / code-gen | https://raw.githubusercontent.com/techysy/10router/main/skills/10router-chat/SKILL.md |
| Image generation | https://raw.githubusercontent.com/techysy/10router/main/skills/10router-image/SKILL.md |
| Text-to-speech | https://raw.githubusercontent.com/techysy/10router/main/skills/10router-tts/SKILL.md |
| Speech-to-text | https://raw.githubusercontent.com/techysy/10router/main/skills/10router-stt/SKILL.md |
| Embeddings | https://raw.githubusercontent.com/techysy/10router/main/skills/10router-embeddings/SKILL.md |
| Web search | https://raw.githubusercontent.com/techysy/10router/main/skills/10router-web-search/SKILL.md |
| Web fetch (URL → markdown) | https://raw.githubusercontent.com/techysy/10router/main/skills/10router-web-fetch/SKILL.md |
| Add a custom provider (self-serve) | https://raw.githubusercontent.com/techysy/10router/main/skills/10router-add-provider/SKILL.md |

## Errors

- 401 → set/refresh `TENROUTER_KEY` (Dashboard → Keys)
- 400 `Invalid model format` → check `model` exists in `/v1/models/<kind>`
- 503 `All accounts unavailable` → wait `retry-after` or add another provider account

Files in this skill

  • SKILL.md2.8 KB
  • SKILL.zh-CN.md3 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.