> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tokios.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Tokios exposes private local models through https://api.tokios.com using an outbound-only connector tunnel.
> Use 'connector' for the local tokios-connector process.
> Use 'deployment' for the public model name in the API model field.
> Use 'upstream model id' for the model served by Ollama, llama.cpp, vLLM, LM Studio, or another local backend.
> API keys use the prefix sk-tok-. Connector tokens use the prefix ct-tok-.

# 你的 tailnet 值得拥有真正的 AI API

> 你已经在 Tailscale 网络上运行本地模型了。以下是如何添加每用户 API 密钥、OpenAI 兼容端点和远程访问的方法——无需替换 Tailscale。

你的 tailnet 上有一台运行 Ollama 或 vLLM 的 GPU 机器。你从笔记本电脑、手机，也许还有几个朋友或团队成员来访问它。Tailscale 处理网络——SSH、文件共享，甚至可能用 Funnel 提供外部访问。它能用。

但有摩擦。你在共享一个原始的 `100.x.y.z:11434` 地址。tailnet 上的每个人都有相同的访问权限。没有每用户认证，没有模型作用域，没有办法在不影响其他人的情况下撤销某个人的访问。当有人问"我怎么从 Claude Code 使用这个？"时，你要发给他们一份涉及环境变量和 base URL 的 6 步设置指南。

有一个更好的 AI API 访问层——而且你不需要替换 Tailscale 就能添加它。

## Tailscale 做对了什么

Tailscale 在它擅长的领域表现出色：

* **零配置 mesh 网络。** 你的设备自动发现彼此，即使在 CGNAT 后面也是如此。
* **点对点延迟。** 直接的 WireGuard 隧道，中间没有中继服务器。
* **配合 Headscale 离线运行。** 自托管协调服务器，你的 tailnet 无需 Tailscale 的云即可工作。
* **成熟的生态系统。** 10+ 年的开发，数千个集成，活跃的社区。
* **个人使用免费。** 免费层支持最多 100 台设备。

对于基础设施访问——SSH、文件共享、内部服务发现——Tailscale 是正确的工具。你不需要替换它，也不应该。

## Tailscale 在 AI API 方面的不足

Tailscale 是一个网络层。它让你的设备连接起来。但对于 AI API 访问，你仍然缺少：

### 1. 每用户认证

你在 `100.x.y.z:11434` 上的 Ollama 实例没有认证。tailnet 上的任何人都可以调用它。如果你想限制访问，需要添加一个带 basic auth 的反向代理，或者配置 Ollama 的实验性 API 密钥支持（单一共享密钥，不是每用户的）。

vLLM 和 llama.cpp 有可选的单密钥认证，但每个人用的是同一个密钥。没有每用户作用域，没有办法让 Alice 访问模型 A 而 Bob 访问模型 B，也没有办法在不影响 Bob 的情况下撤销 Alice 的访问。

### 2. 面向远程客户端的 OpenAI 兼容端点

Tailscale Funnel 将你的本地服务暴露到互联网，但它仍然是原始的 Ollama/vLLM API——没有认证，没有模型作用域。而且 Funnel 有限制：它只支持 HTTP/HTTPS（不支持原始 TCP），并且受 Tailscale 服务条款的约束。

当团队成员问"我能在不安装 Tailscale 的情况下从手机使用这个吗？"或者"我能把 n8n 工作流指向它吗？"时，答案是"不太容易"。

### 3. 协议转换

你的本地模型说的是 Ollama API 或 vLLM API。你的编码代理（Claude Code、Cursor、Cline、Codex）说的是 OpenAI API 或 Anthropic API。你需要一个转换层。

Tailscale 不提供这个。你需要在 tailnet 上运行 LiteLLM、LocalAI 或自定义代理——又一个要维护的服务，又一个要暴露的端口，又一个可能出问题的东西。

### 4. 无缓冲流式传输

Tailscale Funnel 和 Cloudflare Tunnel 都有 Server-Sent Events (SSE) 缓冲问题。当你的模型逐 token 流式传输响应时，代理会缓冲整个响应，然后一次性发送给客户端。结果就是：你的"流式"聊天界面感觉像卡了 10 秒，然后一次性输出整个响应。

这会破坏交互式聊天、代码补全和任何流式用例的体验。

## 进阶之路：在现有架构上添加 Tokios

Tokios 不是 Tailscale 的替代品。它是一个 API 层，位于你现有基础设施之上——包括你的 tailnet。

以下是它们如何配合：

* **Tailscale** 处理你的 mesh 网络。SSH、文件共享、内部服务、设备发现——全部仍然由 Tailscale 负责。
* **Tokios** 处理你的 AI API 访问。每用户认证、模型作用域、OpenAI 兼容端点、仅出站隧道（不需要 Funnel）、无缓冲流式传输。

你可以在同一台机器上运行两者。Tailscale 在自己的接口上管理 mesh 网络。Tokios 连接器独立拨出到 `api.tokios.com`。它们不冲突。

### 你能得到什么

1. **每用户 API 密钥。** 每个团队成员获得自己的 `sk-tok-…` 密钥，作用域限定到特定模型。Alice 可以访问 `team-llama` 和 `team-qwen`。Bob 只能访问 `team-llama`。你撤销 Alice 的密钥——Bob 不受影响。

2. **OpenAI 兼容端点。** 你的团队用他们的 API 密钥调用 `https://api.tokios.com/v1`。任何 OpenAI 兼容客户端都可以——Python SDK、JavaScript SDK、curl、Claude Code、Cursor、Cline、Continue、Open WebUI。他们的设备上不需要 Tailscale 客户端。

