@geekbeer/minion 3.8.0 → 3.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/core/config.js +7 -0
- package/docs/api-reference.md +88 -0
- package/package.json +1 -1
- package/rules/core.md +14 -0
package/core/config.js
CHANGED
|
@@ -75,6 +75,7 @@ const config = {
|
|
|
75
75
|
HQ_URL: process.env.HQ_URL || '',
|
|
76
76
|
API_TOKEN: process.env.API_TOKEN || '',
|
|
77
77
|
MINION_ID: process.env.MINION_ID || '',
|
|
78
|
+
MINION_EMAIL: process.env.MINION_ID ? `m-${process.env.MINION_ID}@minion-agent.com` : '',
|
|
78
79
|
|
|
79
80
|
// Server settings
|
|
80
81
|
AGENT_PORT: parseInt(process.env.AGENT_PORT, 10) || 8080,
|
|
@@ -111,6 +112,12 @@ function validate() {
|
|
|
111
112
|
} else {
|
|
112
113
|
console.log('[Config] HQ not configured, running in standalone mode')
|
|
113
114
|
}
|
|
115
|
+
|
|
116
|
+
// Expose MINION_EMAIL to child processes (e.g. Claude Code, Gemini CLI)
|
|
117
|
+
if (config.MINION_EMAIL) {
|
|
118
|
+
process.env.MINION_EMAIL = config.MINION_EMAIL
|
|
119
|
+
console.log(`[Config] Email: ${config.MINION_EMAIL}`)
|
|
120
|
+
}
|
|
114
121
|
}
|
|
115
122
|
|
|
116
123
|
/**
|
package/docs/api-reference.md
CHANGED
|
@@ -443,6 +443,94 @@ POST `/api/project-memories` body:
|
|
|
443
443
|
3. 該当なし → `POST /api/threads` でブロッカー起票(プロジェクトなら `scope: "project"` + `project_id`、ルーティンなら `scope: "workspace"`)
|
|
444
444
|
4. 解決後 → プロジェクトスレッドの場合は `POST /api/project-memories` で知見を蓄積
|
|
445
445
|
|
|
446
|
+
### Email
|
|
447
|
+
|
|
448
|
+
ミニオン専用メールアドレス (`m-{MINION_ID}@minion-agent.com`) 宛のメールを管理する。
|
|
449
|
+
メールは Cloudflare Email Worker → HQ → ミニオンの経路で自動受信・保存される。
|
|
450
|
+
添付ファイルはセキュリティ上、人間が HQ ダッシュボードで承認するまでデータを取得できない。
|
|
451
|
+
|
|
452
|
+
| Method | Endpoint | Description |
|
|
453
|
+
|--------|----------|-------------|
|
|
454
|
+
| GET | `/api/email/inbox/summary` | 未読・合計件数 (`{unread, total, latest_at}`) |
|
|
455
|
+
| GET | `/api/email/inbox` | メール一覧(フィルター対応) |
|
|
456
|
+
| GET | `/api/email/inbox/:id` | メール詳細(添付メタデータ含む) |
|
|
457
|
+
| PUT | `/api/email/inbox/:id` | 既読/未読を更新 |
|
|
458
|
+
| DELETE | `/api/email/inbox/:id` | メールを削除 |
|
|
459
|
+
| POST | `/api/email/inbox/:id/attachments/:attachmentId/approve` | 添付ファイルを承認(HQダッシュボード用) |
|
|
460
|
+
| GET | `/api/email/inbox/:id/attachments/:attachmentId` | 添付ファイルを取得(承認済みのみ) |
|
|
461
|
+
|
|
462
|
+
GET `/api/email/inbox` query parameters:
|
|
463
|
+
|
|
464
|
+
| Param | Description |
|
|
465
|
+
|-------|-------------|
|
|
466
|
+
| `is_read` | `0` (未読) or `1` (既読) でフィルター |
|
|
467
|
+
| `from_address` | 送信元アドレスで部分一致検索 |
|
|
468
|
+
| `search` | 件名・本文でテキスト検索(3文字以上でFTS5使用) |
|
|
469
|
+
| `limit` | 取得件数(デフォルト: 50) |
|
|
470
|
+
|
|
471
|
+
GET `/api/email/inbox/summary` response:
|
|
472
|
+
```json
|
|
473
|
+
{
|
|
474
|
+
"success": true,
|
|
475
|
+
"summary": { "unread": 3, "total": 12, "latest_at": "2026-04-01T10:30:00Z" }
|
|
476
|
+
}
|
|
477
|
+
```
|
|
478
|
+
|
|
479
|
+
GET `/api/email/inbox` response:
|
|
480
|
+
```json
|
|
481
|
+
{
|
|
482
|
+
"success": true,
|
|
483
|
+
"emails": [
|
|
484
|
+
{
|
|
485
|
+
"id": "abc123",
|
|
486
|
+
"from_address": "user@example.com",
|
|
487
|
+
"to_address": "m-uuid@minion-agent.com",
|
|
488
|
+
"subject": "タスクの依頼",
|
|
489
|
+
"body_text": "...",
|
|
490
|
+
"body_html": "...",
|
|
491
|
+
"received_at": "2026-04-01T10:30:00Z",
|
|
492
|
+
"is_read": 0,
|
|
493
|
+
"labels": []
|
|
494
|
+
}
|
|
495
|
+
]
|
|
496
|
+
}
|
|
497
|
+
```
|
|
498
|
+
|
|
499
|
+
GET `/api/email/inbox/:id` response (添付ファイル付き):
|
|
500
|
+
```json
|
|
501
|
+
{
|
|
502
|
+
"success": true,
|
|
503
|
+
"email": {
|
|
504
|
+
"id": "abc123",
|
|
505
|
+
"from_address": "user@example.com",
|
|
506
|
+
"to_address": "m-uuid@minion-agent.com",
|
|
507
|
+
"subject": "資料送付",
|
|
508
|
+
"body_text": "...",
|
|
509
|
+
"body_html": "...",
|
|
510
|
+
"received_at": "2026-04-01T10:30:00Z",
|
|
511
|
+
"is_read": 0,
|
|
512
|
+
"labels": [],
|
|
513
|
+
"attachments": [
|
|
514
|
+
{
|
|
515
|
+
"id": "att456",
|
|
516
|
+
"email_id": "abc123",
|
|
517
|
+
"filename": "report.pdf",
|
|
518
|
+
"content_type": "application/pdf",
|
|
519
|
+
"size_bytes": 102400,
|
|
520
|
+
"approved": 0
|
|
521
|
+
}
|
|
522
|
+
]
|
|
523
|
+
}
|
|
524
|
+
}
|
|
525
|
+
```
|
|
526
|
+
|
|
527
|
+
PUT `/api/email/inbox/:id` body:
|
|
528
|
+
```json
|
|
529
|
+
{ "is_read": 1 }
|
|
530
|
+
```
|
|
531
|
+
|
|
532
|
+
Note: 既読メールは受信後90日で自動削除される。未読メールは保持される。
|
|
533
|
+
|
|
446
534
|
### Commands
|
|
447
535
|
|
|
448
536
|
| Method | Endpoint | Description |
|
package/package.json
CHANGED
package/rules/core.md
CHANGED
|
@@ -27,6 +27,19 @@ Minion
|
|
|
27
27
|
- **Routine**: ミニオンスコープ。ミニオンローカルの定期タスク。
|
|
28
28
|
- ミニオンは複数プロジェクトに `pm` または `engineer` として参加できる。
|
|
29
29
|
|
|
30
|
+
## Email
|
|
31
|
+
|
|
32
|
+
各ミニオンには専用メールアドレス `m-{MINION_ID}@minion-agent.com` が割り当てられている。
|
|
33
|
+
受信メールはローカルSQLiteに自動保存され、Agent APIで確認できる。
|
|
34
|
+
|
|
35
|
+
- **受信確認**: `GET /api/email/inbox/summary` で未読件数を確認
|
|
36
|
+
- **メール一覧**: `GET /api/email/inbox` でメール一覧を取得(フィルター・検索対応)
|
|
37
|
+
- **メール詳細**: `GET /api/email/inbox/:id` で本文・添付ファイルを確認
|
|
38
|
+
- **既読管理**: `PUT /api/email/inbox/:id` で既読/未読を切り替え
|
|
39
|
+
- **添付ファイル**: 添付ファイルはセキュリティ上、人間がHQダッシュボードで承認するまでダウンロード不可
|
|
40
|
+
|
|
41
|
+
API の詳細仕様は `~/.minion/docs/api-reference.md` の「Email」セクションを参照。
|
|
42
|
+
|
|
30
43
|
## Available Tools
|
|
31
44
|
|
|
32
45
|
### CLI
|
|
@@ -127,6 +140,7 @@ Note: Codex CLI の `.codex/` ディレクトリはLLMからの直接編集が
|
|
|
127
140
|
| `MINION_ID` | UUID assigned by HQ |
|
|
128
141
|
| `AGENT_PORT` | Agent HTTP port (default: 8080) |
|
|
129
142
|
| `MINION_USER` | System user running the agent |
|
|
143
|
+
| `MINION_EMAIL` | Minion email address (`m-{MINION_ID}@minion-agent.com`) |
|
|
130
144
|
|
|
131
145
|
Routine 実行中は以下もtmuxセッション環境で利用可能:
|
|
132
146
|
- `MINION_EXECUTION_ID` — 実行UUID
|