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_goallist_all_goalscreate_goalset_goalupdate_goalclear_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-plugin
    
    パッケージ名を opencode.json および tui.jsonplugin 配列に追加。
  • OpenCode 2(ベータ版)の場合:
    {
      "plugins": [
        {
          "package": "@prevalentware/opencode-goal-plugin",
          "options": { "auto_continue": true }
        }
      ]
    }
    
    エントリを opencode.json(サーバー)および ~/.config/opencode/cli.json(UI)に配置。

通常のワークフロー

  1. ゴールを開始:
    /goal フロントエンドをレビューし、表示されているUIテキストをスペイン語に翻訳する
    
  2. エージェントがタスクに取り組み、サイドバーは継続的に進捗を表示。
  3. 目的が完了した場合、エージェントは update_goal を呼び出し、status: "complete" と証拠(例:テスト結果、PRリンク)を提供。
  4. ゴールが達成できない場合、エージェントは update_goal を呼び出し、status: "unmet" とブロッカーの説明を提供。
  5. /goal pause/goal resume/goal clear でいつでもゴールを一時停止、再開、クリア可能。

設定のハイライト

  • auto_continue(デフォルト true) – セッションがアイドル状態のときにプラグインがエージェントに継続的にプロンプトを送信するか。
  • max_auto_turns(デフォルト 25) – 自動継続プロンプトの最大実行数。
  • default_token_budget – 新しいゴールにオプションのトークン制限を設定。
  • restricted_agents(デフォルト "plan") – プラン専用と扱われるエージェント。それらからのゴールは一時停止状態で開始。
  • allow_goal_execution_from_plantrue に設定するとプランモード制限を無効化(推奨されません)。

セーフティメカニズム

  • 予算制限 – トークンまたは時間予算が尽きるとゴールを停止。
  • 進捗なし検出 – 設定可能な低出力継続ターン数後にゴールが一時停止。
  • プランモードガードレール – プランセッションが静かに実行セッションに変わることを防止。

状態の永続化 ゴールデータはXDGデータディレクトリ下のJSONファイルに保存(または ~/.local/share/...)、所有者専用権限でアトミックに書き込まれます。クラッシュしても、以前の状態または新しい完全な状態のどちらかが残り、信頼性の高い復旧が可能。

開発と公開 リポジトリはビルドおよびテストに bun を使用し、GitHub Actionsによる信頼された公開を通じてnpmに自動的に配信されます。パッケージはサーバーフック用(./dist/server.js)とTUI UI用(./src/tui.ts)の別モジュールをエクスポートします。


結論 – 多時間にわたるリファクタリング、移行、テスト修正のセッションでOpenCodeを使用し、AIが単一で監査可能な目的に集中し続けることを望むなら、OpenCode Goal Pluginは軽量でカスタマイズ可能な方法を提供します。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト