世界を動かす技術を、日本語で。

Opencode: ターミナル用に構築されたAIコーディングエージェント

概要

opencode は、ターミナル向けに設計された AIコーディングエージェントオープンソース かつ、プロバイダーに依存しない柔軟性が特長。 多様なインストール方法 と、TUIへの強いこだわり。 クライアント/サーバー構造 による拡張性の高さ。 コミュニティ参加 やコントリビュートも歓迎。

opencode のインストール方法

  • YOLOインストール

    • curl -fsSL https://opencode.ai/install | bash コマンドによる簡単インストール
  • パッケージマネージャー利用

    • npm i -g opencode-ai@latest
    • bunpnpmyarn でもインストール可能
    • macOSでは brew install sst/tap/opencode
    • Arch Linuxでは paru -S opencode-bin
  • 注意事項

    • バージョン 0.1.x 未満の古いopencodeは 事前にアンインストール が必要

ドキュメントとサポート

  • 公式ドキュメント

    • 詳細な設定方法や使い方は 公式ドキュメント 参照
  • コミュニティ

    • YouTubeX.com で情報発信
    • コントリビューションや質問は GitHub Issues で対応

コントリビュート方法

  • 新機能提案

    • 新機能の追加前には Issueを作成し、事前相談 推奨
    • シンプルなバグ修正や小規模な改善は 直接PR でも可
  • 開発環境のセットアップ

    • BunGolang 1.24.x が必要
    • $ bun install で依存関係インストール
    • $ bun run packages/opencode/src/index.ts でローカル実行
  • APIクライアント開発

    • packages/opencode/src/server/server.ts のTypeScriptエンドポイント変更時は opencodeチームによるstainless sdk生成 が必要

opencode と Claude Code の違い

  • 完全オープンソース

    • ソースコードが 全て公開 されている
  • プロバイダー非依存

    • Anthropic 推奨だが、 OpenAIGoogleローカルモデル にも対応
  • TUI特化

    • neovimユーザーterminal.shop開発者 による、ターミナル操作性の追求
  • クライアント/サーバー構成

    • サーバーはPC上で動作し、 モバイルアプリ等からリモート操作 も可能
    • TUIフロントエンド はクライアントの一例

よくある質問(FAQ)

  • 他の同名リポジトリについて
    • opencode とは無関係。詳細は公式ストーリー参照

参加方法

  • YouTubeX.com で最新情報をチェック
  • GitHub でのコントリビューションやIssue投稿
  • コミュニティ参加 で開発・利用者同士の交流

Hackerたちの意見

Aiderっていう、実質的なターミナルAIコーディングツールと比べてみたいな。 https://aider.chat/

それとClaude Code。

それが最初である以外に、どうしてデファクトスタンダードなの?何がそんなにすごいの?デファクトってClaude Codeのことだと思ってたんだけど。

これ、Aiderと比べる方が適切じゃない? IDE統合よりコマンドラインツールの方が好きなんだけど、コンテキストオプションがあまり良くない気がするんだよね。つまり、変更が完全に見えてる感じがしないことが多い。Claude Codeのctrl-rで結果を展開するオプションは好きだし、提供されるdiffもいいけど、Zedの中やClaude、Aiderの中で見えるものよりも、もっと良くできる方法がある気がする。自然言語で制御・変更できるエディタがあればいいのに。

面白いアイデアだね!君が言ってた問題、IDE統合オプションと純粋なCLIの間のスペースで苦労してる。君のコメントを見て、vimみたいなもので設定をその場で編集してリロードするのもいいかもと思った。プロンプトインターフェースを前に付けて、エディタを自動で作るのはどれくらい難しいんだろう? たぶん、典型的なエディタの設定の無駄話になっちゃうかも、AIパワーで?少なくとも私には、もっと賢い人が有用なレベルまで簡略化できるかもしれないけど!

vimdiffビュー(またはエディタの同等のもの)でdiffを開けるのはいいアプローチだね。実際にどうやって実装するかはちょっと分からないけど。

特にdiff作業をより良くするためには、tmuxとlazygitを使って、浮遊するlazygitをすぐに開くためのこのキーバインディングをおすすめするよ:bind-key C-g display-popup -E -d "#{pane_current_path}" -xC -yC -w 80% -h 75% "lazygit"。これを使うと、diffを見れるだけじゃなくて、いらない変更を直接破棄したり、ステージングしたり、コミットしたりできるんだ。

