1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Coro Code 実践 — Rust製OSSコーディングエージェントをDeepSeekバックエンドで動かす

1
Last updated at Posted at 2026-06-20

はじめに

「Claude Code は便利だが、サブスクやAPI課金に縛られず、任意のLLMで動く軽量なCLIエージェントが欲しい」——そう感じたことはないでしょうか。

本記事では、Rust製のOSS CLIコーディングエージェント Coro Code を、ソースからビルドして DeepSeek をバックエンド に動かすところまでをハンズオンで解説します。Coro Code は OpenAI 互換プロトコルに対応しているため、base_url を差し替えるだけで DeepSeek・ローカルLLM・各種ゲートウェイなど「OpenAI 互換エンドポイントなら何でも」バックエンドにできるのが特徴です。

この記事で学べること:

  • Coro Code のセットアップ(Rust toolchain からソースビルドまで)
  • DeepSeek を含む OpenAI 互換エンドポイントの設定方法(環境変数 / 設定ファイル)
  • 対話モード・ワンショット実行・設定ファイル指定の使い分け
  • 会話+実行コンテキストの JSON 保存・復元(セッションをまたいで作業を引き継ぐ)
  • Claude Code との違いと現実的な使い分け

対象読者はターミナルでのAI開発に興味があるエンジニアです。

TL;DR: cargo install --git https://github.com/Blushyes/coro-code --bin coro でインストールし、OPENAI_BASE_URL=https://api.deepseek.comOPENAI_MODEL=deepseek-chat を設定すれば、DeepSeek をバックエンドにした OSS コーディングエージェントが手元で動きます。Apache-2.0/MIT のデュアルライセンスで、ベンダーロックインなしに自分で全部コントロールできます。

Coro Code とは

Coro Code は、ByteDance の OSS エージェント Trae Agent(Python 実装)のツール仕様を踏襲しつつ、Rust で書き直したコーディングエージェントです。旧称は Trae Agent Rust。速度・信頼性・UX を重視して再設計されています。

項目 内容
言語 Rust(stable 1.70+ が必要)
ライセンス Apache-2.0 または MIT(デュアル)
UI iocraft 製のリッチなターミナルUI(リアルタイム更新)
ツール bash 実行・ファイル操作・拡張可能なツールシステム
LLM OpenAI 互換(✅ 利用可)/ Anthropic・Google は対応予定(🚧)
特徴 コンテキストの JSON エクスポート / リストア

ポイントは「現時点で実用になるのは OpenAI 互換プロトコル」という点です。Anthropic(Claude)・Google(Gemini)はリポジトリ上「Coming」表記なので、本記事では確実に動く OpenAI 互換ルート、その代表として DeepSeek を使います。

なぜ OSS の CLI エージェントなのか

エンゲージメント実績でも「自分で動かせるOSS/CLI」が強いように、CLI エージェントを OSS で持つメリットは明確です。

  • BYOK / ベンダー非依存: API キーとエンドポイントを自分で選べる。安価な DeepSeek や、社内のOpenAI互換ゲートウェイにも向けられる
  • 設定が手元に残る: JSON 設定ファイルでプロジェクトごとに切り替えられる
  • 監査可能: Rust のソースが公開されており、bash 実行・ファイル操作の挙動を自分で確認できる

セットアップ

1. Rust toolchain を用意する

Coro Code は Rust stable 1.70 以上が必要です。未インストールなら rustup で導入します。

# rustup のインストール(未導入の場合)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# シェルを再読み込み後、バージョン確認
rustc --version   # 1.70 以上であることを確認
cargo --version

2. Coro Code をソースからインストールする

cargo install--git 機能で、リポジトリから直接 coro バイナリをビルド・インストールします。

cargo install --git https://github.com/Blushyes/coro-code --bin coro

ビルドが完了すると ~/.cargo/bin/coro に実行ファイルが配置されます(~/.cargo/binPATH に入っていることを確認してください)。

coro --help

DeepSeek をバックエンドに設定する

設定方法は 環境変数設定ファイル の2通りです。手早く試すなら環境変数、プロジェクトごとに切り替えるなら設定ファイルが便利です。

方法A: 環境変数で設定する

OpenAI 互換プロトコルでは、OPENAI_BASE_URL を DeepSeek のエンドポイントに向け、OPENAI_MODEL でモデルを指定します。

export OPENAI_API_KEY="sk-あなたのDeepSeek APIキー"
export OPENAI_BASE_URL="https://api.deepseek.com"
export OPENAI_MODEL="deepseek-chat"

Coro Code はこのほかにも、プロトコル非依存の汎用上書き変数 CORO_BASE_URL / CORO_MODEL を備えています。複数のOpenAI互換サービスを使い分けるときに役立ちます。

