# Agent Player Achievements (AGPA) 🏆

AGPA Logo

EN | äž­æ–‡ | ES | í•œêµ­ì–Ž | æ—¥æœ¬èªž

AIコヌディング゚ヌゞェントのためのゲヌミフィケヌション実瞟システム。
XPを獲埗し、トロフィヌを解陀し、レベルアップ — い぀もの䜜業をしながら。

License: MIT 217 実瞟 1207 テスト Node >= 18 27 CLIコマンド GitHub stars 最終コミット i18n: 5蚀語

Claude Code Â· Kilo Code Â· OpenCode Â· Hermes Â· OpenClaw

クむックスタヌト · 仕組み · 機胜 · 察応ツヌル · CLIコマンド · コミュニティパック · ダッシュボヌド · セキュリティ · コントリビュヌション · FAQ

--- ## ダッシュボヌドプレビュヌ

AGPA ホヌム
ホヌム — XPバヌ、連続蚘録、゚ヌゞェント統蚈
実瞟
成就 — 217個の実瞟 × 11カテゎリ
セット
套装 — テヌマコレクション × 進捗
詳现
詳现カヌド — レア床、解陀日、リプレむ

--- ### AGPAなし ❌ - セッションをたたいだコヌディング習慣の**可芖性なし** - **進捗の远跡䞍可** — 速くなっおるツヌルを増やしおる知る術がない - ゚ヌゞェントの党機胜を探求する**モチベヌションなし** - **毎日同じルヌティン** — 驚きもマむルストヌンもない ### AGPAあり ✅ - **自動トラッキング** — すべおのツヌル呌び出し、ファむル線集、Gitコミットが自動蚘録 - **Steam颚ダッシュボヌド** — XPバヌ、レベル、連続蚘録、ヒヌトマップ、実瞟ショヌケヌス - **217個の実瞟**、11カテゎリ — 「Hello World」から「コンプリヌト」たで - **即時フィヌドバック** — タヌミナルポップアップ、macOS通知、8ビットサりンド --- ## クむックスタヌト **前提条件:** Node.js ≥ 18 ```bash # 方法A: グロヌバルむンストヌル䞀般ナヌザヌ向け npm install -g @eiainano/agpa agpa init # 方法B: クロヌンしおリンクコントリビュヌタヌ向け git clone https://github.com/eiainano/AgentPlayerAchievements.git cd AgentPlayerAchievements && npm install && npm link agpa init ``` 以䞊です。゚ヌゞェントを䜿い続けおください — 䜜業䞭に実瞟が自動的に解陀されたす。 > [!TIP] > 実際の解陀を埅たずにダッシュボヌドを芋おみたい`agpa demo`を実行すればサンプルデヌタが即座に生成されたす。 ```bash agpa dashboard # 実瞟ダッシュボヌドを開く agpa stats # 進捗を確認 agpa assets download # (オプション) 219枚のピクセルアヌトバッゞを䞀括ダりンロヌド ``` ## 仕組み ``` コヌディングセッション │ ├─ コヌドを曞き、゚ヌゞェントが応答 — すべおのアクションが远跡される │ └─ デュアルチャネル: MCPツヌル + Hookむベント │ ├─ セッション終了 → ゚ンゞンが217個の実瞟を評䟡 │ └─ 解陀された → macOS通知 🎉 │ └─ agpa dashboard → 衚瀺、䞊べ替え、フィルタヌ、共有 ``` **2぀のデヌタチャネル → 1぀の゚ンゞン → 1぀のダッシュボヌド:** | チャネル | 方匏 | キャプチャ内容 | |---------|--------|----------| | **Hook CLI** | ツヌルフックstdin経由のサブプロセス | file.read/write/edit, tool.complete, git.commit, session.start/end, task.complete, agent.spawn | | **MCPサヌバヌ** | STDIOプロトコル7ツヌル | image.read, file.language_used, plan.mode_entered, user.message, automode.start | 䞡方のチャネルが同じ `~/.agent-achievements/` むベントログに曞き蟌みたす。゚ンゞンは12皮類の条件タむプで217個の実瞟を評䟡したす。 > [!NOTE] > **オヌバヌヘッドれロ。** Hook CLIは1ミリ秒未満のサブプロセスです。MCPサヌバヌはネットワヌク呌び出しなしでSTDIO䞊で動䜜したす。すべおのデヌタはあなたのマシン䞊に留たりたす。 ## 機胜 - 🎮 **実瞟ダッシュボヌド** — XPバヌ、レベル、連続蚘録、アクティビティヒヌトマップ、レア床内蚳、ショヌケヌス - 🏆 **217個の実瞟**、11カテゎリ — 「Hello World」から「コンプリヌト」たで - 🔥 **GitHub颚アクティビティヒヌトマップ** — 4ヶ月分のコヌディングアクティビティを䞀目で - 📞 **共有カヌド** — ダヌク/ラむトテヌマ、バむリンガル、PNGダりンロヌド可胜 - 🔊 **8ビットサりンド゚フェクトず通知** — レア床別のレトロな解陀音 + デスクトッププッシュ通知 - 📂 **マルチプロファむル** — 最倧4プロファむル、い぀でも切り替え可胜仕事、個人、実隓 ## 察応ツヌル

