Stakpak Agent CLI について
Stakpak Agent CLI は、マシン上で 24 時間稼働し、アプリケーションの維持を行い、人の判断が必要な場合のみ通知するオープンソースのDevOpsエージェントです。シークレット置換とネットワークレベルのガードレールにより、LLM が本番環境の認証情報に触れるリスクを抑えます。
主な機能
- 0124 時間稼働の自律ランタイム(Autopilot)
- 02シークレット置換による認証情報の非公開化
- 03Warden ガードレールによる破壊的操作の遮断
- 04DevOps Rulebooks の組み込みライブラリ
- 05非同期タスク管理と進捗のストリーミング
- 06Terraform や Kubernetes コードのローカルインデックス
活用シーン
- 01インフラコードの生成と CI/CD の設定
- 02Kubernetes ワークロードの問題調査
- 03進捗を追跡しながらのアプリケーションデプロイ自動化
MCP 対応
Stakpak は複数の上流 MCP サーバーを束ねる MCP プロキシとして動作するほか、組み込みツールを MCP サーバーとしてクライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
コードを自動操縦でリリースしましょう。
お使いのマシン上で24時間365日稼働し、アプリを動かし続け、ユーザーの対応が必要なときだけ通知するオープンソースのエージェントです。PaaSの利点をすべて備え、ロックインはありません。
:star: より多くの開発者に届け、Stakpak コミュニティを成長させるため、ご協力ください。このリポジトリにスターを付けてください!

