利用可能なスキル(ツール)の閲覧と管理。
スキルタイプ
組み込みスキル
アプリに組み込まれており、無効化できません:
| スキル | 機能 | セキュリティ階層 |
|---|---|---|
skill_time | 現在の日時を確認 | T0 |
skill_system_status | システムステータスを確認 | T0 |
skill_memo | メモの保存/取得 | T0 |
skill_weather | 天気を確認 | T0 |
skill_naia_discord | Discord DMの送受信 | T1 |
skill_soul | AIの個性とメモリを管理 | T0 |
skill_exit | アプリを正常に終了 | T2 |
カスタムスキル
Gateway経由で追加 — オン/オフの切り替えが可能:
- ファイルの読み書き、コマンド実行、Web検索など
- GatewayまたはCommandタイプ
スキルソース
- 組み込みスキル: アプリにバンドルされています
- カスタムスキル: ローカルのスキルマニフェストから読み込まれます(例:
~/.naia/skills/.../skill.json) - スキルカードを展開して
sourceバッジを確認できます
カスタムスキルの追加方法
1. AIに作成を依頼する(最も簡単)
チャットで希望の機能を説明すると、Naiaがコードを書いてスキルを作成します。
「現在の為替レートを取得するスキルを作成して
~/.naia/skills/exchange/skill.jsonに保存して。」
2. 手動追加
~/.naia/skills/<skill-name>/skill.jsonにスキルマニフェストを作成- 必要なスクリプト/実行可能ファイルを同じフォルダに配置
- スキルタブを開き、新しいスキルが表示されるか確認
- トグルで有効化
- チャットからスキルがトリガーされるリクエストでテスト
- 表示されない場合は、アプリを再起動して再確認
通知スキル(Slack / Discord / Google Chat)
skill_notify_slack と skill_notify_discord はWebhook経由でメッセージを送信します。
Webhookの設定
方法1: 環境変数(推奨)
export SLACK_WEBHOOK_URL="https://hooks.slack.com/services/T.../B.../xxx"
export DISCORD_WEBHOOK_URL="https://discord.com/api/webhooks/123/abc"
方法2: config.json
{
"notifications": {
"slack": { "webhookUrl": "https://hooks.slack.com/services/T.../B.../xxx" },
"discord": { "webhookUrl": "https://discord.com/api/webhooks/123/abc" }
}
}
使用例
- 「デプロイ完了の通知をSlackに送って」
- 「サーバーのステータスレポートをDiscordに投稿して」
Webhookが設定されていない場合、設定手順が表示されます。
スキルカード
各スキルはカードとして表示されます:
- 名前: スキル名(例:
skill_read_file) - 説明: 一行の要約
- クリック: 完全な説明を展開
- バッジ: タイプ(組み込み/Gateway/コマンド)、セキュリティ階層(T0〜T3)
- ?ボタン: AIにこのスキルの説明を依頼
- トグル: カスタムスキルの有効/無効
検索と一括管理
- 検索: 名前または説明でフィルタリング
- すべて有効 / すべて無効: カスタムスキルの一括切り替え
- アクティブ/合計数が表示されます
AI経由でスキルを管理
チャットでNaiaに依頼:
- 「利用可能なスキル一覧を見せて」
- 「天気関連のスキルはある?」
- 「ヘルスチェックスキルを無効にして」
Naiaは自動的に skill_skill_manager を使用します。
セキュリティ階層
| 階層 | 説明 | 承認 |
|---|---|---|
| T0 | 読み取り専用、副作用なし | 自動承認 |
| T1 | 通知のみ | 通知表示 |
| T2 | 注意が必要 | ユーザーの承認が必要 |
| T3 | 危険な操作 | 毎回ユーザーの承認が必要 |