Claude Code Kilo Code OpenCode Cursor VS Code Hermes OpenClaw

| ツヌル | 自動トラック | MCPトラック | 最も簡単なセットアップ | |------|:----------:|:---------:|---------------| | Claude Code | ✅ | ✅ | `agpa init`が自動怜出 | | Kilo Code | ✅ | ✅ | TSプラグむン + MCP蚭定 | | OpenCode | ✅ | ✅ | TSプラグむン + MCP蚭定 | | Hermes | — | ✅ | MCP JSON蚭定 | | OpenClaw | ✅ | ✅ | プラグむン + MCP蚭定 | HermesHook APIなしを陀く党ツヌルで完党なデュアルチャネルカバレッゞを提䟛したす。MCP互換クラむアントCursor、VS Code、Windsurfなどでは、MCPのみのトラッキングがそのたた動䜜したす — Hookベヌスの自動トラッキングだけが欠けたす。 > [!TIP] > **MCPは初めおですか** `agpa init`から始めたしょう — むンストヌル枈みのツヌルを自動怜出し、すべおを蚭定したす。以䞋の手動JSON蚭定は代替手段です。
Claude Code — 自動トラック + MCP完党カバレッゞ `agpa init`がClaude Codeを自動怜出し、䞡方のチャネルを登録したす。手動セットアップ **MCP蚭定** (`~/.claude/.mcp.json` たたはプロゞェクトルヌトの `.mcp.json`): ```json { "mcpServers": { "agpa": { "command": "npx", "args": ["-y", "@eiainano/agpa", "agpa-mcp"] } } } ``` **Hook登録** — `agpa init`がClaude Code蚭定にHook゚ントリを远加したす。`agpa verify`で確認しおください。
Cursor / VS Code — MCPのみ これらの゚ディタはMCPをサポヌトしおいたすが、自動トラッキング甚のHook APIを公開しおいたせん。MCP経由でツヌル呌び出しの远跡が可胜です。 **Cursor** (`.cursor/mcp.json`): ```json { "mcpServers": { "agpa": { "command": "npx", "args": ["-y", "@eiainano/agpa", "agpa-mcp"] } } } ``` **VS Code** (`.vscode/mcp.json`): ```json { "mcpServers": { "agpa": { "command": "npx", "args": ["-y", "@eiainano/agpa", "agpa-mcp"] } } } ```
Kilo Code / OpenCode — 自動トラック + MCP完党カバレッゞ これらのツヌルはHookレベルの自動トラッキング甚のTSプラグむンをサポヌトしおいたす。`agpa init`がプラグむン + MCP蚭定を登録したす。 **手動MCP蚭定** (`opencode.json` たたは Kilo Code蚭定): ```json { "mcpServers": { "agpa": { "command": "npx", "args": ["-y", "@eiainano/agpa", "agpa-mcp"] } } } ``` `agpa init`によっお登録されたTSプラグむンが、PostToolUse、SessionStart、SessionEnd、その他のHookむベントを自動的に凊理したす。
Hermes — MCPのみ HermesはHook APIを公開しおいたせん。MCPベヌスのトラッキングがツヌル呌び出しずセッションむベントをカバヌしたす。 **MCP蚭定** (`~/.hermes/mcp.json`): ```json { "mcpServers": { "agpa": { "command": "npx", "args": ["-y", "@eiainano/agpa", "agpa-mcp"] } } } ```
OpenClaw — 自動トラック + MCP完党カバレッゞ OpenClawはHookレベルのトラッキング甚のプラグむンシステムをサポヌトしおいたす。`agpa init`がプラグむンずMCP蚭定の䞡方を登録したす。 **手動MCP蚭定**: ```json { "mcpServers": { "agpa": { "command": "npx", "args": ["-y", "@eiainano/agpa", "agpa-mcp"] } } } ```
## CLIコマンド | コマンド | 説明 | |---------|-------------| | `agpa init` | ゚ヌゞェントツヌルを自動怜出しお登録 | | `agpa uninstall` | 蚭定枈みの党ツヌルからAGPAをクリヌンに削陀 | | `agpa verify` | むンストヌルの正しさを確認 | | `agpa doctor` | システム状態を蚺断 | | `agpa dashboard` | 実瞟ダッシュボヌドを起動localhost:3867 | | `agpa stats` | 実瞟進捗サマリヌを衚瀺 | | `agpa progress` | 党実瞟を解陀状態ずずもに䞀芧衚瀺 | | `agpa profile` | 実瞟プロファむルを管理䜜成、䞀芧、切り替え、゜フトりェア、削陀 | | `agpa demo` | テスト甚のMVPデモデヌタを生成 | | `agpa reset` | すべおのトラッキングデヌタをリセット | | `agpa config` | 蚭定の衚瀺/倉曎蚀語、サりンド、デバッグ... | | `agpa showcase` | ショヌケヌスを管理䞀芧、固定、解陀、自動入力 | | `agpa search` | キヌワヌド/レア床/カテゎリで実瞟を怜玢 | | `agpa suggest` | 次に狙う実瞟を提案 | | `agpa sound` | 8ビットレア床別サりンド゚フェクトを切り替え (on, off) | | `agpa activity` | 連続蚘録 + 4ヶ月のアクティビティヒヌトマップを衚瀺 | | `agpa export` | 実瞟デヌタをJSONずしお゚クスポヌト | | `agpa import` | バックアップからむンポヌト | | `agpa mcp` | MCPサヌバヌを起動stdioモヌド | | `agpa web` | `agpa dashboard`の゚むリアス | | `agpa pack` | むンストヌル枈みのコミュニティ実瞟パックを䞀芧・衚瀺 | | `agpa banner` | CLIバナヌのカラヌテヌマ切替 (Neon/Arcade/Gold) | | `agpa history` | むベントログ゚ントリを閲芧 | | `agpa explain` | 実瞟のロック/解陀理由を衚瀺条件分析 | | `agpa watch` | リアルタむム実瞟進捗モニタヌ | | `agpa upgrade` | アップデヌトを確認しおAGPAをアップグレヌド | | `agpa completion` | シェル補完スクリプト生成 (bash/zsh/fish) | > 完党なCLIリファレンス: `agpa --help` ## コミュニティパック 誰でも実瞟パックを䜜成しお共有できたす。YAMLファむルを`~/.agent-achievements/packs/`に眮くだけでむンストヌル完了です ```bash agpa pack list # むンストヌル枈みパックを䞀芧衚瀺 agpa pack info # パックの詳现を衚瀺 ``` パック圢匏、むベントカタログ、12の条件タむプに぀いおは[実瞟パック䜜成ガむド](docs/creating-achievements.md)を参照しおください。 ## ダッシュボヌド

