v2: add Chat SDK channel adapters and skills for 11 platforms

Thin wrapper adapters + SKILL.md for Slack, Telegram, GitHub, Linear,
Google Chat, Teams, WhatsApp Cloud API, Resend, Matrix, Webex, iMessage.
All follow the same pattern as discord-v2.ts: readEnvFile → create*Adapter
→ createChatSdkBridge → registerChannelAdapter.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
gavrielc
2026-04-09 11:26:33 +03:00
parent 8a06b01646
commit 12af451069
24 changed files with 1338 additions and 4 deletions

View File

@@ -0,0 +1,86 @@
---
name: add-imessage-v2
description: Add iMessage channel integration to NanoClaw v2 via Chat SDK. Local (macOS) or remote (Photon API) mode.
---
# Add iMessage Channel (v2)
This skill adds iMessage support to NanoClaw v2 using the Chat SDK bridge. Supports local mode (macOS with Full Disk Access) and remote mode (via Photon API).
## Phase 1: Pre-flight
Check if `src/channels/imessage-v2.ts` exists and the import is uncommented in `src/channels/index.ts`. If both are in place, skip to Phase 3.
## Phase 2: Apply Code Changes
### Install the adapter package
```bash
npm install chat-adapter-imessage
```
### Enable the channel
Uncomment the iMessage import in `src/channels/index.ts`:
```typescript
import './imessage-v2.js';
```
### Build
```bash
npm run build
```
## Phase 3: Setup
### Local Mode (macOS)
> **Requirements**: macOS with Full Disk Access granted to your terminal/Node.js process.
>
> 1. Go to **System Settings** > **Privacy & Security** > **Full Disk Access**
> 2. Add your terminal app (Terminal, iTerm2, etc.) or the Node.js binary
> 3. The adapter reads directly from the iMessage database on disk
### Remote Mode (Photon API)
> 1. Set up a [Photon](https://photon.im) account
> 2. Get your server URL and API key
### Configure environment
**Local mode** — add to `.env`:
```bash
IMESSAGE_ENABLED=true
IMESSAGE_LOCAL=true
```
**Remote mode** — add to `.env`:
```bash
IMESSAGE_LOCAL=false
IMESSAGE_SERVER_URL=https://your-photon-server.com
IMESSAGE_API_KEY=your-api-key
```
Sync to container: `mkdir -p data/env && cp .env data/env/env`
### Build and restart
```bash
npm run build
launchctl kickstart -k gui/$(id -u)/com.nanoclaw # macOS
```
## Phase 4: Verify
> Send an iMessage to the account running NanoClaw. The bot should respond within a few seconds.
## Removal
1. Comment out `import './imessage-v2.js'` in `src/channels/index.ts`
2. Remove iMessage env vars from `.env`
3. `npm uninstall chat-adapter-imessage`
4. Rebuild and restart