環境変数 用途
OPENAI_API_KEY OpenAI 互換サービスの認証キー
OPENAI_BASE_URL OpenAI 互換サービスのエンドポイント(DeepSeek 等)
OPENAI_MODEL モデル名(例: deepseek-chat
CORO_BASE_URL プロトコルを問わない汎用 base URL 上書き
CORO_MODEL 汎用モデル上書き

方法B: 設定ファイル(JSON)で設定する

プロジェクト直下に coro.config.json のような設定ファイルを置き、--config で読み込ませる方法です。protocolopenai にし、base_url を DeepSeek に向けます。

{
  "protocol": "openai",
  "base_url": "https://api.deepseek.com",
  "api_key": "sk-あなたのDeepSeek APIキー",
  "model": "deepseek-chat",
  "params": {
    "max_tokens": 131072,
    "temperature": 0.7,
    "top_p": 0.9
  }
}

api_key を直書きした設定ファイルは 絶対にコミットしない でください。.gitignore に追加するか、api_key は省略して環境変数(OPENAI_API_KEY)から渡すのが安全です。

実際に動かす

対話モード

引数なしで起動すると、リアルタイム更新されるターミナルUIの対話モードに入ります。

coro

ワンショット実行(タスクを直接渡す)

タスクを文字列で渡すと、その1タスクを実行して終了します。シェルスクリプトや簡単な自動化に組み込みやすい形です。

coro "main.rs のバグを修正して"
coro "このコードベースの構成を解析して README にまとめて"

設定ファイルを指定して実行

coro --config coro.config.json "このリポジトリのテストを追加して"

Coro Code は bash 実行・ファイル操作のツールを内蔵しているため、上記のように「指示 → 実際のファイル変更・コマンド実行」までエージェントが行います。

差別化ポイント: コンテキストの保存と復元

Coro Code の実用的な特徴が、会話と実行コンテキストを JSON にエクスポートし、後で復元できる ことです。長いセッションを途中で止めて、別の日に続きから再開する——といった使い方ができます。

内部的には coro_corePersistedAgentContext という構造化スナップショットを扱っており、復元時には保存済みの設定(あれば)も適用されます。CLI エージェントを「使い捨ての一回限り」ではなく「継続的な作業パートナー」として運用したいときに効いてくる設計です。

長時間タスクをスケジュール実行・CI で回すようなワークフローでは、この「途中状態を JSON で持ち回れる」点がセッション切れ対策として有効です。

Claude Code との違いと使い分け

観点 Coro Code Claude Code
ライセンス OSS(Apache-2.0/MIT) プロプライエタリ
バックエンド OpenAI 互換なら自由(DeepSeek 等) 基本 Claude モデル
言語 Rust
コスト モデル提供元の従量課金のみ サブスク / API
成熟度 発展途上(Anthropic/Google は対応予定) 成熟・多機能

現実的な使い分けは以下のようになります。

  • Coro Code が向くケース: 安価なモデル(DeepSeek 等)でコストを抑えたい、OSS でソースを確認・改造したい、社内の OpenAI 互換ゲートウェイに繋ぎたい
  • Claude Code が向くケース: 成熟した機能(サブエージェント・MCP・フック等)を本格運用したい、Claude モデルの品質を最大限使いたい

「メインは Claude Code、コスト重視の軽いタスクや実験は Coro Code」のように併用するのが落としどころです。

ハマりどころ

  • coro install が失敗する: Rust が 1.70 未満だと失敗します。rustup update stable で更新してください。
  • 認証エラーになる: OPENAI_BASE_URL の末尾やパス(/v1 の有無)はサービスごとに異なります。DeepSeek なら https://api.deepseek.com を起点に、エラー時はドキュメントでパスを確認しましょう。
  • Anthropic キーを設定しても Claude で動かない: 環境変数(ANTHROPIC_API_KEY など)の受け口自体は用意されていますが、Anthropic/Google プロトコルはリポジトリ上「Coming」表記で動作保証外です。確実に動くのは OpenAI 互換ルートです。
  • 設定ファイルの api_key 漏洩: 前述のとおりコミット厳禁。環境変数併用を推奨します。

まとめ

Coro Code は、Rust 製・OSS・OpenAI 互換という3点が揃った軽量 CLI コーディングエージェントです。cargo install 一発でビルドでき、OPENAI_BASE_URL を差し替えるだけで DeepSeek をはじめとする任意の OpenAI 互換バックエンドで動きます。

  • ✅ ソースからビルドして手元で完全にコントロールできる
  • ✅ DeepSeek 等の安価なモデルでコストを抑えられる
  • ✅ コンテキストの JSON 保存・復元でセッションを引き継げる
  • ⚠️ Anthropic/Google は対応予定。現状は OpenAI 互換ルートが本命

「Claude Code の思想は好きだが、もっと自由なバックエンドと OSS の安心感が欲しい」という人は、一度手元でビルドして試してみてください。

参考リンク

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?