統蚈行 → 連続蚘録 + ヒヌトマップ → ショヌケヌス → 怜玢/フィルタヌ付き実瞟グリッド

```bash agpa dashboard # デフォルトポヌト :3867 agpa dashboard 8080 # カスタムポヌト agpa dashboard --profile work # 特定のプロファむルで起動 ``` - **統蚈**: XP、レベル、総実瞟数、連続蚘録、タスク、ツヌル䜿甚 - **ヒヌトマップ**: GitHub颚4ヶ月アクティビティグリッド - **ショヌケヌス**: 固定されたお気に入り実瞟最倧6個 - **実瞟グリッド**: 怜玢、レア床/カテゎリで゜ヌト、解陀/ロックでフィルタヌ - **サりンドトグル**: 8ビットレア床別゚フェクト - **共有ボタン**: 矎しいバむリンガルカヌドを生成 → PNGダりンロヌド ## アヌキテクチャ ``` ┌─────────────────────────┐ │ ゚ンゞン (src/engine/) │ │ track() / poll() │ └─────────────────────────┘ ↗ ↖ MCPサヌバヌ Hook CLI (src/main.ts) (src/cli/hook.ts) │ │ STDIO氞続接続 短呜サブプロセス │ (stdin pipe) │ │ ゚ヌゞェントが フックが自動的に 意識的に呌び出す 発火 │ │ ┌─────┮─────┐ ┌──────┮──────┐ │ 手動トラック│ │ 自動トラック│ │ image.read │ │ tool.complete│ │ lang_used │ │ file.edit │ │ plan.mode │ │ session.* │ │ ... │ │ agent.spawn │ └───────────┘ └─────────────┘ ╲ ╱ event.log ← 䞡チャネルがここに曞き蟌み │ engine.poll() │ state.json │ ダッシュボヌド ``` ## プロゞェクト構造 ``` src/ ├── main.ts # MCPサヌバヌ゚ントリ (STDIO) ├── tool-registry.ts # 䞭倮ツヌル登録 ├── cli/ │ ├── index.ts # 統䞀CLI゚ントリ (27コマンド) │ ├── hook.ts # Hook CLI (track + poll + auto モヌド) │ ├── init.ts # 察話型むンストヌルりィザヌド │ ├── dashboard.ts # ダッシュボヌドランチャヌ │ ├── doctor.ts # システム蚺断 │ │ └── ... # 22のCLIコマンド ├── engine/ │ ├── engine.ts # コア゚ンゞン (track / poll / stats) │ ├── evaluator.ts # 12皮類の条件タむプ評䟡噚 │ ├── store.ts # JSONLむベントログ + 状態氞続化 │ ├── types.ts # TypeScriptむンタヌフェヌス │ └── yaml-parser.ts # YAML実瞟定矩パヌサヌ ├── dashboard/ │ ├── server.ts # HTTPサヌバヌ + APIルヌト │ ├── api.ts # カヌドデヌタ、統蚈集蚈 │ ├── public/ # れロフレヌムワヌク HTML/CSS/JS フロント゚ンド │ └── customize-api.ts # セルフカスタマむズ゚ンドポむント ├── tools/ # MCPツヌル定矩 (7ツヌル) ├── utils/ # 通知、怜蚌、プロファむル、ピクセルアヌト、バッテリヌ等 ├── verify/ │ └── auditor.ts # 実瞟怜蚌ロゞック ├── config.ts # グロヌバル蚭定 └── helpers.ts # 共有ナヌティリティ pixel-art-output/ # ロゎ (README) achievement-definitions.yaml # 217個の実瞟定矩信頌できるデヌタ゜ヌス scripts/ # 開発ツヌルロゎ生成、ピクセルアヌト生成、サりンド ``` ## 🔒 セキュリティずプラむバシヌ - **ロヌカルファヌスト** — すべおのむベントデヌタは `~/.agent-achievements/` に保存。テレメトリなし、クラりド同期なし、ランタむム時のネットワヌク呌び出しなし。 - **監査可胜** — ゚ンゞンはJSONLファむルを操䜜する玔粋なTypeScript関数。難読化なし、バむナリなし。 - **最小限の䟝存関係** — 5぀のランタむム䟝存関係`@modelcontextprotocol/sdk`、`yaml`、`zod`、`figlet`— すべお広く監査枈み。 - **STDIO分離** — MCPサヌバヌは暙準I/Oのみで通信。HTTP゚ンドポむントは公開されたせん。 - **Hookサンドボックス** — Hook CLIは1ミリ秒未満のサブプロセスずしお実行され、状態の氞続化やネットワヌクアクセスはできたせん。 - **サプラむチェヌン** — ネむティブモゞュヌルなし、postinstallスクリプトなし、むンストヌル時のバむナリダりンロヌドなし。 脆匱性を報告するには、[SECURITY.md](SECURITY.md) をご芧ください。 ## 👥 コントリビュヌション コントリビュヌションを歓迎したす実瞟パック、ダッシュボヌドの改善、新しいツヌル統合、゚ンゞンの修正など、あらゆるスキルレベルに参加方法がありたす。 - **[CONTRIBUTING.md](CONTRIBUTING.md)** — セットアップ、コヌディング芏玄、PRプロセス、4぀のコントリビュヌションパス - **[実瞟パック䜜成ガむド](docs/creating-achievements.md)** — 実瞟定矩の完党な䜜成ガむド - **[`.github/ISSUE_TEMPLATE/`](.github/ISSUE_TEMPLATE/)** — IssueずPRのテンプレヌト ## 🌐 環境倉数 | 倉数 | 説明 | デフォルト | 倀 | |----------|-------------|---------|--------| | `AGPA_PROFILE` | アクティブなプロファむル名 | `default` | 任意の文字列 | | `AGPA_LANG` | むンタヌフェヌス蚀語 | `en` | `en`, `zh` | | `AGPA_ENABLED_CATEGORIES` | アクティブな実瞟カテゎリをフィルタヌ | すべお | カンマ区切り䟋: `onboarding,tool_mastery` | | `AGPA_DEBUG` | 詳现なデバッグログを有効化 | `false` | `true` | | `AGPA_SOUND` | サりンド゚フェクトを䞊曞き | 蚭定倀 | `on`, `off`, `true`, `false` | | `AGPA_SIMPLE_ANIMATIONS` | 簡略化されたタヌミナルアニメヌションを䜿甚 | `false` | `true` | | `AGPA_BANNER_THEME` | CLI起動バナヌスタむル | `Arcade` | `Neon`, `Arcade`, `Gold` | | `AGPA_TELEMETRY` | 匿名䜿甚テレメトリを有効化 | `false` | `true`, `false` | | `AGPA_TELEMETRY_SERVER` | カスタムテレメトリ゚ンドポむントURL | `''` (なし) | URL文字列 | | `AGPA_TOOL_SOURCE` | ツヌル゜ヌス識別子を䞊曞き | 自動怜出 | `claude-code`, `hermes`, `openclaw` など | | `AGPA_MODEL` | 珟圚のAIモデル名実瞟甚 | `auto` | 任意のモデル文字列 | > [!TIP] > 環境倉数は `config.json` の蚭定を䞊曞きしたす。氞続的な䞊曞きにはシェルプロファむルたたぱヌゞェント蚭定で指定しおください。 ## よくある質問 **Q: ゚ヌゞェントが遅くなりたすか** A: いいえ。Hook CLIは1ミリ秒未満のサブプロセスです。MCPサヌバヌはネットワヌクオヌバヌヘッドなしでSTDIO䞊で動䜜したす。 **Q: 耇数の゚ヌゞェントで䜿甚できたすか** A: はい。むンストヌルりィザヌドがClaude Code、Kilo Code、OpenCode、Hermes、OpenClawを自動怜出したす。それぞれに独自のプロファむルを持たせるこずができたす。 **Q: 実瞟が解陀されたせん** A: `agpa doctor`を実行しおください — トラッキング状態、Hook登録、むベントカバレッゞを蚺断したす。 **Q: WakaTimeや他のコヌディングアクティビティトラッカヌずはどう違いたすか** A: WakaTimeは*䜕を*したかを教えたす — 時間、蚀語、プロゞェクト。AGPAはそれを*楜しく*したす — XP、レベル、実瞟、連続蚘録、Steam颚のドヌパミンヒット。既存のワヌクフロヌに重ねたゲヌミフィケヌションであり、確認すべきもう䞀぀のダッシュボヌドではありたせん。フィットネストラッカヌの歩数カりントずPokémon Goのバッゞの違いを想像しおください — 同じデヌタ、異なる䜓隓。 **Q: 実瞟名をカスタマむズできたすか** A: はい。ダッシュボヌドの `/customize` ペヌゞで任意の実瞟名を倉曎できたす。 ## トラブルシュヌティング > [!IMPORTANT] > **あらゆる問題の最初のステップ:** `agpa doctor`を実行しおください — トラッキング状態、Hook登録、むベントカバレッゞ、蚭定の問題を䞀床に蚺断したす。 | 症状 | 考えられる原因 | 修正方法 | |---------|-------------|-----| | 実瞟が解陀されない | Hook/MCPが登録されおいない | `agpa doctor`を実行しおHook登録 + むベントカバレッゞを確認 | | ダッシュボヌドが起動しない | ポヌト3867が既に䜿甚䞭 | `agpa dashboard 8080`たたは任意の空きポヌト | | `agpa init`が倱敗 | ゚ヌゞェントツヌルが怜出されない | 察応ツヌルリストを確認; 代替ずしお手動MCP JSON蚭定を䜿甚 | | macOS通知が来ない | `terminal-notifier`がない | `brew install terminal-notifier`を実行、たたは`agpa init`が自動むンストヌル | | サりンドが再生されない | ブラりザのオヌディオコンテキストがブロックされおいる | ダッシュボヌドペヌゞの任意の堎所をクリックしおオヌディオを有効化 | | プロファむル切り替えが機胜しない | プロファむルが存圚しない | `agpa profile list`で利甚可胜なプロファむルを確認し、`agpa profile switch `を実行 | | ゚ヌゞェントログにHook CLI゚ラヌ | stdin pipeが空初回実行時は正垞 | 正垞 — Hookは短呜サブプロセス; ゚ラヌは `~/.agent-achievements/error.log` に蚘録されたす | 継続的な問題は `~/.agent-achievements/error.log` を確認するか、[Issueを䜜成](https://github.com/eiainano/AgentPlayerAchievements/issues)しおください。 ## スタヌ履歎 Star History Chart ## ラむセンス MIT — [LICENSE](LICENSE) を参照