Share
Embed
Transcript
24 slides
-
この解説の動機 GitHub Copilot appは実装、リリース先行でドキュメントが追い付いていない GitHub Copilot appはオープンソースではない(Issueのみ公開)
チーム、組織で使うには機能だけでなく「しくみ」の理解も重要 公開可能な範囲で、基本的な構造や動作を解説したい ※機能や使い方は説明しません -
GitHub Copilot appの特徴 • コーディングエージェントとの協業にフォーカス したデスクトップアプリケーション • IDEの拡張ではない、新たな体験 • GitHubワークフローとの親和性
• IssueやPull RequestなどGitHubイベント との統合 • タスクの並列実行が容易 • 各セッションは独立しつつ、委任や進捗/ 結果報告などメッセージの交換が可能 • 各セッションの作業環境をGitワークツリーで 分離 • マルチプラットフォーム対応 • GitHub Copilot app · GitHub Windows、macOS、Linux -
く・せ・に・な・る 出会い 気づき そして 「ファイルツリーが常時見えていないのが気持ち悪い」 「コーディングエージェント前提の作業なら ありだな」
「GitHubのワークフローと相性いいし、並行作業が楽だし」 「まずGitHub Copilot app開くぞ~」 -
シンプルな解説 GitHub Copilot appは 複数製品の集合体 GitHub Copilot
CLI、GitHub CLI、Gitをバンドル GitHub Copilot CLIをSDK経由で呼び出し コーディングエージェントとしての本体はGitHub Copilot CLI -
構成要素 OS別 WebViewランタイム (WebView2, WKWebView, WebKitGTK) GitHub Copillot app バンドル
GitHub Copilot app GitHub Copilot SDK GitHub CLI Git GitHub Copilot CLI ~/.copilot GitHub Copilot CLI (非バンドル) CLI 設定 CLI セッションDB カスタム指示、スキル、フック、etc -
UI GitHub Copilot appのUIはHTML やJavaScriptなどのWebコンポーネ ント GitHub Copilot
appはブラウザをバ ンドルしない フットプリント軽量化を狙っている OS別のWebViewランタイムを使う Windows: WebView2 macOS: WKWebView Linux: WebKitGTK -
プロセス UI 前述のとおり GitHub Copilot app
コアロジック 環境操作 Gitワークツリー作成など GitHub Copilot SDKでのCLI呼び出し GitHub Copilot CLI コーディングエージェントの本体 CLIがサーバーモードで動く 起動などCLIのライフサイクル管理をユーザがする 必要はない CLIプロセスのプールがセッション間で共有される -
バンドル要素 基本機能に必要なものはバンドルさ れる バンドル要素 GitHub Copilot CLI
GitHub CLI Git Gitは選択可 [(Account)] > [Health check] [Settings] > [Experimental] バンドルされたGitを使うか選択する -
非バンドルCLIとの共有要素 ~/.copilotを共有する GitHub Copilot app GitHub Copilot SDK
同じ設定やセッションを使える エンタープライズ管理設定は現在、 未サポート もサポートされる GitHub Copilot CLI (非バンドル) GitHub Copilot CLI ~/.copilot CLI 設定 CLI セッションDB 非バンドルCLIでは効くが、appからのCLI起動で は尊重されない 例: ”disableBypassPermissionsMode”で allow-all-toolsを禁止しても、appの“Run tools without asking”が効く SDKはサポート済み。appの対応待ち 2026/7/27にサポートされた カスタム指示、スキル、フック、etc [Settings] > [Sessions] -
リポジトリ/ワークツリー配置 GitHub Copilot appが作成、管 理するリポジトリ/ワークツリーの場所 を指定できる リモートからのclone、ワークツリー作成時など
既存のリポジトリ/ワークツリーを開く場合は、この 設定は影響しない WindowsではDev Driveの指定で [Settings] > [General] 性能向上が期待できる Windows 11 で Dev Drive を設定する コーディングエージェントは多数のファイル読み込 み、検索などでディスクI/Oが重くなりがち -
セッションをアーカイブすると、何が起きる? Gitワークツリーは削除され、ディレク トリも消える 未コミット・未追跡のファイルがあれば、回復用 Git refへ保存してから削除する 会話履歴やブランチは消えない
アーカイブ状態であれば、セッション はリストア可能 [(Account)] > [Manage sessions] 自動アーカイブ、自動削除に注意 [Settings] > [Sessions] > [Session cleanup] これ -
プロキシ設定 構成要素 効くプロキシ設定 補足 GitHub Copilot app WebView WebViewランタイムの設定 (例:
Windows プロキシ設定) 未サポートだが効く GitHub Copilot app 環境変数 (HTTP_PROXY、HTTPS_PROXY、NO_PROXY) 未サポートだが効く機能もある GitHub Copilot CLI • 環境変数 (HTTP_PROXY、HTTPS_PROXY、NO_PROXY) • settings.json (proxyUrl、proxyKerberosServicePrincipal) シェルやMCPで実行されるツールは、 それぞれが環境変数を尊重するか確 認が必要 GitHub CLI 環境変数 (HTTP_PROXY、HTTPS_PROXY、NO_PROXY) Git • 環境変数 (HTTP_PROXY、HTTPS_PROXY、NO_PROXY) • .gitconfig (http.proxy) GitHub Copilot appのプロキシ設定は現時点で未サポート。WebSocketを使っている機能など効かないものも ある。サポートされるまでは、それを理解して使う -
マシンをスリープさせない “Keep awake”を有効にすると、OS の電源管理APIを利用し、スリープを 抑止 チャット応答、バックグラウンドタスク処理中 全セッションがアイドルになると、設
定された待機時間後にスリープ抑制 を解除 [Settings] > [Session] -
スケジュール自動化定義の保存先と外部化可否 スケジュール自動化定義はGitHub Copilot appの内部DBに保存され る 現時点では外部化、共有できない 製品チームは要望を認識している
Loving this. · Issue #135 The Workflows screen is very helpful, but I'd love to see Import / Export opt... · Issue #158 is there a way to share automation workflow with others? · Issue #634 [Automations] > [New automation] -
アカウント指定 複数GitHubアカウントを登録できる 原則、Default設定したアカウントが使われる プロジェクト別にアカウント選択できる GitHubの認証情報や接続先ホス ト名はバンドル製品に伝播する
GitHub Copilot CLI、GitHub CLI [Settings] > [Accounts] 注意点 GitのコミットオーサーはGitの設定が使われる バンドル/非バンドルGitで動きが変わる (credential helperなど) [Settings] > [Projects] > Project 選択 -
リモートコントロール ローカルのセッション情報をGitHub へ送信する GitHub Webやモバイルアプリからセッション状 況を確認できる チャットメッセージでのステアリングも可能
GitHub Copilot CLIなどエージェントプロセスが GitHubで動く/移動するわけではない エージェントプロセスがクラウドで動くのは、Cloud [Settings] > [Sessions] Sandbox(プレビュー) -
Canvas GitHub Copilot appの独自機能 GitHub Copilot app をUI込みで作れる GitHub
Copilot SDK 作成 参照 Canvas向け成果物 UI部品など CLI拡張 (extension.mjs) GitHub Copilot CLI 参照 /canvas-createで作れる Canvasの実体はUIとGitHub Copilot CLI拡張 CLI拡張は、Canvasに限らず、CLIに独自機能 やスラッシュコマンドを追加できるしくみ Canvas成果物の配置スコープは選 択できる セッション ユーザ プロジェクト -
組み込みターミナル xterm.jsベースの組み込みターミナル GitHub Copilot CLIとは別に、対 話型シェルがPTY/ConPTYで起動 注意点
GitHub Copilot app内部の情報は引き継がれ ない [(Account)] > [Health check] 認証情報、バンドル製品のパスなど