Fastclaw について
FastClaw は Go 製の AI エージェントランタイムで、ウェブチャット、API、メッセージング経由でエージェントを運用するチーム向けです。エージェントごとにモデル、メモリ、スキル、ツールを持たせられ、サンドボックス実行とスケジューリングにも対応します。
主な機能
- 01モデルとメモリを分けたエージェント管理
- 02エージェントとメッセージングの接続
- 03エージェントの定期ジョブ実行
- 04Docker または E2B サンドボックスでのツール実行
- 05共有スキルと専用スキルの導入
- 06OpenAI 互換チャットと ACP の提供
活用シーン
- 01複数の専門エージェントの運用
- 02メッセージングアプリでのエージェントチャット提供
- 03定期的なエージェントタスクの設定
- 04エージェントのアプリへの統合
MCP 対応
FastClaw は、エージェントのツール連携として MCP サーバーをサポートします。README には転送方式や管理方法の詳細は記載されていません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
FastClaw
Go で書かれた軽量な AI エージェントランタイムです。
単一バイナリ - 任意の LLM - マルチエージェント - サンドボックス - クラウド対応
Web 上でエージェントとチャットするか、API や IM チャネルに接続できます
![]() エージェント — それぞれが独自のモデル、メモリ、スキルを持つ複数のエージェントを並行して利用できます | ![]() カスタマイズ — ブラウザーで SOUL.md、IDENTITY、メモリ、ハートビートを編集できます |
![]() チャネル — Telegram、Discord、Slack、WhatsApp、LINE、iMessage、WeChat、Feishu、WeCom | ![]() スケジューラー — エージェントが自動で実行する cron ジョブとインターバルジョブ |
返信でリッチな Markdown とコードを利用できます — コードレビューエージェントが SQL インジェクションと競合状態を検出
FastClaw とは?
FastClaw は エージェントファクトリー です。AI エージェントを作成、管理、実行します。各エージェントは独自のパーソナリティ(SOUL.md)、メモリ、スキル、ツールを備えています。FastClaw は LLM との通信、ツールの実行、サンドボックスによる分離、セッション管理を担います。
# Install (drops the binary into ~/.local/bin and adds it to PATH)
curl -fsSL https://raw.githubusercontent.com/fastclaw-ai/fastclaw/main/install.sh | bash
Windows:
powershell -ExecutionPolicy Bypass -Command "iex(New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/fastclaw-ai/fastclaw/main/install.ps1')"
クイックスタート
1. 初回起動
fastclaw
# Opens setup wizard → configure LLM provider → creates default agent.
# Foreground mode; ^C to stop. Use `fastclaw daemon start` to run in
# the background, or `fastclaw daemon install` to register a
# launchd / systemd service.
2. ダッシュボード
http://localhost:18953 を開き、管理者トークンでログインします。
- エージェント — それぞれが独自のパーソナリティとモデルを持つエージェントを作成、管理します
- スキル — ClawHub または GitHub から共有スキルをインストールします
- モデル — LLM プロバイダー(OpenAI、Anthropic、Ollama、OpenRouter など)を設定します
- API キー — プログラムから利用する認証情報を発行します(admin / user / agent の各階層)
- 設定 — 一般(テーマ)、アカウント(プロフィール + パスワード)、ランタイム(サンドボックス設定、管理者のみ)
管理者以外のユーザーは、最初から モデル、API キー、 設定(一般 + アカウント) にアクセスできます。管理者が共有した リソースは
Inheritedとして表示され、その上に独自のプライベートな オーバーレイを重ねることができます。これはエージェントランタイムと 同じ継承パターンです。
3. エージェント管理
エージェントをクリックして管理パネルを開きます。
- チャット — エージェントと会話します(デバッグ/テスト)
- ファイル — SOUL.md、IDENTITY.md、MEMORY.md などを編集します
- スキル — エージェント専用のスキル
- モデル — エージェント固有のプロバイダーとモデルの上書き設定(名前でシステム項目をシャドウします。エージェントスコープの
agents.defaults.modelはシステムのデフォルトを上書きします) - チャネル — IM ボット(Telegram、Discord、Slack)を接続し、エンドユーザーが使い慣れたプラットフォームでエージェントとチャットできるようにします
- スケジューラー — エージェントが
create_cron_job(「每天 9 点提醒我」、「5 分钟后叫我」)で作成した cron ジョブを確認、管理します。UI から一時停止/削除できます - セッション — 会話履歴
共有。 各エージェントには編集ダイアログに Public access 切り替え
(デフォルトはオフ)があります。オンにすると、チャット URL の
/agents/{id}/chat/ を知っている人なら誰でも、自分のアカウントで
エージェントとチャットできます。セッション/メモリ/USER.md は
チャットするユーザーごとに分離され、SOUL/IDENTITY/スキルは
オーナーの行から共有されます。オフの場合、オーナーまたは
super_admin のみがアクセスできます。
アーキテクチャ
~/.fastclaw/
fastclaw.db # SQLite default — users, agents, sessions,
# apikeys, configs, agent_files all live here
skills/ # Shared skills (bundled + installed)
agents/
<agentId>/agent/skills/ # Agent-private skills (filesystem only)
ディスク上のスキルフォルダーを除き、すべての情報の信頼できる唯一の情報源はデータベースです。デフォルトは SQLite です。マルチポッド構成では、FASTCLAW_STORAGE_DSN に Postgres を指定してください。
fastclaw.json はありません。 ブートストラップ設定(ポート、バインド、ストレージ DSN、サンドボックスバックエンド)は FASTCLAW_* 環境変数から取得されます。ユーザー向けの設定(プロバイダー、チャンネル、設定、デフォルト値)はすべて configs テーブルに保存され、ダッシュボードまたは fastclaw agents config から編集できます。
FastClaw が保存するデータ
| データ | 所属先 | 保存先 |
|---|---|---|
| エージェントレコード、SOUL.md / IDENTITY.md / MEMORY.md / agent.json | エージェント | DB(agent_files テーブル) |
| セッション(チャット履歴) | エージェント × ユーザー | DB(sessions テーブル) |
| API キー、ユーザー、スコープ付き設定(プロバイダー/チャンネル/設定) | プラットフォーム | DB |
| スキル | エージェント/グローバル | ファイルシステム(skills/、agents/<id>/agent/skills/) |
| ユーザーアカウント、請求 | アプリケーション | お使いのアプリ(ChatClaw など) |
| 出力ファイル | アプリケーション | お使いのアプリ/S3 |
機能
LLM プロバイダー
- OpenAI、Anthropic、Ollama、OpenRouter、Groq、DeepSeek、Mistral、および OpenAI 互換 API
- エージェントごとのプロバイダーとモデルの上書き(エージェントスコープの設定が名前でシステム設定より優先されます)
- プロンプトキャッシュのサポート(RawAssistant の保持)
チャンネル
- エージェントごとの Telegram/Discord/Slack ボット連携 — エンドユーザーは各プラットフォーム上でエージェントとチャットできます
- 保存前にトークンを検証(Telegram
getMe、Discord/users/@me、Slackauth.test) - セッションはチャンネルと chatID の組み合わせごとに分離されるため、ユーザーの Telegram スレッドと Discord スレッドが混在しません
ツールとサンドボックス
- 組み込みツール:exec、read_file、write_file、list_dir、web_fetch、web_search、memory_search
- E2B クラウドサンドボックスまたは Docker サンドボックス — スキルとワークスペースの自動取り込み、実行後の同期(各ツール呼び出し後に、サンドボックス側のファイルを永続ストアにミラーリングします)
- サンドボックスは、ホスト型デプロイでは境界であり、セルフホスト型インストールではツールです。
FASTCLAW_DEPLOY=hostedの場合、すべての exec/ファイル呼び出しはサンドボックス内に制限されます。セルフホスト型インストールでは、ホストシェルがデフォルトのままで、モデルは呼び出しごとにexec(sandbox:true)でサンドボックスを選択します。セルフホスト型インストールでホスト型と同様のロックダウンを有効にするには、FASTCLAW_SANDBOX_ENFORCE=1を設定してください(信頼できない IM チャットユーザーにエージェントを公開する場合に推奨)。 - MCP サーバーをサポート
- プラグインシステム(JSON-RPC サブプロセス)
スキル
- 同梱スキル:code-runner、image-gen、data-analysis、translation、web-search、skill-creator
- ClawHub または skills.sh からインストール
- エージェント専用またはグローバル共有
メモリ
- MEMORY.md — 長期的な事実。ハートビートによって自動更新されます
- 履歴を完全に保持するセッションベースのコンテキスト
- メモリ抽出のため、思考/推論の内容を保持
API
- OpenAI互換の
/v1/chat/completions(ストリーミング) /acpの Agent Communication Protocol(ACP)0.2 — エージェントの検出、マニフェスト、同期/非同期/ストリーミング実行、イベント、キャンセル、セッション- アプリ連携ガイド(
/skills/agent-integration/SKILL.mdからも提供):skills/agent-integration/SKILL.md - ACP連携ガイド:
docs/acp.md - Webチャット
/api/chat/stream(SSE) /api/chat/subscribe(SSE)によるエージェントからのリアルタイムプッシュ — cronで起動された返信など、その他の非同期返信を、更新せずに開いているチャットパネルに表示します- セッション管理
/api/chat/sessions - エージェントのCRUD
/api/agents(?all=trueはテナント横断ビューを返します。管理者専用) - エージェントごとのスケジューラー
/api/agents/{id}/cron(一覧表示/切り替え/削除) - プロバイダー管理
/api/config - スキルのインストール
/api/skills/install(ClawHub + GitHub) - APIキー管理
/api/apikeys(ユーザーごと。権限レベル:admin / user / agent) - ユーザー管理
/api/users(管理者)— トップレベルのCRUDに加え、ネストされた/api/users/{id}/apikeysと/api/users/{id}/agentsによる 管理者主導のプロビジョニングに対応しています。agentsエンドポイントはforkFromを受け付け、既存のエージェントのアイデンティティ(SOUL / IDENTITY / スキル / モデルのデフォルト設定)を新しいユーザーの名前空間に複製します。これは 「ユーザーがボットを購入する」フローを構築するための主要な要素です。ユーザーごとのagent_quotaでは、非管理者が自分で作成できるエージェント数の上限を設定します (-1= 無制限、0= 管理者によるプロビジョニングのみ)。 - アプリユーザーのプロビジョニング
POST /v1/users— サードパーティ製アプリは、エンドユーザーごとに安定した fastclaw user_id を発行できます。(api_key, external_id)に対して冪等です。または、初回の呼び出し時に遅延発行するには、/v1/chat/completionsでuserを渡します(またはX-Fastclaw-End-Userヘッダーを使用します)。
Configuration
初期設定は 環境変数のみ で行います。実行時に変更が必要な設定
(プロバイダー、モデル、チャンネル、デフォルト設定、サンドボックスの切り替え)は
データベースに保存され、ダッシュボードまたは fastclaw agents config から編集します。
| 環境変数 | デフォルト | 説明 |
|---|---|---|
FASTCLAW_HOME | ~/.fastclaw | SQLite DB とスキルフォルダーの保存場所です。 |
FASTCLAW_PORT | 18953 | ゲートウェイのHTTPポートです。 |
FASTCLAW_BIND | loopback | loopback(127.0.0.1)または all(0.0.0.0)です。 |
FASTCLAW_STORAGE_TYPE | sqlite | sqlite または postgres です。 |
FASTCLAW_STORAGE_DSN | 空 | Postgres DSN。例:postgres://u:p@host:5432/db?sslmode=disable。空の場合、$FASTCLAW_HOME/fastclaw.db の sqlite を使用します。 |
FASTCLAW_STORAGE_AUTO_MIGRATE | true | 起動時にスキーマのマイグレーションを適用します。 |
FASTCLAW_REDIS_ENABLED | false | RedisベースのチャンネルリースとRedis Streamメッセージバスを有効にします。FASTCLAW_REDIS_ADDR を設定した場合も有効になります。 |
FASTCLAW_REDIS_ADDR | 有効時は 127.0.0.1:6379 | 複数レプリカのチャンネルロックと、共有の受信/送信配信ストリームで使用するRedisアドレスです。 |
FASTCLAW_REDIS_USERNAME | 空 | 必要な場合に指定するRedis ACLユーザー名です。 |
FASTCLAW_REDIS_PASSWORD | 空 | 必要な場合に指定するRedisパスワードです。 |
FASTCLAW_REDIS_DB | 0 | Redisの論理データベース番号です。 |
FASTCLAW_REDIS_PREFIX | fastclaw | Redisのストリームキーとリースキーのプレフィックスです。 |
FASTCLAW_SANDBOX_ENABLED | ダッシュボード | Settings → Runtime の切り替え設定を上書きします。 |
FASTCLAW_SANDBOX_BACKEND | ダッシュボード | docker または e2b です。 |
FASTCLAW_SANDBOX_IMAGE | ダッシュボード | Dockerイメージ(Dockerバックエンド)またはテンプレートID(E2B)です。 |
FASTCLAW_OBJECT_STORE_* | 未設定 | 分散デプロイ向けのS3互換オブジェクトストア(複数ポッド間のスキル/ファイルの読み込み)です。 |
FASTCLAW_LOG_LEVEL | info | debug / info / warn / error です。 |
この一覧にない設定(プロバイダー、モデル、デフォルトモデル、スキルカタログ、
チャンネル、プラグイン設定、スケジューラー)は、Web UI
(http://localhost:18953)またはCLI(fastclaw agents config、fastclaw provider、fastclaw skill)から実行時に設定します。
Deployment
Local
fastclaw # foreground (^C to stop)
fastclaw daemon start # background (logs at ~/.fastclaw/daemon.log)
fastclaw daemon status
fastclaw daemon stop
fastclaw daemon install # register as a launchd / systemd service
CLI からエージェントを管理する(fastclaw agents …)
fastclaw agents サブコマンドは、ダッシュボードが使用するものと同じストアを操作する、シンプルなラッパーです。ここで作成したエージェントはウェブ UI に表示され、その逆も同様です。FASTCLAW_HOME ごとに fastclaw のデプロイメントは常に 1 つだけです。
# Zero to a chattable agent in one command. On a fresh install this
# creates an `admin` user (random password printed once) and starts
# the gateway daemon if it isn't already running.
fastclaw agents init alpha \
--provider openai \
--model openai/gpt-4o-mini \
--api-key-env OPENAI_API_KEY
# Set per-agent overrides (model, temperature, sandbox, …).
fastclaw agents config alpha set temperature 0.7
fastclaw agents config alpha set sandbox.enabled true
# Upload the agent's identity files.
fastclaw agents files put alpha SOUL.md ./SOUL.md
fastclaw agents files put alpha IDENTITY.md ./IDENTITY.md
# Inspect.
fastclaw agents ls
fastclaw agents config alpha get
fastclaw agents files ls alpha
# Tear down.
fastclaw agents rm alpha
CLI はオペレーターのストア(~/.fastclaw/fastclaw.db の SQLite、または FASTCLAW_STORAGE_DSN が指す先)を直接開き、ゲートウェイが使用するものと同じコードパスを通じて書き込みます。ゲートウェイの起動は必要ありません。ただし、agents init は新しいエージェントにすぐアクセスできるよう、バックグラウンドでゲートウェイを起動します(http://localhost:18953)。その後の CLI による書き込み(config set、files put、rm、init の再実行)では、実行中のゲートウェイに SIGHUP を送信して、再起動せずにホットリロードします。Windows では SIGHUP を送信できないため、CLI は fastclaw daemon restart の実行を促すメッセージに切り替えます。
デフォルトの所有者は admin ユーザーです。データベースが空の場合、agents init は生成したパスワードを一度だけ表示して、このアカウントを作成します。データベースにデータがある場合は、admin が存在するか、--username で既存のユーザーを指定する必要があります。
エージェントの特定
CLI コマンドでは、表示名または agt_… ID を指定できます。
fastclaw agents config alpha get— 表示名で指定します(重複していない必要があります)fastclaw agents config agt_d3c4a5… get— ID で指定します
同じ文字列が、あるエージェントの ID と別のエージェントの表示名に一致する場合、CLI は推測で判断せず、曖昧であることを報告します。
agents init <name> でエージェントを作成すると、name は表示名として使われ、ID は自動生成されます。ダッシュボードから作成したエージェントを更新するには、ID を明示的に指定します。
fastclaw agents init "Cool Agent" --id agt_d3c4a5...
設定キー
エージェントごとの設定(エージェントの ID の scope=agent に保存):
model、temperature、maxTokens、thinking、policysandbox、sandbox.enabled、sandbox.backend、sandbox.image、sandbox.network
システム全体の設定(scope=system に保存):
plugins、plugins.<name>skills.install、skills.entries、skillsLearnertools.providers、tools.categoriesobjectstore、taskqueue、heartbeat、memory、privacy、hooks、teams
プロバイダー設定は scope=system に保存され、provider.<name>.<field> で指定します。
fastclaw agents config alpha set provider.openai.apiKeyEnv OPENAI_API_KEY
fastclaw agents config alpha set provider.openrouter.apiBase https://openrouter.ai/api/v1
fastclaw agents config alpha set provider.openai.model gpt-4o # adds; idempotent
fastclaw agents config alpha set provider.openai.models '[]' # explicit clear
プロバイダーのプリセットは openai、openrouter、anthropic、ollama、groq、deepseek、mistral 用に用意されています。--api-key-env は、指定した環境変数から apiKey を設定し、その他の値にはプリセットが使われます。
エージェントのシステムファイル
CLI は、ダッシュボードのファイルエディターが使用するものと同じ agent_files テーブルを読み書きします。許可されているファイル名:SOUL.md、IDENTITY.md、USER.md、BOOTSTRAP.md、MEMORY.md、HEARTBEAT.md、AGENTS.md、TOOLS.md、agent.json。
| サブコマンド | 目的 |
|---|---|
agents init <name> | エージェントを作成または更新します(プロバイダー/モデル/サンドボックス/ファイル) |
agents ls | ストア内のすべてのエージェントを一覧表示します |
agents config <name> get|set [key] [value] | 設定値を読み取る、または更新します |
agents files ls|put|get <name> | エージェントのシステムファイルを読み取る/書き込む |
agents rm <name> | エージェントのレコードとシステムファイルを削除します |
CLI から API キーを管理する(fastclaw apikey …)
外部連携用のプログラムによる認証情報を発行、管理します。
キーの種類
| type | スコープ | 用途 |
|---|---|---|
admin | プラットフォーム全体へのフルアクセス、すべてのエージェント | 管理者による自動化、CI/CD |
user | 所有者のエージェント。app_user のプロビジョニング用に X-Fastclaw-End-User をサポートします | SaaS プロキシ層、マルチテナントアプリ |
agent | 明示的に指定したエージェントのみ。エージェントを作成できません | ボット、単一用途の連携 |
コマンド
# Create a key (token shown once — save immediately)
fastclaw apikey create --name "my-key" --type user [--owner <user-id>]
# List keys for a user (defaults to first super_admin)
fastclaw apikey list [--owner <user-id>]
# Delete a key
fastclaw apikey delete --id <apikey-id>
# Rotate a key (old token invalidated, new token shown once)
fastclaw apikey rotate --id <apikey-id>
フラグ:
--name(必須):人が読めるキー名--type(デフォルトはuser):admin、user、またはagent--owner(任意):所有者のユーザー ID。デフォルトは最初の super_admin
マルチテナントアプリの user フロー
type=user キーと X-Fastclaw-End-User ヘッダーを組み合わせると、FastClaw にユーザーを事前登録せずに、エンドユーザーごとにデータを分離できます。
Authorization: Bearer <user-key-token>
X-Fastclaw-End-User: <your-app-user-id>
FastClaw は、固有の (api_key_id, external_id) ペアごとに、安定した内部ユーザーを遅延生成します。セッション、メモリ、ファイルはエンドユーザーごとに完全に分離されます。
Docker
cd deploy/docker && ./start.sh
Kubernetes
env:
- name: FASTCLAW_BIND
value: "all"
- name: FASTCLAW_STORAGE_TYPE
value: "postgres"
- name: FASTCLAW_STORAGE_DSN
valueFrom:
secretKeyRef:
name: fastclaw-db
key: dsn
- name: FASTCLAW_OBJECT_STORE_ENDPOINT
value: "s3.amazonaws.com"
- name: FASTCLAW_OBJECT_STORE_BUCKET
value: "fastclaw-skills"
設定ファイルはマウントされません。ブートストラップは環境変数のみで行います。マニフェストの全容については deploy/k8s/ を参照してください。
ビルド
make build # builds the web bundle and the Go binary → bin/fastclaw
make install # installs to $HOME/.local/bin (override with PREFIX=)
make release-local # cross-compile darwin / linux / windows into dist/
Makefile は -ldflags を使って、バージョン、コミット、ビルド日時をバイナリに埋め込みます。CI でもこれらのターゲットを使用しています。.github/workflows/ を参照してください。
ライセンス
FastClaw は、Apache License 2.0 に追加条件を加えた FastClaw Community License の下でソースコードを利用可能です。
要約:
- ✅ 自社製品のバックエンドとして商用利用できます
- ✅ 組織内でデプロイできます
- ❌ 商用ライセンスなしで、無関係な組織向けに FastClaw をマルチテナント SaaS としてホスティングすること
- ❌ ダッシュボード UI の FastClaw のブランディングを削除または変更すること
Apache 2.0 の全文は、追加条項の下にある LICENSE ファイル内に再掲されています。商用ライセンスに関するお問い合わせ先:[email protected]。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。



