quvyta-code
qcode
コンテナの中で動くコーディング agent を、ターミナルから。プロファイルを一度設定してサインインすれば、以後はどのワークスペースでも数秒でその agent を開けます。agent とシェルの行き来はタブの切り替えと同じです。
curl -fsSL https://raw.githubusercontent.com/quvyta/quvyta/main/install.sh | sh -s -- codeベータ版。qcode は Linux で Podman でも Docker でも動きます。画面、書き出すファイル、イメージやコンテナの名前は、リリースごとにまだ変わることがあります。
動かせる agent
すでに使っている agent をそのまま。
| Agent | サインイン方法 |
|---|---|
| Claude Code | サブスクリプション、API キー、または自分のプロバイダー |
| opencode | アカウントなし、サブスクリプション、API キー、または自分のプロバイダー |
| Gemini CLI | API キー |
| Codex CLI | サブスクリプションまたは API キー |
| Antigravity IDE | 専用のGoogleサインイン。コンテナ内のウィンドウで行われる |
各 agent は、プロファイルのイメージをビルドするときに、各開発元が公開しているものからインストールされます。qcodeはいずれも同梱も改変もしません。コマンドラインの agent は、qcodeの新規タブのリストから会話を引き継げます。Antigravity IDEはデスクトップアプリケーションです。ウィンドウは専用のコンテナから開き、そのタブにはウィンドウの様子が示されます。サインインページはそのコンテナ内の小さなウィンドウで開くので、Googleの応答が返ってきてサインインを完了できます。Googleへのサインインはプロファイルごとに一度で済みます。
考え方
作業を隔てているのはコンテナそのもの。
- agent ごとにひとつのコンテナ
各 agent は、そのために作られたイメージから起動したコンテナで動きます。見えるのはワークスペースのフォルダーで、あなたが許せばワークスペースの素材フォルダーとネットワークも見えます。
- 止まらずに働ける
作業をマシンから引き離しているのはコンテナなので、agent はいちいち許可を求めずに働けるよう設定されています。
- ログインは一度、ワークスペースごとに複製
プロファイルは agent 自身の手順で一度だけサインインします。各ワークスペースはそのログインの複製を受け取るので、会話の履歴も記憶も設定もワークスペース間に漏れません。
- 終われば止まる
最後の qcode が閉じると、それが起動したコンテナは止まります。任意で使える常駐サービスは、クラッシュのあとでも同じことをします。あなた自身が起動したコンテナには決して触れません。
- Podman でも Docker でも
どちらのエンジンでも構いません。qcodeが見つけ、見つからない場合や動いていない場合はその旨を伝えます。どちらもマシンにない場合、初回起動ウィザードがインストールを提案します。お使いのシステム用のコマンドを表示するので、自分で実行するか、qcodeにウィザード内のターミナルで同じコマンドを実行させて見守ることができます。qcodeは自分の権限を上げることは決してありません。サービスが動いていない、アカウントがdockerグループに入っていないなど、qcodeが知る理由でエンジンが拒否したときは、平易な一文と修正するための行が読めるようになり、その下にエンジン自身の言葉が並びます。
- エンジンを変えても、ものはそのまま
設定でPodmanとDockerを切り替えられます。また、保存されたエンジンが応答しなくなってもう一方が応答するようになると、qcodeがそれに気づきます。その場合は、新しいエンジンにイメージがないプロファイルが一覧になり、それぞれに「ビルド」が付きます。加えて、設定やサインインが置かれている各プロファイルのホームをコピーすることも提案されます。古いエンジンからは何も削除されないので、元に戻せます。イメージがないタブはその旨を告げて「今すぐビルド」を提案し、ビルドの様子を示し、完了したら開きます。
- agent の下にあるシステム
プロファイルのイメージは、デフォルトであり推奨のDebian、あるいはArch Linux、Ubuntu 24.04 LTS、Alpine上でビルドされます。ウィザードにはそれぞれのサイズが表示されます。Alpineは最も小さく、非推奨の印が付いています。glibcではなくmuslでビルドされているため、Gemini CLIは動きません。Antigravity IDEはDebianでのみビルドされます。あるシステムにツールがない場合はウィザードがその旨を伝えます。ツリーから開くファイルは引き続きワークスペース専用のDebianコンテナで開くので、そこは変わりません。
- マシンに余計なものを置かない
git のアドレスはコンテナの中でクローンされ、ファイルはワークスペース自身の小さなベースコンテナで開きます。git もエディターも、入れておく必要はありません。
- タブ同士で仕事を任せ合う
あるタブの agent は、同じワークスペースの他のタブを見ることができ、そのどれかに仕事を任せられます。メッセージは、そのタブで誰も入力しておらず、agent も書き終えたときに、その agent 自身のプロンプトに入力されます。送信したタブの名前も添えられます。これはClaude Codeとopencodeで動いている様子を確認済みです。Antigravity IDEはタブに仕事を任せられますが、逆はできません。ウィンドウに入力できるプロンプトがないためです。タブ間のメッセージは確認なしに送られます。設定の「タブ間のメッセージ」にある「最初のメッセージの前に確認する」で確認を戻せます。どちらを選んでも、ネットワークのないタブからネットワークのあるタブへ送ることはありません。またタブ間のやり取りには終わりがあり、2つの agent が永遠に応酬し合うこともありません。終わると、両方のタブにその旨が示されます。
- 自分のプロバイダー
プロバイダーのページで、すでに持っているモデルサービスを追加します。自分のネットワークにある ollama サーバーや OpenRouter です。接続を試し、それぞれが提供するモデルを読み取れます。そのうえで、Claude Code や opencode のプロファイルをそのどれかで動かせます。キーがコンテナに入ることはありません。タブは qcode があなたのマシンで動かす中継を通してプロバイダーと話すので、ネットワークのないコンテナでも、あなたのネットワークのモデルサーバーを使えます。キーはあなただけが読めるファイルに保存され、その場所はページに表示されます。
- サーバーが本当に受け取れる量
モデルの情報は、サーバーが実際に受け付けるより大きな余地をうたうことがあります。長いプロンプトの先頭を黙って捨てるサーバーでは、agent が理由もわからず物忘れをしているように見えます。qcode はサーバーが実際にどれだけ受け取るかを測り、モデルの公称値と並べて示し、測った大きさを agent に伝えます。
- QCode basic と QCode high
プロファイル用の二つの既製の設定です。おすすめの QCode basic は agent を qcode が動かすとおりに整えるので、新しいタブはすぐにプロンプトで開きます。QCode high はさらに、agent がファイルを読む前に参照するコードの地図 graphify、Claude Code 向けに選んだプラグイン、opencode 向けの oh-my-openagent を加え、各 agent の指示ファイルにほかのタブへの連絡方法を書いた短い節を入れます。ファイルのほかの部分はそのままです。どの部分もオフにでき、何がダウンロードされるかはウィザードが知らせます。
- 何をいつ送るか
qcodeは統計を取らず、あなたやあなたの作業について何も送信しません。自ら発する質問はひとつだけです。起動時に、1日1回まで、crates.ioに最新の公開済みqcodeを問い合わせ、お使いのものより新しい版があればその旨を伝えます。そのリクエストが含むのはパッケージ名とお使いのqcodeのバージョンだけで、あなたやマシンに関するものは何もありません。デフォルトでは有効で、設定の「アップデートが出たら知らせる」でQuvytaのすべてのアプリケーションについて一度に無効にできます。無効の間は何も問い合わせません。これ以外でqcode自身がネットワークに接続するのは、プロバイダーを追加した後だけです。しかもそのプロバイダーに限ります。「プロバイダー」ページでボタンを押したとき、またはそれに接続しているタブが開いている間です。ウィンドウの計測はいくつかのプロンプトを送り、有料のプロバイダーでは課金されます。agent はいつもの通り開発元と通信し、イメージのビルドではその構成要素がダウンロードされます。
- 九つの言語
画面上の言葉はすべて言語ファイルから来ており、このサイトと同じ九つの言語があります。qcode は最初の画面で言語を尋ね、設定からいつでも変えられます。
画面
どの画面も、キーボードでもマウスでも。
インストール
Quvyta のインストーラーが cargo で crates.io から qcode を組み立てます。どの段階でも先に確認し、Rust が無ければ rustup で入れます。sudo を使うのは足りない C リンカーを入れるときだけで、それもターミナルで「はい」と答えたときに限ります。
プログラムは qcode として、加えて quvyta-code としてもインストールされます。Windows とそのほかの入り口についてはインストールをご覧ください。
Linux と macOS
curl -fsSL https://raw.githubusercontent.com/quvyta/quvyta/main/install.sh | sh -s -- codeまたは cargo で
cargo install quvyta-code必要なもの
- コンテナエンジン
Podman(root 不要、常駐サービスも不要)か、デーモンが動いている Docker。どちらも入っていなければ、初回起動のウィザードがインストールを提案します。
- アカウント、または自分のモデルサーバー
agent の作り手のサブスクリプションか API キー。Claude Code と opencode なら、あなたが追加したプロバイダーでも動きます。opencode はアカウントなしでも無料のモデルで動きます。
- ディスクの空きとネットワーク
最初のイメージは、Debian ベースに Node.js、その上に各プロファイルの agent という構成です。プロファイルは代わりに Arch Linux、Ubuntu、または Alpine でビルドすることもでき、ウィザードにはそれぞれのサイズが表示されます。
- Linux
qcode は Linux で開発・テストしています。macOS と Windows はコードに入っていますが、まだ試していません。