3. **仅出站隧道。** Tokios 连接器拨出到 `api.tokios.com`。没有入站端口，没有 Funnel，没有端口转发。在 CGNAT、企业防火墙、NAT 后面都能工作。你的模型保持在 `127.0.0.1:11434`——只有连接器能访问它。

4. **无缓冲流式传输。** Tokios 正确处理 SSE。你的流式聊天界面真正流式输出。你的代码补全实时完成。没有 10 秒的缓冲延迟。

5. **模型路由。** 通过一个端点服务多个模型（Ollama、vLLM、llama.cpp）。注册部署如 `team-llama`、`team-qwen`、`team-coder`。将它们路由到不同的上游模型或不同的运行时。你的团队调用部署名称；你可以在不修改他们客户端配置的情况下更换后端。

### 5 分钟完成设置

**1. 在模型主机上安装 Tokios 连接器**

```bash theme={"theme":{"light":"github-light","dark":"css-variables"}}
curl -fsSL https://tokios.com/downloads/install/linux | sh -s -- --code TKS-XXXX-XXXX
```

从 [dashboard](https://tokios.com/console) 获取你的 claim code。

**2. 将连接器指向你的本地模型**

```json theme={"theme":{"light":"github-light","dark":"css-variables"}}
{
  "upstream": "http://127.0.0.1:11434/v1"
}
```

你的模型保持在 localhost。连接器向外拨出。

**3. 注册一个部署**

在 **Models** 标签页，将你的上游模型映射到一个公开名称：

* Upstream: `llama3.1`
* Deployment: `team-llama`

**4. 为团队创建 API 密钥**

在 **Keys** 标签页，为每个团队成员创建密钥。将其作用域限定到 `team-llama`。分享密钥和端点 URL（`https://api.tokios.com/v1`）。

**5. 团队调用 API**

```python theme={"theme":{"light":"github-light","dark":"css-variables"}}
from openai import OpenAI

client = OpenAI(
    base_url="https://api.tokios.com/v1",
    api_key="sk-tok-YOUR_KEY",
)

response = client.chat.completions.create(
    model="team-llama",
    messages=[{"role": "user", "content": "Hello"}],
)
```

不需要 Tailscale 客户端。不需要 SSH 隧道。不需要端口转发。

## 何时单独使用 Tailscale

Tailscale 是正确选择的场景：

* **你是唯一用户。** 个人多设备访问——你的笔记本、你的手机、你的台式机。你控制所有设备，不需要每用户认证。
* **你需要基础设施访问。** SSH、文件共享、内部服务发现——不仅仅是 AI API 访问。
* **你处于离线或隔离网络环境。** 配合 Headscale，Tailscale 完全在你的网络上运行，没有外部依赖。
* **预算为 \$0。** 免费层覆盖个人使用，点对点流量没有数据上限。

## 何时添加 Tokios

Tokios 是正确补充的场景：

* **你需要 API 密钥管理。** 多个团队成员或外部用户各自需要自己的作用域凭证。
* **你需要编码代理兼容性。** Claude Code、Cursor、Cline 和类似工具需要 base URL + API 密钥——不是 VPN 连接。
* **你的调用者无法安装客户端软件。** 脚本、CI 管道、SaaS 应用，或者在使用无法安装 Tailscale 的受管理设备的团队成员。
* **你想要无需 VPN 的团队访问。** 给别人一个 URL 和密钥，而不是让他们加入 tailnet。
* **你需要无缓冲的流式传输。** Tailscale Funnel 和 Cloudflare Tunnel 都有 SSE 缓冲问题。Tokios 正确处理流式传输。

## 两者结合使用

大多数团队的最佳设置：**Tailscale 用于基础设施访问，Tokios 用于 AI API 访问。**

* 通过 Tailscale SSH 连接到你的模型服务器。
* 通过 Tailscale 访问 Grafana 仪表板。
* 通过 Tailscale 访问内部服务。
* 通过 Tokios 调用本地模型的 AI API。

它们在不同层运行，互为补充。Tailscale 管理 mesh 网络。Tokios 管理 AI API 网关。在同一台机器上运行两者很简单——它们不冲突。

## 迁移路径

如果你已经在使用 Tailscale Funnel 将模型暴露到互联网，迁移到 Tokios 非常轻松：

1. 在 Tailscale 旁边安装 Tokios 连接器。
2. 将它指向你的本地模型（相同的 `127.0.0.1:11434` 地址）。
3. 注册部署并创建 API 密钥。
4. 将团队的客户端配置更新为使用 `https://api.tokios.com/v1` 而不是 Funnel URL。
5. 禁用模型端口的 Tailscale Funnel（保留给其他服务使用）。

你的团队获得每用户认证、模型作用域和无缓冲流式传输。你在其他方面继续使用 Tailscale。

## 后续步骤

* [团队访问本地模型](https://docs.tokios.com/use-cases/team-access.md) — 为团队提供 API 访问的完整指南
* [Tokios 与 Tailscale 对比](https://docs.tokios.com/guides/tokios-vs-tailscale.md) — 详细对比
* [本地 LLM API](https://docs.tokios.com/guides/local-llm-api.md) — 用 OpenAI 兼容端点暴露你的模型
* [远程访问对比](https://docs.tokios.com/guides/remote-access-comparison.md) — 所有选项的安全性对比


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.