# T3 Code を QCode.cc に接続

> **最終確認**：2026-11-09 · 📄 公式ドキュメント準拠（T3 Code v0.1.7、2026-11-04 公開。T3 Code の main ブランチのドキュメントは 2026-11-09 に確認）

## 概要

| 項目 | 内容 |
|---|---|
| それは何か | T3 Code はデスクトップ・Web・モバイルの各アプリを備えた "agent harness control surface" です。マシン上の既存エージェントを操作し、それ自体は harness ではありません |
| 利用できるモデル | Claude ✅（Anthropic エンドポイントを指す Claude インスタンス）· 中国系モデル（GLM / Kimi / DeepSeek / Qwen）も同じエンドポイントで利用できます。[エンドポイントと API パス](/docs/getting-started/endpoints-and-api-paths) を参照 · GPT ❌（この経路では利用不可）· Gemini ❌（QCode は現在 Gemini モデルを提供していません） |
| プロトコルと Base URL | Anthropic：`https://api.qcode.cc/api` |
| 設定場所 | **Settings > Providers** → Claude インスタンス → **Environment variables** |
| 公式ドキュメント | [T3 Code の Claude provider ガイド](https://github.com/pingdotgg/t3code/blob/main/docs/user/providers-claude.md) · [FAQ](https://github.com/pingdotgg/t3code/blob/main/docs/user/faq.md) |

## どのプロトコルを使うか

T3 Code 自身はモデル API を呼びません。公式 FAQ には "T3 Code uses those harnesses. It is not a harness, and it does not work without one." とあります。Claude 側の harness は Claude Code なので、QCode のつなぎ方も Claude Code 本体と同じです。Anthropic Messages の base URL と QCode キーを使います。

公式 FAQ は「サブスクリプションの代わりに API キーや OpenRouter を使えるか」に「はい」と答えています。Settings で provider インスタンスをもう 1 つ追加し、専用のキーとエンドポイントを設定すれば、既存のサブスクリプション設定はそのまま残ります。

| 使いたいモデル | T3 Code での設定 | QCode の `ANTHROPIC_BASE_URL` |
|---|---|---|
| Claude（`claude-sonnet-5`、`claude-opus-5` など） | 専用の **Environment variables** を持つ Claude インスタンス | `https://api.qcode.cc/api` |
| Codex / GPT | Codex インスタンス（後述の「Codex インスタンス」を参照） | 該当なし |

Claude モデルは Anthropic プロトコルでしか動かないため、base URL は `/api` までです。`/v1/messages` は Claude Code が自動的に補います。末尾に `/` を付けないでください。プロトコルの完全な対応表は [エンドポイントと API パス](/docs/getting-started/endpoints-and-api-paths) にあります。

## インストール

T3 Code は、エージェントを動かすマシンに少なくとも 1 つの provider がインストールされている必要があります。このガイドでは Claude Code を使うため、先に [QCode インストールガイド](/docs/getting-started/installation) に沿って用意してください。下の「設定」で追加する Claude インスタンスは QCode キーで認証します。

続いて T3 Code をインストールします。公式のコマンドは次のとおりです。

```bash
curl -fsSL https://t3.codes/install.sh | sh
```

Windows では PowerShell で次を実行します。

```powershell
irm https://t3.codes/install.ps1 | iex
```

`t3` を実行するとサーバーが起動し、ローカルの Web アプリが開きます。インストールせずに一度だけ試す場合は `npx t3@latest` を使います。デスクトップアプリは [GitHub Releases](https://github.com/pingdotgg/t3code/releases) またはパッケージマネージャーからも入手できます。

| プラットフォーム | インストール |
|---|---|
| Windows | `winget install T3Tools.T3Code` |
| macOS | `brew install --cask t3-code` |
| Debian、Ubuntu | `sudo apt install ./T3-Code-*.deb` |
| Arch Linux | `yay -S t3code-bin` |

Intel Mac 向けの `t3` 実行ファイルはありませんので、デスクトップアプリを使ってください。その他のプラットフォームとモバイルアプリは [公式インストールガイド](https://github.com/pingdotgg/t3code/blob/main/docs/user/install.md) に掲載されています。

## 設定

Anthropic プロトコルを話すルーター向けの公式の手順は、専用の設定ディレクトリを持つ独立した Claude インスタンスを用意することです。以下ではこれを QCode に当てはめます。

公式のインストールガイドによれば、provider インスタンスごとに API キーやカスタムの base URL などの環境変数を持たせることができ、sensitive にした値は保存後に元の値が表示されません。

1. **Settings > Providers** を開き、Claude インスタンスを追加します。**Binary path** は `claude` のままにし、**CLAUDE_CONFIG_DIR path** には専用のフォルダーを指定します。公式の OpenRouter の例では `~/.claude_openrouter` を使うため、`~/.claude_qcode` のような名前も同じ発想です。
2. そのインスタンスの **Environment variables** に次を追加します。

   | 変数 | 値 |
   |---|---|
   | `ANTHROPIC_BASE_URL` | `https://api.qcode.cc/api` |
   | `ANTHROPIC_AUTH_TOKEN` | あなたの QCode キー（`cr_` で始まる）。Sensitive にチェック |
   | `ANTHROPIC_API_KEY` | 明示的に空の値 |

   変数の代入は **Launch arguments** ではなく **Environment variables** に書きます。
3. その Claude 設定ディレクトリに Anthropic のログインがキャッシュされている場合は、開始前に同じディレクトリを使う Claude Code セッションで `/logout` を実行します。公式ガイドは、キャッシュされたログイン情報がルーターのトークンと競合しうると注意しています。
4. T3 Code でモデルを選びます。組み込み一覧にないモデルは、**Settings > Providers** でその Claude インスタンスを開き、**Add custom model** で完全なモデル ID を追加します。例は [qcode.cc/models](https://qcode.cc/models) の `claude-sonnet-5` です。追加したらチャットのモデル選択で選びます。

公式ガイドの注意点が 2 つあります。`ANTHROPIC_DEFAULT_*_MODEL` 変数は `sonnet` のような Claude Code の別名に対応するもので、T3 Code で選んだ明示的なモデル ID を置き換えはしません。カスタムモデルは、組み込みモデルより effort・thinking・コンテキストの制御項目が少ない場合があります。

同じキーは QCode の他の接続ドメイン（`us.qcode.cc`、`asia.qcode.cc`）でも使えます。`ANTHROPIC_BASE_URL` のホストを差し替え、パスは `/api` のままにしてください。[エンドポイントと API パス](/docs/getting-started/endpoints-and-api-paths) を参照。

### Codex インスタンス

T3 Code の Codex ガイドは ChatGPT でのログインと既存の Codex CLI ログインの引き継ぎを扱っています。インストール済みの Codex を使うインスタンスがどこから設定を読むかは、T3 Code のソースで確認できます（v0.1.7。2026-11-09 に確認した main ブランチも同じ行番号）。

- インストール済みの Codex を使うインスタンスでは、T3 Code が Codex の app server を起動し、`CODEX_HOME` に入力した **CODEX_HOME path** を設定します（`apps/server/src/provider/CodexProvider.ts`、476–482 行）。Codex ガイドの例ではこの欄に `~/.codex` を入れています。
- ソースに同梱された Codex app-server schema は、ユーザー設定レイヤーを `$CODEX_HOME/config.toml` として記述しています（`packages/effect-codex-app-server/src/_generated/schema.gen.ts`、19730 行）。
- T3 Code 内で ChatGPT を使う接続は異なります。T3 Code は独自の `model_provider` を設定し、`OPENAI_BASE_URL` を削除するため（`apps/server/src/provider/CodexManagedRuntime.ts`、24–26 行と 124 行）、QCode の設定はそこには適用されません。

つまり T3 Code v0.1.7 では、既存の Codex を使うインスタンスは、その Codex home の `config.toml` を読みます。先に [Codex ガイド](/docs/ide/codex) に沿って Codex を QCode 向けに設定します。`~/.codex/config.toml` に `qcode` provider を書き、キーは `OPENAI_API_KEY` として `~/.codex/auth.json` に入れます。次に **Settings > Providers** で Codex インスタンスを追加し、**Configure manually** を選んでウィザードを完了します。インスタンスの **CODEX_HOME path** は、この 2 つのファイルがあるフォルダー（例：`~/.codex`）にします。最後にスレッドのモデル選択でそのインスタンスを選びます。

## 疎通確認

1. 新しいスレッドを開き、その Claude インスタンスとカスタムモデルを選び、`ping` のような短いメッセージを送ります。
2. [probe.qcode.cc](https://probe.qcode.cc) を開き、QCode キーを入力して、選んだモデルでリクエストが表示されることを確認します。これはルーターのアクティビティ画面でモデルを確かめるという公式の助言に相当します。
3. T3 Code を通さずにキーとパスを確認する場合：

```bash
curl -X POST https://api.qcode.cc/api/v1/messages \
  -H "x-api-key: YOUR_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{"model":"claude-sonnet-5","max_tokens":32,"messages":[{"role":"user","content":"ping"}]}'
```

## トラブルシューティング

| 症状 | 原因 | 対処 |
|---|---|---|
| provider が表示されない | CLI が入っていない、またはサーバーを動かすマシンの `PATH` にない | `claude` をそのマシンにインストールするか、provider 設定の **Binary path** で指定します（公式 FAQ） |
| `Invalid API key` | キーの誤り、または余分な空白 | `cr_` で始まることを確認し、`ANTHROPIC_AUTH_TOKEN` に設定して `ANTHROPIC_API_KEY` は空のままにします |
| キーが正しいのに認証エラー | 同じ Claude 設定ディレクトリに Anthropic のログインがキャッシュされている | そのディレクトリを使う Claude Code セッションで `/logout` を実行するか、インスタンスに新しい設定ディレクトリを割り当てます |
| 404 | base URL の末尾に `/` がある、または `/v1/messages` を書き込んだ | 厳密に `https://api.qcode.cc/api` を指定します |
| モデルが原因でリクエストが拒否される | Claude インスタンスで GPT のモデル ID を選んだ。Anthropic エンドポイントは GPT を扱いません | ここでは Claude か中国系モデルの ID を使います。GPT は Codex 経由です |
| モデルが選択肢に出てこない | 組み込み一覧にない | **Add custom model** で完全な ID を追加します |
| 402（`*_cost_limit_exceeded`） | キーのクォータを使い切った | [エラーコード](/docs/reference/errors#402-quota-exhausted) を参照 |

## 既知の制限

- T3 Code はまだ初期段階だと公式で述べています。"We are very very early in this project. Expect bugs."
- 公式ガイドのルーター設定は Claude インスタンス向けです。GPT モデルは上記「Codex インスタンス」のとおり Codex インスタンスで使います。
- リモート接続では T3 Code は接続先サーバー上の Claude 設定を使うため、そのマシンでインスタンスを設定してください。

## 関連ドキュメント

- [エンドポイントと API パス](/docs/getting-started/endpoints-and-api-paths) — プロトコル × モデルファミリー対応表
- [ツール互換性一覧](/docs/ide/tool-compatibility) — 各ツールが対応するプロトコル
- [Codex CLI](/docs/ide/codex) — QCode 向けの `config.toml`
- [DeepSeek Harness（dsh）](/docs/ide/deepseek-harness) — カスタムモデル API のフォームを持つ agent harness