OpenFlow は、マルチエージェント AI ワークフローのためのビジュアルビルダーです。 ロール カードをキャンバスにドラッグし、パイプライン(プランナー → アーキテクト → コーダー)を配線 して保存し、実際の並列エージェントで実行します。
OpenFlow は独立したプロジェクトです。
opencode の上に構築され、そのフォークとして提供
されます。opencode のヘッドレスエンジン(opencode serve)が背後でエージェントを駆動しま
す。OpenFlow 独自のコードはすべて packages/flow にあります。上流の
パッケージは一切変更しないため、OpenCode エンジンは最新のまま保たれ、上流とのマージもクリーン
に保たれます。オリジナルの OpenCode README は以下に続きます。
前提条件
コードを取得する
git clone https://github.com/SeeRay11/OpenFlow.git
cd OpenFlow
bun installbun install はワークスペース全体を取得します — OpenCode エンジンに加えて、
packages/flow にある OpenFlow 独自のコードです。初回インストールは大き
く、エンジンのネイティブ依存関係をダウンロードします。postinstall のステップは node-pty
のビルド済みヘルパーバイナリに実行権限を付けるだけで、Windows では何もせずすぐに終了します。
OpenFlow はポートを 2 つ使う。エンジンが 4096、キャンバスが
5174。前回の実行がまだ握っていると、エンジンを手動で起動しても Error: Unexpected error / ServeError
で失敗する。これはポートが埋まっているだけで、インストールの破損ではない。
bun openflow.ts
はこれを自動で処理する。すでに応答しているポートは再利用し、死んだ実行が握ったままのポートは解放する。自分で古いプロセスを終了させるのは、本当に新しいエンジンが欲しいときだけでよい。たとえば
opencode.json
を編集したあと。エンジンは起動時にプロジェクト設定をキャッシュし、二度と読み直さないからだ。
Windows (PowerShell)
Get-NetTCPConnection -LocalPort 4096,5174 -State Listen -ErrorAction SilentlyContinue |
Select-Object -ExpandProperty OwningProcess -Unique |
ForEach-Object { taskkill /pid $_ /T /F }macOS / Linux
lsof -t -i :4096 -i :5174 | xargs kill -9どちらのコマンドも、何も待ち受けていなければ安全で、対象のプロセスが見つからないだけで終わる。ただしそのポートを握っているプロセスは何であれ終了させるので、他のものを動かしているなら先に確認すること。
Get-NetTCPConnection -LocalPort 4096,5174 -State Listen | Select-Object LocalPort,OwningProcesslsof -i :4096 -i :5174エンジンが database is locked で失敗する場合、 別の opencode エンジンがすでに
どこかで動いています。OpenFlow の 2 つ目のコピーか、前回のランチャーが残したものです。
すべてのエンジンは opencode のデータディレクトリにある 1 つのデータベースを共有するため、
後から起動したほうは開けません。そのエンジンがポートを握っているとは限らないので、
ポートを空けても解決しません。実行内容を手がかりに停止してください:
Get-CimInstance Win32_Process -Filter "Name='bun.exe'" |
Where-Object { $_.CommandLine -match 'openflow\.ts|src/index\.ts serve|packages/flow dev' } |
ForEach-Object { Stop-Process -Id $_.ProcessId -Force }pkill -f 'openflow\.ts|src/index\.ts serve|packages/flow dev'そのうえで OpenFlow を起動し直します。毎回起きるなら、OpenFlow を 2 か所にクローンして 両方を起動している可能性が高いので、1 つに絞ってください。
1 つのコマンドで両方のプロセスが起動します。どのプラットフォームでも同じです:
bun openflow.tsエンジンを起動し、応答するまで待ってから、http://localhost:5174 でキャンバスを開きます。 Ctrl+C で両方を停止します。終了し損ねた実行が掴んだままのポートは先に解放され、すでに応答して いるポートは二重に起動せずそのまま再利用します。
同じファイルを包む薄い起動スクリプトが 2 つあり、各プラットフォームのランチャーを好む人向けで
す。スクリプト自体にロジックはなく、フラグを openflow.ts がすでに読んでいる環境変数へ変換す
るだけです。
.\openflow.ps1./openflow.shWindows ではこのスクリプトが起動を拒否することがあります。 PowerShell は既定で署名のない
ローカルスクリプトを実行しないため、.\openflow.ps1 は "openflow.ps1 cannot be loaded because
running scripts is disabled on this system" で失敗することがあります。クローンではなく
ZIP でダウンロードしたリポジトリは、さらにインターネット由来として印が付き、二重にブロックされ
ます。bun openflow.ts はそのどちらの対象にもならず、両方を回避する最短の方法です。それでも
起動スクリプトを使いたい場合は、自分のアカウントについてローカルスクリプトを許可し、ZIP から取
得したファイルであればブロックを解除してください:
Set-ExecutionPolicy -Scope CurrentUser RemoteSigned
Unblock-File .\openflow.ps1フラグは任意で、3 つの入口はいずれも同じ結果になります:
| PowerShell | shell | 環境変数 | 何をするか |
|---|---|---|---|
-Project <dir> |
-p, --project <dir> |
OPENFLOW_PROJECT |
エージェントが読み書きするリポジトリ — 実際のファイルを編集します |
-ServerPort <n> |
-s, --server-port <n> |
OPENCODE_SERVER_URL |
エンジンのポート、既定は 4096 |
-Built |
-b, --built |
OPENFLOW_BUILT=1 |
vite を実行する代わりに静的バンドルをビルドして提供する |
-Manage |
-m, --manage |
FLOW_MANAGE_SERVER=1 |
キャンバスにエンジンを所有させ、その再起動ボタンを機能させる |
-Help |
-h, --help |
— | フラグ一覧を表示する |
| — | — | OPENFLOW_DRY_RUN=1 |
決定した内容を表示し、何も起動しない |
または、2 つのプロセスを手動で起動します。まずサーバー:
bun run --cwd packages/opencode --conditions=browser src/index.ts serve --port 4096次にキャンバス、http://localhost:5174 で:
bun run --cwd packages/flow devまたは、ビルド済みで実行します。これは vite を使わずに同じアプリを提供します:
bun run --cwd packages/flow build && bun run --cwd packages/flow startOpenFlow is an independent fork. It is not affiliated with, sponsored by, or endorsed by the OpenCode team.
オープンソースのAIコーディングエージェント。
English | 简体中文 | 繁體中文 | 한국어 | Deutsch | Español | Français | Italiano | Dansk | 日本語 | Polski | Русский | Bosanski | العربية | Norsk | Português (Brasil) | ไทย | Türkçe | Українська | বাংলা | Ελληνικά | Tiếng Việt
# YOLO
curl -fsSL https://opencode.ai/install | bash
# パッケージマネージャー
npm i -g opencode-ai@latest # bun/pnpm/yarn でもOK
scoop install opencode # Windows
choco install opencode # Windows
brew install anomalyco/tap/opencode # macOS と Linux(推奨。常に最新)
brew install opencode # macOS と Linux(公式 brew formula。更新頻度は低め)
sudo pacman -S opencode # Arch Linux (Stable)
paru -S opencode-bin # Arch Linux (Latest from AUR)
mise use -g opencode # どのOSでも
nix run nixpkgs#opencode # または github:anomalyco/opencode で最新 dev ブランチTip
インストール前に 0.1.x より古いバージョンを削除してください。
OpenCode はデスクトップアプリとしても利用できます。releases page から直接ダウンロードするか、opencode.ai/download を利用してください。
| プラットフォーム | ダウンロード |
|---|---|
| macOS (Apple Silicon) | opencode-desktop-mac-arm64.dmg |
| macOS (Intel) | opencode-desktop-mac-x64.dmg |
| Windows | opencode-desktop-windows-x64.exe |
| Linux | .deb、.rpm、または AppImage |
# macOS (Homebrew)
brew install --cask opencode-desktop
# Windows (Scoop)
scoop bucket add extras; scoop install extras/opencode-desktopインストールスクリプトは、インストール先パスを次の優先順位で決定します。
$OPENCODE_INSTALL_DIR- カスタムのインストールディレクトリ$XDG_BIN_DIR- XDG Base Directory Specification に準拠したパス$HOME/bin- 標準のユーザー用バイナリディレクトリ(存在する場合、または作成できる場合)$HOME/.opencode/bin- デフォルトのフォールバック
# 例
OPENCODE_INSTALL_DIR=/usr/local/bin curl -fsSL https://opencode.ai/install | bash
XDG_BIN_DIR=$HOME/.local/bin curl -fsSL https://opencode.ai/install | bashOpenCode には組み込みの Agent が2つあり、Tab キーで切り替えられます。
- build - デフォルト。開発向けのフルアクセス Agent
- plan - 分析とコード探索向けの読み取り専用 Agent
- デフォルトでファイル編集を拒否
- bash コマンド実行前に確認
- 未知のコードベース探索や変更計画に最適
また、複雑な検索やマルチステップのタスク向けに general サブ Agent も含まれています。
内部的に使用されており、メッセージで @general と入力して呼び出せます。
agents の詳細はこちら。
OpenCode の設定については ドキュメント を参照してください。
OpenCode に貢献したい場合は、Pull Request を送る前に contributing docs を読んでください。
OpenCode に関連するプロジェクトで、名前に "opencode"(例: "opencode-dashboard" や "opencode-mobile")を含める場合は、そのプロジェクトが OpenCode チームによって作られたものではなく、いかなる形でも関係がないことを README に明記してください。