今すぐ Stakpak を試す
curl -sSL https://stakpak.dev/install.sh | sh # install Stakpak
stakpak init # understand your apps and tech stack
stakpak autopilot up # start the autonomous agent, running 24/7 in the background
ほとんどの AI エージェントに DevOps を任せることはできません。たった1つのミスで、本番環境が台無しになる可能性があります。 Stakpak は、次の点で異なります。
- シークレットの置換 - LLM は認証情報を見ることなく、それらを使って作業できます
- Warden のガードレール - ネットワークレベルのポリシーにより、破壊的な操作が実行前にブロックされます
- DevOps プレイブックを内蔵 - Stakpak Rulebooks に、厳選された DevOps ナレッジライブラリを収録しています
本番環境へのアクセス権を LLM に与えることなく、インフラストラクチャコードの生成、Kubernetes のデバッグ、CI/CD の設定、デプロイの自動化ができます。
🤖 オートパイロット(24時間365日の自律ランタイム)
新しいライフサイクルエイリアスを使って、1つのコマンドでセットアップ、起動、停止できます。
stakpak up # alias for: stakpak autopilot up
stakpak down # alias for: stakpak autopilot down
正式なサブコマンドも使用できます。
stakpak autopilot up
stakpak autopilot status
stakpak autopilot logs
stakpak autopilot down
stakpak autopilot doctor
オートパイロットの前提条件
リモート VM でオートパイロットを実行する前に、以下を確認してください。
- Docker がインストールされ、現在のユーザーからアクセスできること
- オートパイロットとサンドボックスを安定して実行するには、2GB 以上の RAM を推奨します
- メモリの少ない Linux ホストでは、スワップの使用を強く推奨します
- Linux のユーザーサービスをログアウト後も維持するには、linger の設定が必要な場合があります
stakpak up は起動前にプリフライトチェックを実行するようになりました。また、初回起動前のデプロイ準備状況の確認には、stakpak autopilot doctor を使用できます。
stakpak autopilot doctor
stakpak up
こちらもご覧ください:cli/README.md
統合設定(プロファイル+自動操縦の接続設定)
~/.stakpak/config.toml:プロファイルの動作(model、allowed_tools、auto_approve、system_prompt、max_turns、プロバイダーの認証情報)~/.stakpak/autopilot.toml:実行時の接続設定(schedules、channels、通知ルート、サービス/サーバーの設定)
スケジュールやチャネルでは profile = "name" を指定し、動作設定はプロファイル定義にまとめます。プロファイルは、モデル、許可するツール、自動承認、システムプロンプト、最大ターン数、プロバイダーの認証情報など、エージェントの動作を制御します。通知ルートが制御するのはメッセージの配信先のみです。
スケジュールとチャネルのプロファイルは、意図的に分けられています。
- スケジュールの
--profile monitoring:そのスケジュールで開始する実行の動作 - チャネルの
--profile ops:受信した Slack/Telegram/Discord のメッセージから開始するセッションの動作 - 通知の
--target "#ops":スケジュール通知の送信先。モデルやツールは選択しません
通知ルーティングでは、どこでも次の2つの用語を使用します。
channel:slack、telegram、discordなどの転送手段target:その転送手段内の宛先。Slack の#opsやC1234567890など
autopilot channel add ... --target は、デフォルトの通知ルートを設定します。--notify-target または --notify-channel を追加しない限り、スケジュールはこの設定を引き継ぎます。
# default notification route: slack:#ops
stakpak autopilot channel add slack --bot-token "$SLACK_BOT_TOKEN" --app-token "$SLACK_APP_TOKEN" --profile ops --target "#ops"
# schedule runs with the monitoring profile and inherits the default route
stakpak autopilot schedule add health --cron '*/5 * * * *' --prompt 'Check health' --profile monitoring
# schedule still runs with monitoring, but notifies a different Slack target
stakpak autopilot schedule add deploy-watch --cron '*/15 * * * *' --prompt 'Watch deploys' --profile monitoring --notify-target "#deploys"
~/.stakpak/autopilot.toml では、同じ設定を次のように表します。
[notifications]
channel = "slack"
target = "#ops"
[[schedules]]
name = "health"
cron = "*/5 * * * *"
prompt = "Check health"
profile = "monitoring"
[[schedules]]
name = "deploy-watch"
cron = "*/15 * * * *"
prompt = "Watch deploys"
profile = "monitoring"
notify_target = "#deploys"
Slack が対応している場合は、#ops などのパブリックチャネル名を使用できます。プライベートチャネル、DM、スクリプトでは、チャネル ID が最も確実です。
セットアップガイド全文:cli/README.md
🔒 セキュリティ強化
- 相互 TLS(mTLS) - エンドツーエンドで暗号化された MCP
- 動的なシークレットの置換 - AI は実際の値を見ずに、シークレットの読み取り/書き込み/比較が可能です
- 安全なパスワード生成 - 複雑さを設定して、暗号学的に安全なパスワードを生成します
- プライバシーモード - IP アドレスや AWS アカウント ID などの機密データを秘匿します
🛠️ DevOps 作業向けに構築
- 非同期タスク管理 - ポートフォワーディングやサーバーなどのバックグラウンドコマンドを、適切に追跡し、キャンセルしながら実行します
- リアルタイムの進捗ストリーミング - 長時間実行されるプロセス(Docker ビルド、デプロイなど)の進捗状況をリアルタイムでストリーミングします
- インフラストラクチャコードのインデックス作成 - Terraform、Kubernetes、Dockerfile、GitHub Actions を自動でローカルにインデックス化し、セマンティック検索します
- ドキュメント調査エージェント - 技術ドキュメント、クラウドプロバイダー、開発フレームワークを対象とするウェブ検索機能を内蔵しています
- サブエージェント - コードの調査や、異なるツールアクセスレベルでのサンドボックス分析に特化した調査エージェント(
--enable-subagentsフラグで有効化) - 一括メッセージ承認 - 複数のツール呼び出しを一度に承認し、効率的にワークフローを実行できます
- 元に戻せるファイル操作 - すべてのファイル変更は自動的にバックアップされ、復元できます
🧠 適応型インテリジェンス
- ルールブック - 社内の標準業務手順、プレイブック、組織のポリシーを使って、エージェントの動作をカスタマイズできます
- 永続的なナレッジ - エージェントはやり取りから学習し、インシデント、リソース、環境の詳細を記憶して、ワークフローに適応します
インストール
すべてのインストール方法(Linux、MacOs、Windows)
Homebrew(Linux および MacOS)
brew tap stakpak/stakpak
brew install stakpak
更新するには、次のコマンドを使用します。
brew update
brew upgrade stakpak
バイナリリリース
お使いのプラットフォーム向けの最新バイナリを、GitHub Releases からダウンロードしてください。
Docker
このイメージには、docker、kubectl、aws cli、gcloud、azure cli など、エージェントが日常的な DevOps タスクで必要とする人気の CLI ツールが含まれています。
docker pull ghcr.io/stakpak/agent:latest
使用方法
Anthropic または OpenAI の独自の API キー、OpenAI 互換のカスタムエンドポイント、または Stakpak API キーを使用できます。
オプション A:Stakpak API キーを使用して実行する(クレジットカード不要)
stakpak を実行し、指示に従うと、新しい API キーが作成されます。
stakpak
Brave を使用している場合、API キーの作成中に localhost ポートへの自動リダイレクトで問題が発生することがあります。その場合は、次の手順を実行してください。
ブラウザーから新しいキーをコピーし、ターミナルに貼り付けます。
非対話型のセットアップ(CI/スクリプト)
stakpak auth login --api-key $STAKPAK_API_KEY
または環境変数を設定する
export STAKPAK_API_KEY=<mykey>
現在のアカウントを表示する(任意)
stakpak account
オプション B:Stakpak API キーを使用せずに実行する
非対話型のセットアップ(CI/スクリプト)
# Anthropic
stakpak auth login --provider anthropic --api-key $ANTHROPIC_API_KEY
# OpenAI
stakpak auth login --provider openai --api-key $OPENAI_API_KEY
# Gemini
stakpak auth login --provider gemini --api-key $GEMINI_API_KEY
手動設定
次のいずれかの設定を使用して、~/.stakpak/config.toml を作成します。
オプション 1:独自のキーを使用(BYOK) - Anthropic/OpenAI の API キーを使用します。
[profiles.byok]
provider = "local"
# Unified model preference field
model = "anthropic/claude-sonnet-4-5"
# Built-in providers - credentials can also be set via environment variables
# (ANTHROPIC_API_KEY, OPENAI_API_KEY, GEMINI_API_KEY)
[profiles.byok.providers.anthropic]
type = "anthropic"
api_key = "sk-ant-..."
[profiles.byok.providers.openai]
type = "openai"
api_key = "sk-..."
[profiles.byok.providers.gemini]
type = "gemini"
api_key = "..."
[settings]
オプション 2:独自の LLM を使用 - ローカルの OpenAI 互換エンドポイントを使用します(例:Ollama、LM Studio)。
[profiles.offline]
provider = "local"
# Custom provider models use the format: provider_key/model_name
model = "offline/qwen/qwen3-coder-30b"
# The provider key "offline" becomes the model prefix
[profiles.offline.providers.offline]
type = "custom"
api_endpoint = "http://localhost:11434/v1"
# api_key is optional for local providers
[settings]
オプション 3:組み込みプロバイダーとカスタムプロバイダーを組み合わせる:
[profiles.hybrid]
provider = "local"
# Unified model field (provider-prefixed)
model = "anthropic/claude-sonnet-4-5"
[profiles.hybrid.providers.anthropic]
type = "anthropic"
# Uses ANTHROPIC_API_KEY env var
[profiles.hybrid.providers.offline]
type = "custom"
api_endpoint = "http://localhost:11434/v1"
[settings]
Stakpak は、対話型の起動中に利用可能な更新をバックグラウンドで適用します。更新が適用されたら、新しいバイナリを使用するために、長時間実行中の Stakpak プロセスを再起動してください。
次に、プロファイルを指定して実行します。
stakpak --profile byok
# or
stakpak --profile offline
# or
stakpak --profile hybrid
Stakpak エージェント TUI を起動する
# Open the TUI
stakpak
# Resume execution from a checkpoint
stakpak -c <checkpoint-id>
Docker で Stakpak エージェント TUI を起動する
docker run -it --entrypoint stakpak ghcr.io/stakpak/agent:latest
# for containerization tasks (you need to mount the Docker socket)
docker run -it \
-v "/var/run/docker.sock":"/var/run/docker.sock" \
-v "{your app path}":"/agent/" \
--entrypoint stakpak ghcr.io/stakpak/agent:latest
MCP モード
Stakpak は、安全な MCP プロキシとして使用することも、MCP サーバーを通じてセキュリティを強化したツールを公開することもできます。
MCT サーバーのツール
- ローカルモード(
--tool-mode local) - ファイル操作とコマンド実行のみ(API キーは不要) - リモートモード(
--tool-mode remote) - AI を活用したコード生成および検索ツール(API キーが必要) - 統合モード(
--tool-mode combined) - ローカルとリモートの両方のツール(デフォルト、API キーが必要)
MCP サーバーを起動する
# Local tools only (no API key required, mTLS enabled by default)
stakpak mcp start --tool-mode local
# Remote tools only (AI tools optimized for DevOps)
stakpak mcp start --tool-mode remote
# Combined mode (default - all tools with full security)
stakpak mcp start
# Disable mTLS (NOT recommended for production)
stakpak mcp start --disable-mcp-mtls
MCP サーバー用の追加フラグ:
--disable-secret-redaction– 推奨しません。コンソールにシークレットを平文で出力します--privacy-mode– IP アドレスや AWS アカウント ID など、追加の個人情報をマスキングします--enable-slack-tools– 実験的な Slack ツールを有効にします
MCP プロキシサーバー
Stakpak には、設定ファイルを使用して複数の上流 MCP サーバーへの接続を多重化できる MCP プロキシサーバーも含まれています。
# Start MCP proxy with automatic config discovery
stakpak mcp proxy
# Start MCP proxy with explicit config file
stakpak mcp proxy --config-file ~/.stakpak/mcp.toml
# Disable secret redaction (NOT recommended – secrets will be printed in logs)
stakpak mcp proxy --disable-secret-redaction
# Enable privacy mode to redact IPs, account IDs, etc.
stakpak mcp proxy --privacy-mode
外部 MCP サーバーを設定する
外部 MCP サーバーは mcp.toml(または mcp.json)で設定し、stakpak mcp proxy によって読み込まれます。
設定ファイルの検索順序:
~/.stakpak/mcp.tomlまたは~/.stakpak/mcp.json.stakpak/mcp.tomlまたは.stakpak/mcp.json(現在のディレクトリから)./mcp.tomlまたは./mcp.json
CLI でサーバーを追加します:
# Add a stdio MCP server
stakpak mcp add context7 --command npx --args "-y,@upstash/context7-mcp"
# Add a stdio MCP server with environment variables (repeat --env)
stakpak mcp add internal-tools --command npx --args "-y,@acme/internal-mcp" --env "MCP_API_KEY=<token>" --env "MCP_REGION=us-east-1"
# Add an HTTP MCP server
stakpak mcp add github --url https://api.githubcopilot.com/mcp --headers "Authorization=Bearer <token>"
# Inspect and manage servers
stakpak mcp list
stakpak mcp get github
stakpak mcp disable github
stakpak mcp enable github
# Start the proxy with configured external MCPs
stakpak mcp proxy
または、~/.stakpak/mcp.toml でサーバーを直接定義します:
[mcpServers.context7]
command = "npx"
args = ["-y", "@upstash/context7-mcp"]
env = { MCP_API_KEY = "<token>", MCP_REGION = "us-east-1" }
[mcpServers.github]
url = "https://api.githubcopilot.com/mcp"
headers = { Authorization = "Bearer <token>" }
[mcpServers.optional]
command = "npx"
args = ["-y", "some-mcp-server"]
disabled = true
disabled = true を設定すると、サーバーを設定したまま読み込まないようにできます。
エージェントクライアントプロトコル(ACP)
ACP は、AI エージェントが Zed などのコードエディターと直接連携できるようにする標準化されたプロトコルであり、AI を活用したシームレスな開発支援を提供します。
Stakpak の ACP が提供する機能
- リアルタイム AI チャット - コンテキストを認識した AI アシスタンスとの自然言語による会話
- ライブコード分析 - AI がリアルタイムでコードベースを読み取り、理解し、変更できます
- ツールの実行 - AI がコマンドを実行し、ファイルを編集し、コードを検索して、開発タスクを実行できます
- セッションの永続化 - エディターのセッションをまたいで会話のコンテキストを維持します
- ストリーミング応答 - 進捗状況をリアルタイムで更新しながら AI が応答します
- エージェントの計画 - タスクの内訳を視覚的に表示し、進捗状況を追跡します
インストールとセットアップ
- Stakpak をインストール (まだインストールされていない場合)
- Zed エディタを設定 -
~/.config/zed/settings.jsonに追加:
{
"agent_servers": {
"Stakpak": {
"command": "stakpak",
"args": ["acp"],
"env": {}
}
}
}
- ACP エージェントを起動:
stakpak acp
- Zed で使用 - Assistant (✨) をクリック →
+→New stakpak thread
ルールブック管理
Stakpak ルールブックで標準作業手順 (SOP)、プレイブック、ランブックを管理できます。ルールブックはエージェントの動作をカスタマイズし、コンテキストに応じたガイダンスを提供します。
# List all rulebooks
stakpak rulebooks get
# or use the short alias
stakpak rb get
# Get a specific rulebook
stakpak rb get stakpak://my-org/deployment-guide.md
# Create or update a rulebook from a markdown file
stakpak rb apply my-rulebook.md
# Delete a rulebook
stakpak rb delete stakpak://my-org/old-guide.md
ルールブックのフォーマット
ルールブックは YAML フロントマター付きの Markdown ファイルです:
---
uri: stakpak://my-org/deployment-guide.md
description: Standard deployment procedures for production
tags:
- deployment
- production
- sop
---
# Deployment Guide
Your deployment procedures and guidelines here...
シェル補完
すべての stakpak サブコマンド、フラグ、引数に対してタブ補完を有効にします。
# Bash
echo 'source <(stakpak completion bash)' >> ~/.bashrc
# Elvish
echo 'eval (stakpak completion elvish | slurp)' >> ~/.elvish/rc.elv
# Fish
echo 'stakpak completion fish | source' > ~/.config/fish/completions/stakpak.fish
# Zsh
echo 'source <(stakpak completion zsh)' >> ~/.zshrc
# PowerShell
Add-Content -Path $PROFILE -Value 'stakpak completion powershell | Out-String | Invoke-Expression'
対応シェル: bash、elvish、fish、powershell、zsh。
シェルモード
入力バーからシステムコマンドを明示的に実行します。
バックグラウンド実行とフォアグラウンド実行の詳細については、シェルモードのドキュメントを確認してください。
プラットフォームテスト
Windows
Windows CLI 機能の包括的なテストレポート。インストール、設定、WSL2 および Docker との統合を含みます。
⭐ 私たちが作っているものを気に入っていただけましたか?
私たちのエージェントがあなたの時間を節約したり、DevOps の仕事を楽にしてくれるなら、
GitHub でスターを付けることを検討してください — それが本当に励みになります!
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。