agent-messenger 2.1.0 → 2.2.0
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/.claude-plugin/plugin.json +1 -1
- package/.env.template +35 -17
- package/README.md +7 -7
- package/bun.lock +6 -6
- package/dist/package.json +2 -2
- package/dist/src/platforms/channeltalk/commands/auth.d.ts.map +1 -1
- package/dist/src/platforms/channeltalk/commands/auth.js +35 -28
- package/dist/src/platforms/channeltalk/commands/auth.js.map +1 -1
- package/dist/src/platforms/channeltalk/ensure-auth.js +6 -6
- package/dist/src/platforms/channeltalk/ensure-auth.js.map +1 -1
- package/dist/src/platforms/channeltalk/token-extractor.d.ts +23 -1
- package/dist/src/platforms/channeltalk/token-extractor.d.ts.map +1 -1
- package/dist/src/platforms/channeltalk/token-extractor.js +299 -29
- package/dist/src/platforms/channeltalk/token-extractor.js.map +1 -1
- package/dist/src/platforms/discord/commands/auth.d.ts.map +1 -1
- package/dist/src/platforms/discord/commands/auth.js +57 -49
- package/dist/src/platforms/discord/commands/auth.js.map +1 -1
- package/dist/src/platforms/discord/ensure-auth.js +3 -3
- package/dist/src/platforms/discord/ensure-auth.js.map +1 -1
- package/dist/src/platforms/discord/token-extractor.d.ts +6 -1
- package/dist/src/platforms/discord/token-extractor.d.ts.map +1 -1
- package/dist/src/platforms/discord/token-extractor.js +167 -14
- package/dist/src/platforms/discord/token-extractor.js.map +1 -1
- package/dist/src/platforms/instagram/client.d.ts +2 -0
- package/dist/src/platforms/instagram/client.d.ts.map +1 -1
- package/dist/src/platforms/instagram/client.js +2 -2
- package/dist/src/platforms/instagram/client.js.map +1 -1
- package/dist/src/platforms/instagram/commands/auth.d.ts.map +1 -1
- package/dist/src/platforms/instagram/commands/auth.js +107 -14
- package/dist/src/platforms/instagram/commands/auth.js.map +1 -1
- package/dist/src/platforms/instagram/ensure-auth.d.ts.map +1 -1
- package/dist/src/platforms/instagram/ensure-auth.js +57 -11
- package/dist/src/platforms/instagram/ensure-auth.js.map +1 -1
- package/dist/src/platforms/instagram/index.d.ts +1 -0
- package/dist/src/platforms/instagram/index.d.ts.map +1 -1
- package/dist/src/platforms/instagram/index.js +1 -0
- package/dist/src/platforms/instagram/index.js.map +1 -1
- package/dist/src/platforms/instagram/token-extractor.d.ts +44 -0
- package/dist/src/platforms/instagram/token-extractor.d.ts.map +1 -0
- package/dist/src/platforms/instagram/token-extractor.js +407 -0
- package/dist/src/platforms/instagram/token-extractor.js.map +1 -0
- package/dist/src/platforms/kakaotalk/client.d.ts.map +1 -1
- package/dist/src/platforms/kakaotalk/client.js +2 -1
- package/dist/src/platforms/kakaotalk/client.js.map +1 -1
- package/dist/src/platforms/kakaotalk/commands/auth.d.ts.map +1 -1
- package/dist/src/platforms/kakaotalk/commands/auth.js +14 -13
- package/dist/src/platforms/kakaotalk/commands/auth.js.map +1 -1
- package/dist/src/platforms/kakaotalk/protocol/connection.d.ts.map +1 -1
- package/dist/src/platforms/kakaotalk/protocol/connection.js +2 -1
- package/dist/src/platforms/kakaotalk/protocol/connection.js.map +1 -1
- package/dist/src/platforms/line/commands/auth.d.ts.map +1 -1
- package/dist/src/platforms/line/commands/auth.js +6 -5
- package/dist/src/platforms/line/commands/auth.js.map +1 -1
- package/dist/src/platforms/slack/commands/auth.d.ts.map +1 -1
- package/dist/src/platforms/slack/commands/auth.js +11 -10
- package/dist/src/platforms/slack/commands/auth.js.map +1 -1
- package/dist/src/platforms/slack/token-extractor.d.ts +9 -0
- package/dist/src/platforms/slack/token-extractor.d.ts.map +1 -1
- package/dist/src/platforms/slack/token-extractor.js +300 -23
- package/dist/src/platforms/slack/token-extractor.js.map +1 -1
- package/dist/src/platforms/teams/commands/auth.d.ts.map +1 -1
- package/dist/src/platforms/teams/commands/auth.js +9 -8
- package/dist/src/platforms/teams/commands/auth.js.map +1 -1
- package/dist/src/platforms/teams/ensure-auth.d.ts.map +1 -1
- package/dist/src/platforms/teams/ensure-auth.js +2 -1
- package/dist/src/platforms/teams/ensure-auth.js.map +1 -1
- package/dist/src/platforms/teams/token-extractor.d.ts +5 -0
- package/dist/src/platforms/teams/token-extractor.d.ts.map +1 -1
- package/dist/src/platforms/teams/token-extractor.js +161 -29
- package/dist/src/platforms/teams/token-extractor.js.map +1 -1
- package/dist/src/platforms/telegram/client.d.ts.map +1 -1
- package/dist/src/platforms/telegram/client.js +25 -7
- package/dist/src/platforms/telegram/client.js.map +1 -1
- package/dist/src/platforms/telegram/commands/auth.d.ts.map +1 -1
- package/dist/src/platforms/telegram/commands/auth.js +6 -5
- package/dist/src/platforms/telegram/commands/auth.js.map +1 -1
- package/dist/src/platforms/webex/client.d.ts +10 -0
- package/dist/src/platforms/webex/client.d.ts.map +1 -1
- package/dist/src/platforms/webex/client.js +124 -0
- package/dist/src/platforms/webex/client.js.map +1 -1
- package/dist/src/platforms/webex/commands/auth.d.ts +4 -0
- package/dist/src/platforms/webex/commands/auth.d.ts.map +1 -1
- package/dist/src/platforms/webex/commands/auth.js +46 -4
- package/dist/src/platforms/webex/commands/auth.js.map +1 -1
- package/dist/src/platforms/webex/credential-manager.js +1 -1
- package/dist/src/platforms/webex/credential-manager.js.map +1 -1
- package/dist/src/platforms/webex/ensure-auth.d.ts.map +1 -1
- package/dist/src/platforms/webex/ensure-auth.js +21 -5
- package/dist/src/platforms/webex/ensure-auth.js.map +1 -1
- package/dist/src/platforms/webex/index.d.ts +2 -0
- package/dist/src/platforms/webex/index.d.ts.map +1 -1
- package/dist/src/platforms/webex/index.js +1 -0
- package/dist/src/platforms/webex/index.js.map +1 -1
- package/dist/src/platforms/webex/token-extractor.d.ts +28 -0
- package/dist/src/platforms/webex/token-extractor.d.ts.map +1 -0
- package/dist/src/platforms/webex/token-extractor.js +344 -0
- package/dist/src/platforms/webex/token-extractor.js.map +1 -0
- package/dist/src/platforms/webex/types.d.ts +4 -1
- package/dist/src/platforms/webex/types.d.ts.map +1 -1
- package/dist/src/platforms/webex/types.js +2 -1
- package/dist/src/platforms/webex/types.js.map +1 -1
- package/dist/src/platforms/whatsapp/client.d.ts.map +1 -1
- package/dist/src/platforms/whatsapp/client.js +6 -2
- package/dist/src/platforms/whatsapp/client.js.map +1 -1
- package/dist/src/shared/utils/derived-key-cache.d.ts +1 -1
- package/dist/src/shared/utils/derived-key-cache.d.ts.map +1 -1
- package/dist/src/shared/utils/error-handler.d.ts +1 -1
- package/dist/src/shared/utils/error-handler.d.ts.map +1 -1
- package/dist/src/shared/utils/error-handler.js +3 -2
- package/dist/src/shared/utils/error-handler.js.map +1 -1
- package/dist/src/shared/utils/stderr.d.ts +5 -0
- package/dist/src/shared/utils/stderr.d.ts.map +1 -0
- package/dist/src/shared/utils/stderr.js +18 -0
- package/dist/src/shared/utils/stderr.js.map +1 -0
- package/docs/content/docs/cli/channeltalk.mdx +7 -7
- package/docs/content/docs/cli/discord.mdx +3 -3
- package/docs/content/docs/cli/instagram.mdx +28 -6
- package/docs/content/docs/cli/slack.mdx +2 -2
- package/docs/content/docs/cli/teams.mdx +6 -4
- package/docs/content/docs/cli/webex.mdx +30 -11
- package/e2e/README.md +132 -8
- package/e2e/channeltalk.e2e.test.ts +2 -7
- package/e2e/channeltalkbot.e2e.test.ts +2 -6
- package/e2e/config.ts +172 -10
- package/e2e/helpers.ts +7 -0
- package/e2e/instagram.e2e.test.ts +97 -0
- package/e2e/kakaotalk.e2e.test.ts +74 -0
- package/e2e/line.e2e.test.ts +92 -0
- package/e2e/teams.e2e.test.ts +46 -1
- package/e2e/telegram.e2e.test.ts +84 -0
- package/e2e/webex.e2e.test.ts +190 -0
- package/e2e/whatsapp.e2e.test.ts +90 -0
- package/e2e/whatsappbot.e2e.test.ts +78 -0
- package/package.json +2 -2
- package/skills/agent-channeltalk/SKILL.md +9 -9
- package/skills/agent-channeltalk/references/authentication.md +21 -18
- package/skills/agent-channeltalkbot/SKILL.md +1 -1
- package/skills/agent-discord/SKILL.md +5 -5
- package/skills/agent-discord/references/authentication.md +8 -8
- package/skills/agent-discordbot/SKILL.md +1 -1
- package/skills/agent-instagram/SKILL.md +51 -9
- package/skills/agent-instagram/references/authentication.md +35 -3
- package/skills/agent-kakaotalk/SKILL.md +1 -1
- package/skills/agent-line/SKILL.md +1 -1
- package/skills/agent-slack/SKILL.md +5 -5
- package/skills/agent-slack/references/authentication.md +8 -8
- package/skills/agent-slackbot/SKILL.md +1 -1
- package/skills/agent-teams/SKILL.md +6 -6
- package/skills/agent-teams/references/authentication.md +8 -8
- package/skills/agent-telegram/SKILL.md +1 -1
- package/skills/agent-webex/SKILL.md +35 -15
- package/skills/agent-webex/references/authentication.md +62 -9
- package/skills/agent-webex/references/common-patterns.md +6 -3
- package/skills/agent-whatsapp/SKILL.md +1 -1
- package/skills/agent-whatsappbot/SKILL.md +1 -1
- package/src/platforms/channeltalk/commands/auth.test.ts +5 -5
- package/src/platforms/channeltalk/commands/auth.ts +38 -32
- package/src/platforms/channeltalk/ensure-auth.test.ts +6 -6
- package/src/platforms/channeltalk/ensure-auth.ts +6 -6
- package/src/platforms/channeltalk/token-extractor.test.ts +182 -15
- package/src/platforms/channeltalk/token-extractor.ts +344 -30
- package/src/platforms/discord/commands/auth.test.ts +3 -3
- package/src/platforms/discord/commands/auth.ts +58 -54
- package/src/platforms/discord/ensure-auth.test.ts +3 -3
- package/src/platforms/discord/ensure-auth.ts +3 -3
- package/src/platforms/discord/token-extractor.test.ts +199 -27
- package/src/platforms/discord/token-extractor.ts +190 -17
- package/src/platforms/instagram/client.ts +2 -2
- package/src/platforms/instagram/commands/auth.ts +133 -14
- package/src/platforms/instagram/ensure-auth.ts +63 -12
- package/src/platforms/instagram/index.ts +1 -0
- package/src/platforms/instagram/token-extractor.test.ts +424 -0
- package/src/platforms/instagram/token-extractor.ts +478 -0
- package/src/platforms/kakaotalk/client.ts +3 -1
- package/src/platforms/kakaotalk/commands/auth.ts +14 -13
- package/src/platforms/kakaotalk/protocol/connection.ts +3 -1
- package/src/platforms/line/commands/auth.ts +7 -6
- package/src/platforms/slack/cli.test.ts +6 -5
- package/src/platforms/slack/commands/auth.test.ts +11 -7
- package/src/platforms/slack/commands/auth.ts +11 -10
- package/src/platforms/slack/token-extractor.test.ts +98 -1
- package/src/platforms/slack/token-extractor.ts +338 -26
- package/src/platforms/teams/commands/auth.ts +9 -8
- package/src/platforms/teams/ensure-auth.ts +3 -1
- package/src/platforms/teams/token-extractor.test.ts +136 -17
- package/src/platforms/teams/token-extractor.ts +182 -31
- package/src/platforms/telegram/client.test.ts +134 -0
- package/src/platforms/telegram/client.ts +27 -6
- package/src/platforms/telegram/commands/auth.ts +6 -5
- package/src/platforms/webex/client.test.ts +314 -0
- package/src/platforms/webex/client.ts +158 -0
- package/src/platforms/webex/commands/auth.ts +67 -4
- package/src/platforms/webex/commands/member.test.ts +10 -1
- package/src/platforms/webex/commands/message.test.ts +9 -5
- package/src/platforms/webex/commands/snapshot.test.ts +13 -4
- package/src/platforms/webex/commands/space.test.ts +12 -2
- package/src/platforms/webex/credential-manager.ts +1 -1
- package/src/platforms/webex/ensure-auth.test.ts +4 -0
- package/src/platforms/webex/ensure-auth.ts +23 -4
- package/src/platforms/webex/index.ts +2 -0
- package/src/platforms/webex/token-extractor.test.ts +327 -0
- package/src/platforms/webex/token-extractor.ts +393 -0
- package/src/platforms/webex/types.ts +4 -2
- package/src/platforms/whatsapp/client.ts +11 -7
- package/src/shared/utils/derived-key-cache.ts +1 -1
- package/src/shared/utils/error-handler.ts +4 -2
- package/src/shared/utils/stderr.ts +22 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: agent-channeltalk
|
|
3
|
-
description: Interact with Channel Talk using extracted desktop app credentials - read chats, send messages, search messages, manage groups
|
|
4
|
-
version: 2.
|
|
3
|
+
description: Interact with Channel Talk using extracted desktop app or browser credentials - read chats, send messages, search messages, manage groups
|
|
4
|
+
version: 2.2.0
|
|
5
5
|
allowed-tools: Bash(agent-channeltalk:*)
|
|
6
6
|
metadata:
|
|
7
7
|
openclaw:
|
|
@@ -16,7 +16,7 @@ metadata:
|
|
|
16
16
|
|
|
17
17
|
# Agent Channel
|
|
18
18
|
|
|
19
|
-
A TypeScript CLI tool that enables AI agents and humans to interact with Channel Talk workspaces through a simple command interface. Features zero-config credential extraction from the Channel Talk desktop app and multi-workspace support.
|
|
19
|
+
A TypeScript CLI tool that enables AI agents and humans to interact with Channel Talk workspaces through a simple command interface. Features zero-config credential extraction from the Channel Talk desktop app (with browser fallback) and multi-workspace support.
|
|
20
20
|
|
|
21
21
|
## Key Concepts
|
|
22
22
|
|
|
@@ -48,16 +48,16 @@ agent-channeltalk chat list
|
|
|
48
48
|
|
|
49
49
|
## Authentication
|
|
50
50
|
|
|
51
|
-
Credentials are extracted automatically from the Channel Talk desktop app on first use. No manual setup required, no API keys needed. Just run any command and authentication happens silently in the background.
|
|
51
|
+
Credentials are extracted automatically from the Channel Talk desktop app (or Chromium browser as fallback) on first use. No manual setup required, no API keys needed. Just run any command and authentication happens silently in the background.
|
|
52
52
|
|
|
53
|
-
The Channel Talk desktop app stores auth cookies in a SQLite database. On macOS, cookies are plaintext and no Keychain prompt is needed. On Windows, cookies are DPAPI-encrypted and decrypted automatically. The CLI reads two cookies:
|
|
53
|
+
The Channel Talk desktop app stores auth cookies in a SQLite database. On macOS, cookies are plaintext and no Keychain prompt is needed. On Windows, cookies are DPAPI-encrypted and decrypted automatically. When falling back to a Chromium browser on macOS, cookies require Keychain decryption. The CLI reads two cookies:
|
|
54
54
|
|
|
55
55
|
- `x-account` (JWT) - your account identity
|
|
56
56
|
- `ch-session-1` (JWT) - your session token
|
|
57
57
|
|
|
58
|
-
These cookies expire after roughly 30 days. When they expire, the CLI automatically re-extracts fresh cookies from the desktop app on the next command.
|
|
58
|
+
These cookies expire after roughly 30 days. When they expire, the CLI automatically re-extracts fresh cookies from the desktop app or browser on the next command.
|
|
59
59
|
|
|
60
|
-
**IMPORTANT**:
|
|
60
|
+
**IMPORTANT**: Always use `agent-channeltalk auth extract` to obtain credentials. The CLI extracts from the desktop app first, falling back to Chromium browsers if the app isn't installed.
|
|
61
61
|
|
|
62
62
|
### Multi-Workspace Support
|
|
63
63
|
|
|
@@ -166,7 +166,7 @@ If a memorized ID returns an error (chat not found, group not found), remove it
|
|
|
166
166
|
### Auth Commands
|
|
167
167
|
|
|
168
168
|
```bash
|
|
169
|
-
# Extract cookies from Channel Talk desktop app (usually automatic)
|
|
169
|
+
# Extract cookies from Channel Talk desktop app or browser (usually automatic)
|
|
170
170
|
agent-channeltalk auth extract
|
|
171
171
|
|
|
172
172
|
# Check auth status
|
|
@@ -379,7 +379,7 @@ Use **agent-channeltalk** when you want zero-config access acting as yourself. U
|
|
|
379
379
|
|
|
380
380
|
## Limitations
|
|
381
381
|
|
|
382
|
-
- macOS and Windows
|
|
382
|
+
- Desktop app extraction: macOS and Windows. Browser fallback: macOS, Linux, and Windows.
|
|
383
383
|
- No real-time events / WebSocket connection
|
|
384
384
|
- No file upload support
|
|
385
385
|
- No message editing or deletion
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
## Overview
|
|
4
4
|
|
|
5
|
-
agent-channeltalk uses cookies extracted
|
|
5
|
+
agent-channeltalk uses cookies extracted from the Channel Talk desktop application, with automatic fallback to Chromium browser profiles (Chrome, Chrome Canary, Edge, Arc, Brave, Vivaldi, Chromium) when the desktop app isn't installed.
|
|
6
6
|
|
|
7
7
|
## Cookie Extraction
|
|
8
8
|
|
|
@@ -22,17 +22,19 @@ agent-channeltalk auth extract
|
|
|
22
22
|
|
|
23
23
|
### How It Works
|
|
24
24
|
|
|
25
|
-
1. Locates the Channel Talk desktop app's SQLite cookie database
|
|
26
|
-
2.
|
|
27
|
-
3.
|
|
28
|
-
4.
|
|
29
|
-
5.
|
|
30
|
-
6.
|
|
31
|
-
7.
|
|
25
|
+
1. Locates the Channel Talk desktop app's SQLite cookie database
|
|
26
|
+
2. If the desktop app isn't found, scans Chromium browser profiles for Channel Talk cookies
|
|
27
|
+
3. Copies the database to a temp file (avoids locking the original)
|
|
28
|
+
4. Reads `x-account` and `ch-session-1` cookies for `*.channel.io`
|
|
29
|
+
5. Decrypts encrypted cookies if needed (macOS Keychain, Linux peanuts, Windows DPAPI)
|
|
30
|
+
6. Validates cookies against the Channel Talk API
|
|
31
|
+
7. Discovers ALL workspaces you belong to
|
|
32
|
+
8. Stores credentials in `~/.config/agent-messenger/channel-credentials.json`
|
|
33
|
+
9. Sets the first workspace as the current active workspace
|
|
32
34
|
|
|
33
|
-
###
|
|
35
|
+
### Keychain Prompt (Browser Extraction on macOS)
|
|
34
36
|
|
|
35
|
-
|
|
37
|
+
When extracting from the desktop app, no Keychain prompt is needed (cookies are plaintext). When extracting from a Chromium browser, your Mac may prompt for Keychain access to decrypt the browser's cookies.
|
|
36
38
|
|
|
37
39
|
### What Gets Extracted
|
|
38
40
|
|
|
@@ -56,7 +58,7 @@ Unlike Slack and Discord, Channel Talk stores cookies in a plaintext SQLite data
|
|
|
56
58
|
|
|
57
59
|
The tool checks the sandboxed path first, then falls back to the direct path.
|
|
58
60
|
|
|
59
|
-
> **Note**:
|
|
61
|
+
> **Note**: Desktop app extraction supports macOS and Windows. Browser fallback extraction supports macOS, Linux, and Windows.
|
|
60
62
|
|
|
61
63
|
## Multi-Workspace Management
|
|
62
64
|
|
|
@@ -245,16 +247,17 @@ No credentials are configured and auto-extraction failed:
|
|
|
245
247
|
|
|
246
248
|
### Channel Talk desktop app not found
|
|
247
249
|
|
|
248
|
-
The CLI
|
|
250
|
+
The CLI first checks for the desktop app, then falls back to Chromium browsers.
|
|
249
251
|
|
|
250
|
-
|
|
251
|
-
|
|
252
|
+
Desktop app paths:
|
|
253
|
+
1. **macOS (Mac App Store)**: `~/Library/Containers/com.zoyi.channel.desk.osx/Data/Library/Application Support/Channel Talk/Cookies`
|
|
254
|
+
2. **macOS (Electron)**: `~/Library/Application Support/Channel Talk/Cookies`
|
|
255
|
+
3. **Windows**: `%APPDATA%/Channel Talk/Network/Cookies`
|
|
252
256
|
|
|
253
|
-
If neither
|
|
257
|
+
If neither the desktop app nor browser cookies are found:
|
|
254
258
|
|
|
255
|
-
1.
|
|
256
|
-
2.
|
|
257
|
-
3. Run `agent-channeltalk auth extract`
|
|
259
|
+
1. Log in to desk.channel.io in a Chromium browser (Chrome, Edge, Arc, Brave) — the CLI will extract from browser automatically
|
|
260
|
+
2. Or install the Channel Talk desktop app, log in, and run `agent-channeltalk auth extract`
|
|
258
261
|
|
|
259
262
|
### Cookies expired or invalid
|
|
260
263
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: agent-discord
|
|
3
3
|
description: Interact with Discord servers - send messages, read channels, manage reactions
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.2.0
|
|
5
5
|
allowed-tools: Bash(agent-discord:*)
|
|
6
6
|
metadata:
|
|
7
7
|
openclaw:
|
|
@@ -16,7 +16,7 @@ metadata:
|
|
|
16
16
|
|
|
17
17
|
# Agent Discord
|
|
18
18
|
|
|
19
|
-
A TypeScript CLI tool that enables AI agents and humans to interact with Discord servers through a simple command interface. Features seamless token extraction from the Discord desktop app and multi-server support.
|
|
19
|
+
A TypeScript CLI tool that enables AI agents and humans to interact with Discord servers through a simple command interface. Features seamless token extraction from the Discord desktop app (with browser fallback) and multi-server support.
|
|
20
20
|
|
|
21
21
|
## Quick Start
|
|
22
22
|
|
|
@@ -33,11 +33,11 @@ agent-discord channel list
|
|
|
33
33
|
|
|
34
34
|
## Authentication
|
|
35
35
|
|
|
36
|
-
Credentials are extracted automatically from the Discord desktop app on first use. No manual setup required — just run any command and authentication happens silently in the background.
|
|
36
|
+
Credentials are extracted automatically from the Discord desktop app (or Chromium browser as fallback) on first use. No manual setup required — just run any command and authentication happens silently in the background.
|
|
37
37
|
|
|
38
38
|
On macOS, the system may prompt for your Keychain password the first time (required to decrypt Discord's stored token). This is a one-time prompt.
|
|
39
39
|
|
|
40
|
-
**IMPORTANT**:
|
|
40
|
+
**IMPORTANT**: Always use `agent-discord auth extract` to obtain tokens. The CLI extracts from the desktop app first, falling back to Chromium browsers if the app isn't installed.
|
|
41
41
|
|
|
42
42
|
### Multi-Server Support
|
|
43
43
|
|
|
@@ -134,7 +134,7 @@ If a memorized ID returns an error (channel not found, server not found), remove
|
|
|
134
134
|
### Auth Commands
|
|
135
135
|
|
|
136
136
|
```bash
|
|
137
|
-
# Extract token from Discord desktop app (usually automatic)
|
|
137
|
+
# Extract token from Discord desktop app or browser (usually automatic)
|
|
138
138
|
agent-discord auth extract
|
|
139
139
|
agent-discord auth extract --debug
|
|
140
140
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
## Overview
|
|
4
4
|
|
|
5
|
-
agent-discord uses Discord's user token extracted
|
|
5
|
+
agent-discord uses Discord's user token extracted from the Discord desktop application, with automatic fallback to Chromium browser profiles (Chrome, Chrome Canary, Edge, Arc, Brave, Vivaldi, Chromium) when the desktop app isn't installed.
|
|
6
6
|
|
|
7
7
|
## Token Extraction
|
|
8
8
|
|
|
@@ -22,10 +22,11 @@ This command:
|
|
|
22
22
|
1. Detects your operating system (macOS, Linux, Windows)
|
|
23
23
|
2. Locates the Discord desktop app data directory
|
|
24
24
|
3. Reads the LevelDB storage containing session data
|
|
25
|
-
4.
|
|
26
|
-
5.
|
|
27
|
-
6.
|
|
28
|
-
7.
|
|
25
|
+
4. If the desktop app isn't found, scans Chromium browser profiles for Discord tokens
|
|
26
|
+
5. Extracts user token (handles encrypted tokens on all platforms)
|
|
27
|
+
6. Validates token against Discord API before saving
|
|
28
|
+
7. Discovers ALL joined servers
|
|
29
|
+
8. Stores credentials securely in `~/.config/agent-messenger/discord-credentials.json`
|
|
29
30
|
|
|
30
31
|
### Platform-Specific Paths
|
|
31
32
|
|
|
@@ -209,9 +210,8 @@ This shows:
|
|
|
209
210
|
|
|
210
211
|
**Solution**:
|
|
211
212
|
|
|
212
|
-
1.
|
|
213
|
-
2.
|
|
214
|
-
3. Run `agent-discord auth extract` again
|
|
213
|
+
1. Log in to discord.com in a Chromium browser (Chrome, Edge, Arc, Brave) — the CLI will extract from browser automatically
|
|
214
|
+
2. Or install the Discord desktop app, log in, and run `agent-discord auth extract` again
|
|
215
215
|
|
|
216
216
|
### "No Discord token found"
|
|
217
217
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: agent-instagram
|
|
3
3
|
description: Interact with Instagram DMs - send messages, read conversations, manage accounts
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.2.0
|
|
5
5
|
allowed-tools: Bash(agent-instagram:*)
|
|
6
6
|
metadata:
|
|
7
7
|
openclaw:
|
|
@@ -16,7 +16,7 @@ metadata:
|
|
|
16
16
|
|
|
17
17
|
# Agent Instagram
|
|
18
18
|
|
|
19
|
-
An Instagram DM CLI for AI agents.
|
|
19
|
+
An Instagram DM CLI for AI agents. Supports browser cookie extraction (zero-config, extracts from Chromium browsers) and username/password authentication (with 2FA). Uses Instagram's private mobile API to read and send direct messages.
|
|
20
20
|
|
|
21
21
|
Use one of these entrypoints:
|
|
22
22
|
- Global install: `agent-instagram ...`
|
|
@@ -25,7 +25,8 @@ Use one of these entrypoints:
|
|
|
25
25
|
## Key Concepts
|
|
26
26
|
|
|
27
27
|
- **Thread ID** = Instagram's identifier for a DM conversation. Numeric string returned by `chat list`.
|
|
28
|
-
- **
|
|
28
|
+
- **Browser cookie extraction** = recommended auth method. Extracts cookies from Chromium browsers (Chrome, Chrome Canary, Edge, Arc, Brave, Vivaldi, Chromium) where you're logged into instagram.com. Zero-config.
|
|
29
|
+
- **Username/password auth** = fallback method. Authenticates using Instagram credentials. Supports two-factor authentication via SMS or authenticator app.
|
|
29
30
|
- **HTTP-based** = each command makes HTTP requests and returns. No persistent connection or background process.
|
|
30
31
|
- **Multi-account** = multiple Instagram accounts can be stored. Use `auth list` and `auth use` to switch between them.
|
|
31
32
|
- **DM-only** = this CLI focuses on Instagram Direct Messages. It does not manage posts, stories, or followers.
|
|
@@ -33,7 +34,10 @@ Use one of these entrypoints:
|
|
|
33
34
|
## Quick Start
|
|
34
35
|
|
|
35
36
|
```bash
|
|
36
|
-
#
|
|
37
|
+
# Extract cookies from browser (recommended — zero-config)
|
|
38
|
+
agent-instagram auth extract
|
|
39
|
+
|
|
40
|
+
# Or: Log in with Instagram credentials (fallback)
|
|
37
41
|
agent-instagram auth login --username myaccount --password "mypassword"
|
|
38
42
|
|
|
39
43
|
# List DM conversations
|
|
@@ -45,7 +49,30 @@ agent-instagram message send <thread-id> "Hello from agent-instagram"
|
|
|
45
49
|
|
|
46
50
|
## Authentication Flow
|
|
47
51
|
|
|
48
|
-
Instagram
|
|
52
|
+
Instagram supports two authentication methods:
|
|
53
|
+
|
|
54
|
+
1. **Browser cookie extraction** (recommended): Extracts your session cookies from a Chromium browser where you're logged into instagram.com. Zero-config, no password needed.
|
|
55
|
+
2. **Username/password login**: Authenticates using Instagram credentials with optional two-factor verification.
|
|
56
|
+
|
|
57
|
+
Sessions are persisted locally so you don't need to re-authenticate for every command. Browser extraction auto-runs when no session exists.
|
|
58
|
+
|
|
59
|
+
### Browser Cookie Extraction (Recommended)
|
|
60
|
+
|
|
61
|
+
`agent-instagram auth extract` reads your Instagram session cookies from Chrome, Edge, Arc, Brave, Vivaldi, or Chromium. You must be logged into instagram.com in one of these browsers.
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
# Extract cookies from browser — zero-config
|
|
65
|
+
agent-instagram auth extract
|
|
66
|
+
|
|
67
|
+
# With debug output
|
|
68
|
+
agent-instagram auth extract --debug
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
**How it works**: The CLI reads Instagram cookies (`sessionid`, `csrftoken`, `ds_user_id`) directly from the browser's SQLite cookie database. No browser automation, no password prompts. The session is stored locally in `~/.config/agent-messenger/`.
|
|
72
|
+
|
|
73
|
+
**When to re-extract**: Browser cookies expire. When your session expires, re-run `agent-instagram auth extract` or let auto-extraction handle it (the CLI attempts extraction automatically when no valid session exists).
|
|
74
|
+
|
|
75
|
+
**Supported browsers**: Chrome, Chrome Canary, Edge, Arc, Brave, Vivaldi, Chromium
|
|
49
76
|
|
|
50
77
|
### Agent Behavior (MANDATORY)
|
|
51
78
|
|
|
@@ -59,11 +86,20 @@ agent-instagram auth list
|
|
|
59
86
|
|
|
60
87
|
If accounts exist, use `agent-instagram auth use <account-id>` and retry the original command.
|
|
61
88
|
|
|
62
|
-
**Step 2:
|
|
89
|
+
**Step 2: Try browser extraction first**
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
agent-instagram auth extract
|
|
93
|
+
# -> {"authenticated":true,"account_id":"12345678","username":"myaccount"}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
If extraction succeeds, proceed with the original command.
|
|
97
|
+
|
|
98
|
+
**Step 3: If extraction fails, ask for credentials**
|
|
63
99
|
|
|
64
100
|
Ask the user for their Instagram username and password. These are the ONLY things the user needs to provide.
|
|
65
101
|
|
|
66
|
-
**Step
|
|
102
|
+
**Step 4: Start login**
|
|
67
103
|
|
|
68
104
|
```bash
|
|
69
105
|
agent-instagram auth login --username myaccount --password "mypassword"
|
|
@@ -92,6 +128,8 @@ After successful auth, immediately execute whatever the user originally asked fo
|
|
|
92
128
|
### Common Auth Commands
|
|
93
129
|
|
|
94
130
|
```bash
|
|
131
|
+
agent-instagram auth extract # Extract cookies from browser (recommended)
|
|
132
|
+
agent-instagram auth extract --debug # Extract with debug output
|
|
95
133
|
agent-instagram auth status # Check current auth state
|
|
96
134
|
agent-instagram auth status --account <id> # Check specific account
|
|
97
135
|
agent-instagram auth list # List all stored accounts
|
|
@@ -166,6 +204,10 @@ Never store auth credentials, passwords, session tokens, or any sensitive data.
|
|
|
166
204
|
### Auth Commands
|
|
167
205
|
|
|
168
206
|
```bash
|
|
207
|
+
# Extract cookies from browser (recommended — zero-config)
|
|
208
|
+
agent-instagram auth extract
|
|
209
|
+
agent-instagram auth extract --debug
|
|
210
|
+
|
|
169
211
|
# Log in (interactive: prompts for username/password)
|
|
170
212
|
agent-instagram auth login
|
|
171
213
|
|
|
@@ -334,8 +376,8 @@ All commands return consistent error format:
|
|
|
334
376
|
|
|
335
377
|
Common errors:
|
|
336
378
|
|
|
337
|
-
- `Not authenticated` - no account configured. Run `auth login`.
|
|
338
|
-
- `Session expired or missing` - session is no longer valid. Run `auth login` again.
|
|
379
|
+
- `Not authenticated` - no account configured. Run `auth extract` or `auth login`.
|
|
380
|
+
- `Session expired or missing` - session is no longer valid. Run `auth extract` to re-extract from browser, or `auth login` to log in again.
|
|
339
381
|
- `Login failed` - wrong username/password. Double-check credentials.
|
|
340
382
|
- `Two-factor authentication failed` - wrong 2FA code. Get a new code and try `auth verify` again.
|
|
341
383
|
- `Rate limited` - too many requests. Wait and retry.
|
|
@@ -2,9 +2,38 @@
|
|
|
2
2
|
|
|
3
3
|
## Overview
|
|
4
4
|
|
|
5
|
-
agent-instagram
|
|
5
|
+
agent-instagram supports two authentication methods: browser cookie extraction (recommended, zero-config) and username/password login (fallback). The CLI uses Instagram's private mobile API. Each command makes HTTP requests on demand. No persistent connection or background process.
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## Browser Cookie Extraction (Recommended)
|
|
8
|
+
|
|
9
|
+
### How It Works
|
|
10
|
+
|
|
11
|
+
1. Scans Chromium browser profiles (Chrome, Chrome Canary, Edge, Arc, Brave, Vivaldi, Chromium)
|
|
12
|
+
2. Reads the SQLite cookie database for `.instagram.com` cookies
|
|
13
|
+
3. Decrypts encrypted cookies using the browser's encryption key (macOS Keychain, Linux peanuts, Windows DPAPI)
|
|
14
|
+
4. Extracts `sessionid`, `ds_user_id`, `csrftoken`, and optional cookies (`mid`, `ig_did`, `rur`)
|
|
15
|
+
5. Validates the session against the Instagram API to resolve your username
|
|
16
|
+
6. Stores credentials in `~/.config/agent-messenger/`
|
|
17
|
+
|
|
18
|
+
### Usage
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
# Extract cookies from browser (recommended)
|
|
22
|
+
agent-instagram auth extract
|
|
23
|
+
|
|
24
|
+
# With debug output
|
|
25
|
+
agent-instagram auth extract --debug
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### Auto-Extraction
|
|
29
|
+
|
|
30
|
+
When no valid session exists, the CLI automatically attempts browser extraction before prompting for credentials. This means most users never need to run `auth extract` manually.
|
|
31
|
+
|
|
32
|
+
### Keychain Prompt (macOS)
|
|
33
|
+
|
|
34
|
+
On macOS, your Mac may prompt for your password to access Keychain. This is required because Chromium browsers encrypt cookies using macOS Keychain. Your password is never stored or transmitted.
|
|
35
|
+
|
|
36
|
+
## Username/Password Login (Fallback)
|
|
8
37
|
|
|
9
38
|
### How It Works
|
|
10
39
|
|
|
@@ -227,7 +256,10 @@ If commands start failing with auth errors:
|
|
|
227
256
|
# Check if still authenticated
|
|
228
257
|
agent-instagram auth status
|
|
229
258
|
|
|
230
|
-
# Re-
|
|
259
|
+
# Re-extract from browser (if logged in to instagram.com)
|
|
260
|
+
agent-instagram auth extract
|
|
261
|
+
|
|
262
|
+
# Or re-login with credentials
|
|
231
263
|
agent-instagram auth login
|
|
232
264
|
|
|
233
265
|
# Verify it worked
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: agent-slack
|
|
3
3
|
description: Interact with Slack workspaces - send messages, read channels, manage reactions
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.2.0
|
|
5
5
|
allowed-tools: Bash(agent-slack:*)
|
|
6
6
|
metadata:
|
|
7
7
|
openclaw:
|
|
@@ -16,7 +16,7 @@ metadata:
|
|
|
16
16
|
|
|
17
17
|
# Agent Slack
|
|
18
18
|
|
|
19
|
-
A TypeScript CLI tool that enables AI agents and humans to interact with Slack workspaces through a simple command interface. Features seamless token extraction from the Slack desktop app and multi-workspace support.
|
|
19
|
+
A TypeScript CLI tool that enables AI agents and humans to interact with Slack workspaces through a simple command interface. Features seamless token extraction from the Slack desktop app (with browser fallback) and multi-workspace support.
|
|
20
20
|
|
|
21
21
|
## Quick Start
|
|
22
22
|
|
|
@@ -33,11 +33,11 @@ agent-slack channel list
|
|
|
33
33
|
|
|
34
34
|
## Authentication
|
|
35
35
|
|
|
36
|
-
Credentials are extracted automatically from the Slack desktop app on first use. No manual setup required — just run any command and authentication happens silently in the background.
|
|
36
|
+
Credentials are extracted automatically from the Slack desktop app (or Chromium browser as fallback) on first use. No manual setup required — just run any command and authentication happens silently in the background.
|
|
37
37
|
|
|
38
38
|
On macOS, the system may prompt for your Keychain password the first time (required to decrypt Slack's stored token). This is a one-time prompt.
|
|
39
39
|
|
|
40
|
-
**IMPORTANT**:
|
|
40
|
+
**IMPORTANT**: Always use `agent-slack auth extract` to obtain tokens. The CLI extracts from the desktop app first, falling back to Chromium browsers if the app isn't installed.
|
|
41
41
|
|
|
42
42
|
### Multi-Workspace Support
|
|
43
43
|
|
|
@@ -137,7 +137,7 @@ If a memorized ID returns an error (channel not found, user not found), remove i
|
|
|
137
137
|
### Auth Commands
|
|
138
138
|
|
|
139
139
|
```bash
|
|
140
|
-
# Extract tokens from Slack desktop app (usually automatic)
|
|
140
|
+
# Extract tokens from Slack desktop app or browser (usually automatic)
|
|
141
141
|
agent-slack auth extract
|
|
142
142
|
agent-slack auth extract --debug
|
|
143
143
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
## Overview
|
|
4
4
|
|
|
5
|
-
agent-slack uses Slack's web client credentials (xoxc token + xoxd cookie) extracted
|
|
5
|
+
agent-slack uses Slack's web client credentials (xoxc token + xoxd cookie) extracted from the Slack desktop application, with automatic fallback to Chromium browser profiles (Chrome, Chrome Canary, Edge, Arc, Brave, Vivaldi, Chromium) when the desktop app isn't installed.
|
|
6
6
|
|
|
7
7
|
## Token Extraction
|
|
8
8
|
|
|
@@ -22,10 +22,11 @@ This command:
|
|
|
22
22
|
1. Detects your operating system (macOS, Linux, Windows)
|
|
23
23
|
2. Locates the Slack desktop app data directory (supports both direct download and App Store versions on macOS)
|
|
24
24
|
3. Reads the LevelDB storage containing session data
|
|
25
|
-
4.
|
|
26
|
-
5.
|
|
27
|
-
6.
|
|
28
|
-
7.
|
|
25
|
+
4. If the desktop app isn't found, scans Chromium browser profiles for Slack tokens in `localStorage.localConfig_v2` and `d` cookie
|
|
26
|
+
5. Decrypts cookies using macOS Keychain, Linux keyring, or Windows DPAPI
|
|
27
|
+
6. Validates tokens against Slack API before saving
|
|
28
|
+
7. Extracts xoxc token and xoxd cookie for ALL logged-in workspaces
|
|
29
|
+
8. Stores credentials securely in `~/.config/agent-messenger/slack-credentials.json`
|
|
29
30
|
|
|
30
31
|
### Platform-Specific Paths
|
|
31
32
|
|
|
@@ -237,9 +238,8 @@ This shows:
|
|
|
237
238
|
|
|
238
239
|
**Solution**:
|
|
239
240
|
|
|
240
|
-
1.
|
|
241
|
-
2.
|
|
242
|
-
3. Run `agent-slack auth extract` again
|
|
241
|
+
1. Log in to your workspace at app.slack.com in a Chromium browser (Chrome, Edge, Arc, Brave) — the CLI will extract from browser automatically
|
|
242
|
+
2. Or install the Slack desktop app, log in to your workspace(s), and run `agent-slack auth extract` again
|
|
243
243
|
|
|
244
244
|
### "No workspaces found"
|
|
245
245
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: agent-teams
|
|
3
3
|
description: Interact with Microsoft Teams - send messages, read channels, manage reactions
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.2.0
|
|
5
5
|
allowed-tools: Bash(agent-teams:*)
|
|
6
6
|
metadata:
|
|
7
7
|
openclaw:
|
|
@@ -16,7 +16,7 @@ metadata:
|
|
|
16
16
|
|
|
17
17
|
# Agent Teams
|
|
18
18
|
|
|
19
|
-
A TypeScript CLI tool that enables AI agents and humans to interact with Microsoft Teams through a simple command interface. Features seamless token extraction from the Teams desktop app and multi-team support.
|
|
19
|
+
A TypeScript CLI tool that enables AI agents and humans to interact with Microsoft Teams through a simple command interface. Features seamless token extraction from the Teams desktop app (with browser fallback) and multi-team support.
|
|
20
20
|
|
|
21
21
|
## Quick Start
|
|
22
22
|
|
|
@@ -33,11 +33,11 @@ agent-teams channel list <team-id>
|
|
|
33
33
|
|
|
34
34
|
## Authentication
|
|
35
35
|
|
|
36
|
-
Credentials are extracted automatically from the Teams desktop app on first use. No manual setup required — just run any command and authentication happens silently in the background.
|
|
36
|
+
Credentials are extracted automatically from the Teams desktop app (or Chromium browser as fallback) on first use. No manual setup required — just run any command and authentication happens silently in the background.
|
|
37
37
|
|
|
38
38
|
Teams tokens expire in 60-90 minutes. The CLI automatically re-extracts a fresh token when the current one expires, so you don't need to manage token lifecycle manually.
|
|
39
39
|
|
|
40
|
-
**IMPORTANT**:
|
|
40
|
+
**IMPORTANT**: Always use `agent-teams auth extract` to obtain tokens. The CLI extracts from the desktop app first, falling back to Chromium browsers if the app isn't installed.
|
|
41
41
|
|
|
42
42
|
### Multi-Team Support
|
|
43
43
|
|
|
@@ -145,7 +145,7 @@ If a memorized ID returns an error (channel not found, team not found), remove i
|
|
|
145
145
|
### Auth Commands
|
|
146
146
|
|
|
147
147
|
```bash
|
|
148
|
-
# Extract token from Teams desktop app (usually automatic)
|
|
148
|
+
# Extract token from Teams desktop app or browser (usually automatic)
|
|
149
149
|
agent-teams auth extract
|
|
150
150
|
agent-teams auth extract --debug
|
|
151
151
|
|
|
@@ -400,7 +400,7 @@ See the [Teams SDK documentation](https://agent-messenger.dev/docs/sdk/teams) fo
|
|
|
400
400
|
- No webhook support
|
|
401
401
|
- Plain text messages only (no adaptive cards in v1)
|
|
402
402
|
- User tokens only (no app tokens)
|
|
403
|
-
- **Token expires in 60-90 minutes** - auto-refreshed, but requires Teams desktop app to be logged in
|
|
403
|
+
- **Token expires in 60-90 minutes** - auto-refreshed, but requires Teams desktop app or browser to be logged in
|
|
404
404
|
|
|
405
405
|
## Troubleshooting
|
|
406
406
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
## Overview
|
|
4
4
|
|
|
5
|
-
agent-teams uses Microsoft Teams' user token extracted
|
|
5
|
+
agent-teams uses Microsoft Teams' user token extracted from the Teams desktop application, with automatic fallback to Chromium browser profiles (Chrome, Chrome Canary, Edge, Arc, Brave, Vivaldi, Chromium) when the desktop app isn't installed.
|
|
6
6
|
|
|
7
7
|
## TOKEN EXPIRY WARNING
|
|
8
8
|
|
|
@@ -56,10 +56,11 @@ This command:
|
|
|
56
56
|
1. Detects your operating system (macOS, Linux, Windows)
|
|
57
57
|
2. Locates the Teams desktop app data directory
|
|
58
58
|
3. Reads the **Cookies SQLite database** containing session data
|
|
59
|
-
4.
|
|
60
|
-
5.
|
|
61
|
-
6.
|
|
62
|
-
7.
|
|
59
|
+
4. If the desktop app isn't found, scans Chromium browser profiles for Teams cookies
|
|
60
|
+
5. Extracts `skypetoken_asm` cookie value
|
|
61
|
+
6. Validates token against Teams API before saving
|
|
62
|
+
7. Discovers ALL joined teams
|
|
63
|
+
8. Stores credentials securely in `~/.config/agent-messenger/teams-credentials.json`
|
|
63
64
|
|
|
64
65
|
### Platform-Specific Paths
|
|
65
66
|
|
|
@@ -280,9 +281,8 @@ This shows:
|
|
|
280
281
|
|
|
281
282
|
**Solution**:
|
|
282
283
|
|
|
283
|
-
1.
|
|
284
|
-
2.
|
|
285
|
-
3. Run `agent-teams auth extract` again
|
|
284
|
+
1. Log in to teams.microsoft.com in a Chromium browser (Chrome, Edge, Arc, Brave) — the CLI will extract from browser automatically
|
|
285
|
+
2. Or install the Microsoft Teams desktop app, log in, and run `agent-teams auth extract` again
|
|
286
286
|
|
|
287
287
|
### "No Teams token found"
|
|
288
288
|
|