prevalentWare/opencode-goal-plugin
OpenCode goal plugin for Codex-style goal mode, /goal slash commands, persistent objectives, and AI coding agent focus.
OpenCode Goal Plugin – AIコーディングエージェントが長期タスクに集中できるようにする
何であるか – OpenCode AIコーディング環境用のゴールモードを追加するプラグイン。ユーザーは永続的な /goal <目的> を開始でき、OpenCode UI(TUI、デスクトップ、Web)全体にわたって保持され、セッションの圧縮後も生存します。ゴールはサイドバーに表示され、セッションがアイドル状態になると自動的に継続可能で、エージェントが完了の具体的な証拠またはブロッカーを提示するまで閉じられません。
主な機能
/goalスラッシュコマンド(作成、表示、編集、一時停止、再開、クリア) – OpenCodeのすべてのフロントエンドで動作。- サイドバーにステータス、経過時間、トークン使用量、目的を表示するインジケータ。
- エージェント側ツール:
get_goal、list_all_goals、create_goal、set_goal、update_goal、clear_goalなど。 - セッションごとの永続状態は
$XDG_DATA_HOME/opencode-goal-plugin/goals.jsonに保存(所有者専用権限、アトミック書き込み)。 session.idle/session.status時の自動継続(安全制限付き:トークン予算、時間予算、進捗なし検出、最大自動ターン数)。- プランモードのセーフティ:plan エージェントから作成されたゴールは一時停止され、ユーザーが明示的に許可しない限り自動継続できません。
- OpenCodeのプラグイン設定ファイルを通じて、自動継続、予算、最大ターン数、制限されたエージェントなど、カスタマイズ可能なオプション。
インストール
- OpenCode 1(安定版)の場合:
パッケージ名をopencode plugin @prevalentware/opencode-goal-plugin # プロジェクトローカル # またはグローバルに opencode plugin -g @prevalentware/opencode-goal-pluginopencode.jsonおよびtui.jsonのplugin配列に追加。 - OpenCode 2(ベータ版)の場合:
エントリを{ "plugins": [ { "package": "@prevalentware/opencode-goal-plugin", "options": { "auto_continue": true } } ] }opencode.json(サーバー)および~/.config/opencode/cli.json(UI)に配置。
通常のワークフロー
- ゴールを開始:
/goal フロントエンドをレビューし、表示されているUIテキストをスペイン語に翻訳する - エージェントがタスクに取り組み、サイドバーは継続的に進捗を表示。
- 目的が完了した場合、エージェントは
update_goalを呼び出し、status: "complete"と証拠(例:テスト結果、PRリンク)を提供。 - ゴールが達成できない場合、エージェントは
update_goalを呼び出し、status: "unmet"とブロッカーの説明を提供。 /goal pause、/goal resume、/goal clearでいつでもゴールを一時停止、再開、クリア可能。
設定のハイライト
auto_continue(デフォルト true) – セッションがアイドル状態のときにプラグインがエージェントに継続的にプロンプトを送信するか。max_auto_turns(デフォルト 25) – 自動継続プロンプトの最大実行数。default_token_budget– 新しいゴールにオプションのトークン制限を設定。restricted_agents(デフォルト"plan") – プラン専用と扱われるエージェント。それらからのゴールは一時停止状態で開始。allow_goal_execution_from_plan–trueに設定するとプランモード制限を無効化(推奨されません)。
セーフティメカニズム
- 予算制限 – トークンまたは時間予算が尽きるとゴールを停止。
- 進捗なし検出 – 設定可能な低出力継続ターン数後にゴールが一時停止。
- プランモードガードレール – プランセッションが静かに実行セッションに変わることを防止。
状態の永続化
ゴールデータはXDGデータディレクトリ下のJSONファイルに保存(または ~/.local/share/...)、所有者専用権限でアトミックに書き込まれます。クラッシュしても、以前の状態または新しい完全な状態のどちらかが残り、信頼性の高い復旧が可能。
開発と公開
リポジトリはビルドおよびテストに bun を使用し、GitHub Actionsによる信頼された公開を通じてnpmに自動的に配信されます。パッケージはサーバーフック用(./dist/server.js)とTUI UI用(./src/tui.ts)の別モジュールをエクスポートします。
結論 – 多時間にわたるリファクタリング、移行、テスト修正のセッションでOpenCodeを使用し、AIが単一で監査可能な目的に集中し続けることを望むなら、OpenCode Goal Pluginは軽量でカスタマイズ可能な方法を提供します。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト