사용 가능한 스킬(도구)을 탐색하고 관리합니다.
스킬 유형
내장 스킬
앱에 내장되어 있으며 비활성화할 수 없습니다:
| 스킬 | 기능 | 보안 등급 |
|---|---|---|
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를 통해 추가되며 켜고 끌 수 있습니다:
- 파일 읽기/쓰기, 명령어 실행, 웹 검색 등
- 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는 웹훅을 통해 메시지를 보냅니다.
웹훅 설정
방법 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에 서버 상태 보고서를 올려줘"
웹훅이 설정되지 않은 경우 설정 방법 안내가 표시됩니다.
스킬 카드
각 스킬은 카드 형태로 표시됩니다:
- 이름: 스킬 이름 (예:
skill_read_file) - 설명: 한 줄 요약
- 클릭: 전체 설명 펼치기
- 배지: 유형 (내장/gateway/command), 보안 등급 (T0~T3)
- ? 버튼: AI에게 이 스킬에 대해 설명해달라고 요청
- 토글: 커스텀 스킬 활성화/비활성화
검색 및 일괄 관리
- 검색: 이름이나 설명으로 필터링
- 전체 활성화 / 전체 비활성화: 커스텀 스킬 일괄 토글
- 활성/전체 개수가 표시됩니다
AI로 스킬 관리하기
채팅에서 Naia에게 요청하세요:
- "사용 가능한 스킬 목록 보여줘"
- "날씨 관련 스킬 있어?"
- "healthcheck 스킬 비활성화해줘"
Naia가 자동으로 skill_skill_manager를 사용합니다.
보안 등급
| 등급 | 설명 | 승인 |
|---|---|---|
| T0 | 읽기 전용, 부작용 없음 | 자동 승인 |
| T1 | 알림만 | 알림 표시 |
| T2 | 주의 필요 | 사용자 승인 필요 |
| T3 | 위험한 작업 | 매번 사용자 승인 필요 |