claude codeとpycharmを使ってるよ(変更を確認したり、何かを改善したりする必要があるときに)。

aiderとvimに落ち着いたよ。最高の体験は、編集と雰囲気コーディングを完全に切り離すことだと思う。チャットボットに何かをお願いして、結果をジュニア開発者が提出したかのようにレビューするんだ。それはdiffやファイルをエディタで開くことを意味する。根本的に、これらは本当に異なる操作だと思う。キッチンシンクIDEがgenAIツールをUIに詰め込む理由は分かるけど、二つの機能をリンクさせることが必ずしも重要だとは思わないな。

vscodeでClaude Codeを動かしてるよ。頻繁にコミットすることで、ソースコントロールタブを使って変更の感覚をつかめるんだ。これで、変更しちゃいけないファイルの変更を見つけるのに役立ってる。

コミュニティのドラマは置いといて、オープンソースのエージェントCLIツールが増えてるのはいいね。TUIデザインに焦点を当ててる以外に、Claude CodeやAider、Geminiと比べて何か利点はあるの?

私の経験では、Claude Codeはめちゃくちゃ良い。Gemini CLIは単純にバカで、時間の無駄だね。

ここで書いてるのは、私たちはUXに非常に重点を置いていて、LLMのパフォーマンスにはあまりこだわってないんだ。Claude Codeと同じシステムプロンプトや設定を使ってるけど、アウトオブボックスのLSPサポートのおかげでパフォーマンスが良いと感じる人もいるよ。編集ツールがエラーを返して、LLMがすぐに修正してくれるからね。

こんにちは、ここでの著者の一人です。開発に入ってからもう1ヶ月ちょっと経って、ロードマップにはたくさんのことがあるよ。CLIはクライアント/サーバーモデルで、TUIが初期の焦点だけど、モバイルやウェブ、デスクトップなどの代替フロントエンドを作るのが目標なんだ。私たちは非常に良いコードレビューツールを作ることを考えてるから、今後数週間でその側面がもっと見えるようになるよ。何か質問があればここで答えるよ!

gemini-cliやclaude code、acli、他のTUIの代替フロントエンドになったら面白いね。

AIツールを使ってZedで楽しく作業してたんだけど、SSTチームがOpenCodeの背後にいるって知って、ついにターミナルベースのエージェントを試してみることにしたんだ。オープンコードが新しいテストを書いて、テストスイートを実行して、エラーが出たらまた最初からやり直すっていうフィードバックループに驚かされたよ。Zedではそんなループは起こらないからね!大きなプロンプトを書いて、ノートパソコンから離れて、戻ったらたくさんの作業が終わってたって感じたのは初めてだった。今のところ、この体験にはすごく満足してる。

Zedでもそのループ作業はできるよ、テストの実行方法を教えればね。もしかして「考える」モデルを使ってないの?

Intellijのエージェント、Junieもそれやってるよ…しかもちゃんとしたUIもあるし!

もうそれは当たり前のことだよ。Zedがやってないなら、Ampcodeとか他のやつらにかなり遅れを取ってるってことだね。

このプロジェクトの背後にいる人は、ネット上での喧嘩を楽しんでドラマやクリックベイトを作り出してる気がする。でも、面白いプロジェクトだよね。まだ初期段階で、他のCLIほど使いやすくはないけど…ドラマが多いのは本当に残念だね。

価格について質問があるんだけど、俺はほとんどClaude Codeだけ使ってるんだ。Claude Proのサブスクリプションを使ってて、サイトによると5時間ごとにプロンプトの数に制限があるんだ。でも、毎日フルタイムで使ってるけど、まだその制限には達してないよ。他のツールを使う場合、APIベースのコストを払わなきゃいけないの?それともサブスクリプションを使う方法があるのかな?APIのコストってすぐにかさむから、上位モデルの会社のツールに縛られちゃうのが嫌なんだよね。

これは君の質問とは違うけど、俺はプロサブスクリプションでClaude Codeを使ってて、トークンが切れるまでに大体1時間使えるんだ。その後は次のセッションのためのコンテキストをどう設定するか4時間考えてる。

もし俺の理解が正しければ、SSTはOpencodeを作ってないよ。

https://github.com/sst/opencode/graphs/contributors

誰かOpencodeとClaude Codeの(ある程度)同じ条件での比較をした人いる?両方ともClaude Pro/Maxのサブスクリプションが使えるから、使い心地や「パフォーマンス」がどうなのか気になるんだ。

ローカルのollamaモデルの設定方法が書いてないね。