@andreprado/agentkit 0.1.0-alpha.20 → 0.1.0-alpha.22
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/README.md +1 -0
- package/docs/guides/add-channel.md +75 -4
- package/docs/guides/add-managed-composio.md +3 -1
- package/docs/guides/add-tool.md +6 -3
- package/docs/guides/channel-security.md +32 -1
- package/docs/guides/connect-whatsapp-evolution.md +121 -0
- package/docs/guides/connect-whatsapp-uazapi.md +126 -0
- package/docs/guides/create-agent.md +6 -4
- package/docs/guides/debug-channel.md +3 -3
- package/docs/guides/prepare-deploy.md +1 -1
- package/docs/guides/run-evals.md +5 -1
- package/docs/guides/use-provider.md +26 -2
- package/docs/llms-full.txt +82 -9
- package/docs/llms.txt +9 -2
- package/package.json +1 -1
- package/src/cli/commands/channels.ts +285 -14
- package/src/cli/deploy-chat-ui.ts +86 -15
- package/src/cli/help.ts +2 -2
- package/src/cli/index.ts +107 -8
- package/src/index.ts +42 -5
- package/src/providers/pi.ts +12 -2
- package/src/runtime/channel-test-harness.ts +14 -1
- package/src/runtime/channels/generic-webhook.ts +225 -0
- package/src/runtime/channels/whatsapp-evolution.ts +1357 -0
- package/src/runtime/channels/whatsapp-uazapi.ts +1327 -0
- package/src/runtime/channels.ts +1 -1
- package/src/runtime/chat.ts +7 -1
- package/src/runtime/config.ts +40 -5
- package/src/runtime/core/targets.ts +5 -5
- package/src/runtime/dev-server.ts +21 -5
- package/src/runtime/evals.ts +39 -24
- package/src/runtime/targets/cloudflare/build.ts +23 -3
- package/src/templates/blank.ts +29 -6
- package/src/templates/dentista.ts +22 -4
- package/src/templates/skills/agentkit-build-agent/SKILL.md +30 -2
- package/src/templates/skills/agentkit-capsule/SKILL.md +22 -1
- package/src/templates/skills/agentkit-capsule/references/docs-router.md +1 -1
- package/src/templates/skills/agentkit-channels/SKILL.md +25 -2
- package/src/templates/skills/agentkit-channels/references/channel-debugging.md +1 -1
- package/src/templates/skills/agentkit-channels/references/whatsapp-evolution.md +57 -0
- package/src/templates/skills/agentkit-channels/references/whatsapp-uazapi.md +61 -0
- package/src/templates/skills/agentkit-database/SKILL.md +11 -0
- package/src/templates/skills/agentkit-deploy/SKILL.md +2 -0
- package/src/templates/skills/agentkit-evals/SKILL.md +15 -0
- package/src/templates/skills/agentkit-improve/SKILL.md +14 -4
- package/src/templates/skills/agentkit-integrations/SKILL.md +22 -0
- package/src/templates/skills/agentkit-provider/SKILL.md +20 -2
- package/src/templates/skills/agentkit-tools/SKILL.md +2 -0
- package/src/templates/support.ts +30 -7
|
@@ -6,7 +6,7 @@ Switch a capsule from the offline `test/fake` provider to a Pi-backed provider.
|
|
|
6
6
|
|
|
7
7
|
## When To Use This
|
|
8
8
|
|
|
9
|
-
Use this when local fake responses are no longer enough and the agent needs model behavior from OpenRouter, OpenAI, Anthropic, or another supported provider.
|
|
9
|
+
Use this when local fake responses are no longer enough and the agent needs model behavior from OpenRouter, OpenAI, Anthropic, OpenCode Zen, OpenCode Go, or another supported provider.
|
|
10
10
|
|
|
11
11
|
The coding agent should not choose a real provider automatically. Ask the owner which provider to use, then update the capsule.
|
|
12
12
|
|
|
@@ -87,6 +87,30 @@ secrets: ["OPENROUTER_API_KEY"],
|
|
|
87
87
|
|
|
88
88
|
Prefer model ids or aliases listed by the installed Pi SDK when available, such as `~google/gemini-flash-latest`. If an OpenRouter model id is newer than the Pi model registry, AgentKit passes the id through to OpenRouter using Pi's OpenAI-compatible transport with conservative unknown-model metadata. The provider may still reject the request if the id is invalid, inaccessible, or does not support the tools/features the agent uses.
|
|
89
89
|
|
|
90
|
+
OpenCode Zen:
|
|
91
|
+
|
|
92
|
+
```ts
|
|
93
|
+
provider: {
|
|
94
|
+
name: "opencode",
|
|
95
|
+
model: "big-pickle",
|
|
96
|
+
},
|
|
97
|
+
secrets: ["OPENCODE_API_KEY"],
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
Use an OpenCode Zen model id listed by the installed Pi SDK, such as `big-pickle`, `deepseek-v4-flash-free`, `claude-sonnet-4-5`, or `gpt-5.4-mini`. OpenCode Zen uses `OPENCODE_API_KEY`.
|
|
101
|
+
|
|
102
|
+
OpenCode Go:
|
|
103
|
+
|
|
104
|
+
```ts
|
|
105
|
+
provider: {
|
|
106
|
+
name: "opencode-go",
|
|
107
|
+
model: "deepseek-v4-flash",
|
|
108
|
+
},
|
|
109
|
+
secrets: ["OPENCODE_API_KEY"],
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
Use an OpenCode Go model id listed by the installed Pi SDK, such as `deepseek-v4-flash`, `deepseek-v4-pro`, `glm-5.1`, `kimi-k2.6`, `minimax-m2.7`, or `qwen3.6-plus`. OpenCode Go also uses `OPENCODE_API_KEY`.
|
|
113
|
+
|
|
90
114
|
## UI Verification
|
|
91
115
|
|
|
92
116
|
After the provider is configured and the local secret is set, test through chat and UI:
|
|
@@ -135,7 +159,7 @@ npm run agentkit -- inspect
|
|
|
135
159
|
|
|
136
160
|
`provider_model_unsupported`:
|
|
137
161
|
|
|
138
|
-
For OpenAI or
|
|
162
|
+
For OpenAI, Anthropic, OpenCode Zen, or OpenCode Go, use a model id known to the installed Pi SDK for that provider. For OpenRouter, prefer a known Pi alias when possible; otherwise a raw OpenRouter model id is passed through and any remaining model error comes from OpenRouter.
|
|
139
163
|
|
|
140
164
|
Provider returns auth failure:
|
|
141
165
|
|
package/docs/llms-full.txt
CHANGED
|
@@ -60,8 +60,8 @@ agentkit conversations list
|
|
|
60
60
|
agentkit conversations show <conversation-id>
|
|
61
61
|
agentkit conversations trace <conversation-id> [--deploy]
|
|
62
62
|
agentkit channels list
|
|
63
|
-
agentkit channels add <website|telegram|whatsapp|discord|slack> <name> [--provider zapster|meta] [--mode interactions|bot] [--api <url>]
|
|
64
|
-
agentkit channels connect <website|telegram|whatsapp|discord|slack> <name> [--provider zapster|meta] [--mode interactions|bot] [--api <url>]
|
|
63
|
+
agentkit channels add <website|telegram|whatsapp|discord|slack|webhook> <name> [--provider zapster|meta|uazapi|evolution] [--mode interactions|bot] [--api <url>]
|
|
64
|
+
agentkit channels connect <website|telegram|whatsapp|discord|slack|webhook> <name> [--provider zapster|meta|uazapi|evolution] [--mode interactions|bot] [--api <url>]
|
|
65
65
|
agentkit channels setup <name> [--apply] [--api <url>]
|
|
66
66
|
agentkit channels status <name> [--api <url>]
|
|
67
67
|
agentkit channels test <name> [--message <text>] [--fixture <path>] [--api <url>]
|
|
@@ -161,7 +161,7 @@ Then open the folder in Codex, Claude Code, or another coding agent and ask dire
|
|
|
161
161
|
Develop an appointment and intake agent for an ophthalmology office.
|
|
162
162
|
```
|
|
163
163
|
|
|
164
|
-
The coding agent should infer the first useful version, edit `prompts/instructions.md`, `agentkit.config.ts`, `schema.sql`, `tools/`, and `evals/`, then run the verification commands before finishing. Do not
|
|
164
|
+
The coding agent should infer the first useful version, edit `prompts/instructions.md`, `agentkit.config.ts`, `schema.sql`, `tools/`, and `evals/`, then run the verification commands before finishing. Do not send the owner back to a CLI brief wizard. AgentKit provides the scaffold, contract, and skills; the coding agent implements directly in the capsule from the owner's chat message.
|
|
165
165
|
|
|
166
166
|
Optional handoff shortcut:
|
|
167
167
|
|
|
@@ -217,6 +217,8 @@ test
|
|
|
217
217
|
openai
|
|
218
218
|
anthropic
|
|
219
219
|
openrouter
|
|
220
|
+
opencode
|
|
221
|
+
opencode-go
|
|
220
222
|
custom
|
|
221
223
|
```
|
|
222
224
|
|
|
@@ -227,6 +229,8 @@ test/fake
|
|
|
227
229
|
openai via Pi SDK
|
|
228
230
|
anthropic via Pi SDK
|
|
229
231
|
openrouter via Pi SDK
|
|
232
|
+
opencode via Pi SDK
|
|
233
|
+
opencode-go via Pi SDK
|
|
230
234
|
```
|
|
231
235
|
|
|
232
236
|
`custom` is a reserved config value. It is not implemented as a local provider adapter yet.
|
|
@@ -245,7 +249,7 @@ secrets: [],
|
|
|
245
249
|
|
|
246
250
|
`test/fake` is deterministic. It is useful for scaffold checks, direct tool checks, and fake-provider evals, but it does not validate natural conversation quality.
|
|
247
251
|
|
|
248
|
-
Before claiming real conversation behavior has been tested, ask the owner which provider to use: OpenRouter, OpenAI, Anthropic, or another supported provider. Do not choose for them. After the owner chooses, update `agentkit.config.ts`, `.env.schema`, local secrets, hosted secrets if deploying, then rerun chat/UI checks.
|
|
252
|
+
Before claiming real conversation behavior has been tested, ask the owner which provider to use: OpenRouter, OpenAI, Anthropic, OpenCode Zen, OpenCode Go, or another supported provider. Do not choose for them. After the owner chooses, update `agentkit.config.ts`, `.env.schema`, local secrets, hosted secrets if deploying, then rerun chat/UI checks.
|
|
249
253
|
|
|
250
254
|
OpenAI example:
|
|
251
255
|
|
|
@@ -270,6 +274,30 @@ If a provider key is missing, the runtime returns `secret_not_found`.
|
|
|
270
274
|
|
|
271
275
|
For OpenRouter, prefer model ids or aliases known to the installed Pi SDK, such as `~google/gemini-flash-latest`. If an OpenRouter id is newer than Pi's registry, AgentKit passes the raw id through to OpenRouter with conservative unknown-model metadata. OpenRouter can still reject invalid, inaccessible, or unsupported models, and unknown-model cost/capability metadata is not authoritative.
|
|
272
276
|
|
|
277
|
+
OpenCode Zen example:
|
|
278
|
+
|
|
279
|
+
```ts
|
|
280
|
+
provider: {
|
|
281
|
+
name: "opencode",
|
|
282
|
+
model: "big-pickle",
|
|
283
|
+
},
|
|
284
|
+
secrets: ["OPENCODE_API_KEY"],
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
Use an OpenCode Zen model id listed by the installed Pi SDK, such as `big-pickle`, `deepseek-v4-flash-free`, `claude-sonnet-4-5`, or `gpt-5.4-mini`.
|
|
288
|
+
|
|
289
|
+
OpenCode Go example:
|
|
290
|
+
|
|
291
|
+
```ts
|
|
292
|
+
provider: {
|
|
293
|
+
name: "opencode-go",
|
|
294
|
+
model: "deepseek-v4-flash",
|
|
295
|
+
},
|
|
296
|
+
secrets: ["OPENCODE_API_KEY"],
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
Use an OpenCode Go model id listed by the installed Pi SDK, such as `deepseek-v4-flash`, `deepseek-v4-pro`, `glm-5.1`, `kimi-k2.6`, `minimax-m2.7`, or `qwen3.6-plus`.
|
|
300
|
+
|
|
273
301
|
## Knowledge Contract
|
|
274
302
|
|
|
275
303
|
Knowledge is AgentKit's native retrieval layer for facts the agent should ground in source files. Use it for FAQs, prices, policies, service descriptions, procedures, CSV tables, and reference docs. Do not put secrets, credentials, `.env` contents, or live customer/payment records in Knowledge. Use tools for live or authorization-sensitive data.
|
|
@@ -344,7 +372,7 @@ Channels are hosted inbound/outbound conversation transports. They are separate
|
|
|
344
372
|
Use these helpers in `agentkit.config.ts`:
|
|
345
373
|
|
|
346
374
|
```ts
|
|
347
|
-
import { defineAgent, discordChannel, slackChannel, telegramChannel, whatsappChannel, websiteChannel } from "@andreprado/agentkit";
|
|
375
|
+
import { defineAgent, discordChannel, slackChannel, telegramChannel, webhookChannel, whatsappChannel, websiteChannel } from "@andreprado/agentkit";
|
|
348
376
|
|
|
349
377
|
export default defineAgent({
|
|
350
378
|
name: "support-agent",
|
|
@@ -357,9 +385,11 @@ export default defineAgent({
|
|
|
357
385
|
websiteChannel({ name: "website-chat" }),
|
|
358
386
|
telegramChannel({ name: "support-telegram" }),
|
|
359
387
|
whatsappChannel({ name: "support-whatsapp", provider: "zapster" }),
|
|
388
|
+
whatsappChannel({ name: "support-uazapi", provider: "uazapi" }),
|
|
360
389
|
discordChannel({ name: "support-discord" }),
|
|
361
390
|
discordChannel({ name: "server-discord", mode: "bot" }),
|
|
362
391
|
slackChannel({ name: "support-slack" }),
|
|
392
|
+
webhookChannel({ name: "n8n-webhook" }),
|
|
363
393
|
],
|
|
364
394
|
access: { mode: "public" },
|
|
365
395
|
storage: { driver: "agentkit" },
|
|
@@ -398,6 +428,8 @@ Useful guides:
|
|
|
398
428
|
- Connect Discord: `docs/guides/connect-discord.md`
|
|
399
429
|
- Connect Slack: `docs/guides/connect-slack.md`
|
|
400
430
|
- Connect Telegram: `docs/guides/connect-telegram.md`
|
|
431
|
+
- Connect WhatsApp through Evolution API: `docs/guides/connect-whatsapp-evolution.md`
|
|
432
|
+
- Connect WhatsApp through UAZAPI: `docs/guides/connect-whatsapp-uazapi.md`
|
|
401
433
|
- Connect WhatsApp through Zapster: `docs/guides/connect-whatsapp-zapster.md`
|
|
402
434
|
- Debug a channel: `docs/guides/debug-channel.md`
|
|
403
435
|
- Channel security: `docs/guides/channel-security.md`
|
|
@@ -417,6 +449,22 @@ ZAPSTER_INSTANCE_ID
|
|
|
417
449
|
ZAPSTER_WEBHOOK_ID
|
|
418
450
|
```
|
|
419
451
|
|
|
452
|
+
UAZAPI WhatsApp required secrets:
|
|
453
|
+
|
|
454
|
+
```txt
|
|
455
|
+
UAZAPI_BASE_URL
|
|
456
|
+
UAZAPI_TOKEN
|
|
457
|
+
```
|
|
458
|
+
|
|
459
|
+
Evolution API WhatsApp required secrets:
|
|
460
|
+
|
|
461
|
+
```txt
|
|
462
|
+
EVOLUTION_API_BASE_URL
|
|
463
|
+
EVOLUTION_API_KEY
|
|
464
|
+
EVOLUTION_INSTANCE_NAME
|
|
465
|
+
EVOLUTION_WEBHOOK_TOKEN
|
|
466
|
+
```
|
|
467
|
+
|
|
420
468
|
Discord slash-command required secret:
|
|
421
469
|
|
|
422
470
|
```txt
|
|
@@ -429,6 +477,24 @@ Discord bot-mode required secret:
|
|
|
429
477
|
DISCORD_BOT_TOKEN
|
|
430
478
|
```
|
|
431
479
|
|
|
480
|
+
Generic webhook required secret:
|
|
481
|
+
|
|
482
|
+
```txt
|
|
483
|
+
AGENTKIT_WEBHOOK_SECRET
|
|
484
|
+
```
|
|
485
|
+
|
|
486
|
+
Generic webhook payloads should be canonical JSON:
|
|
487
|
+
|
|
488
|
+
```json
|
|
489
|
+
{
|
|
490
|
+
"event_id": "evt_123",
|
|
491
|
+
"external_id": "customer_123",
|
|
492
|
+
"message": "hello from n8n"
|
|
493
|
+
}
|
|
494
|
+
```
|
|
495
|
+
|
|
496
|
+
Use `Authorization: Bearer <AGENTKIT_WEBHOOK_SECRET>`, `X-AgentKit-Webhook-Secret`, or `X-AgentKit-Webhook-Signature: sha256=<hmac>` where the HMAC is SHA-256 over the exact raw JSON body. The hosted URL is `/channels/<name>/webhook`.
|
|
497
|
+
|
|
432
498
|
Common channel verification:
|
|
433
499
|
|
|
434
500
|
```sh
|
|
@@ -436,9 +502,12 @@ agentkit inspect
|
|
|
436
502
|
agentkit deploy
|
|
437
503
|
agentkit channels list
|
|
438
504
|
agentkit channels add telegram support-telegram
|
|
505
|
+
agentkit channels connect whatsapp main-whatsapp --provider evolution
|
|
506
|
+
agentkit channels connect whatsapp support-whatsapp --provider uazapi
|
|
439
507
|
agentkit channels connect discord support-discord
|
|
440
508
|
agentkit channels connect discord server-discord --mode bot
|
|
441
509
|
agentkit channels connect slack support-slack
|
|
510
|
+
agentkit channels connect webhook n8n-webhook
|
|
442
511
|
agentkit channels setup support-telegram
|
|
443
512
|
agentkit channels test support-telegram --message "hello"
|
|
444
513
|
agentkit channels test-audio support-telegram --fixture voice-note
|
|
@@ -447,7 +516,7 @@ agentkit channels deliveries list support-telegram
|
|
|
447
516
|
agentkit channels deliveries show <delivery-id>
|
|
448
517
|
```
|
|
449
518
|
|
|
450
|
-
`channels connect` creates or refreshes the channel resource, validates secrets, runs provider setup when supported, then runs the official synthetic smoke. `channels setup` is read-only by default. `channels setup <telegram-name> --apply` calls Telegram `setWebhook` and requires `TELEGRAM_BOT_TOKEN` plus `TELEGRAM_WEBHOOK_SECRET`.
|
|
519
|
+
`channels connect` creates or refreshes the channel resource, validates secrets, runs provider setup when supported, then runs the official synthetic smoke. `channels setup` is read-only by default. `channels setup <telegram-name> --apply` calls Telegram `setWebhook` and requires `TELEGRAM_BOT_TOKEN` plus `TELEGRAM_WEBHOOK_SECRET`. `channels setup <uazapi-whatsapp-name> --apply` calls UAZAPI `/webhook` and requires `UAZAPI_BASE_URL` plus `UAZAPI_TOKEN`. `channels setup <evolution-whatsapp-name> --apply` calls Evolution API `/webhook/set/{instance}` and requires `EVOLUTION_API_BASE_URL`, `EVOLUTION_API_KEY`, `EVOLUTION_INSTANCE_NAME`, and `EVOLUTION_WEBHOOK_TOKEN`.
|
|
451
520
|
|
|
452
521
|
Discord slash-command mode validates `X-Signature-Ed25519` and `X-Signature-Timestamp` against `DISCORD_PUBLIC_KEY`, answers signed `PING` requests with `type: 1`, acknowledges slash commands with a deferred response, then sends the final answer as an interaction follow-up. Discord bot mode uses `DISCORD_BOT_TOKEN`, Discord Gateway `MESSAGE_CREATE`, Message Content Intent, and `/channels/<channel_id>/messages` bot replies. Discord channels support buffering but do not support `audio` in V1.
|
|
453
522
|
|
|
@@ -456,10 +525,14 @@ Default tests are offline. Real provider smoke tests are opt-in:
|
|
|
456
525
|
```sh
|
|
457
526
|
AGENTKIT_RUN_TELEGRAM_CHANNEL_TESTS=1 bun test
|
|
458
527
|
AGENTKIT_RUN_ZAPSTER_CHANNEL_TESTS=1 bun test
|
|
528
|
+
AGENTKIT_RUN_UAZAPI_CHANNEL_TESTS=1 bun test
|
|
529
|
+
AGENTKIT_RUN_EVOLUTION_CHANNEL_TESTS=1 bun test
|
|
459
530
|
```
|
|
460
531
|
|
|
461
532
|
Telegram smoke also requires `TELEGRAM_BOT_TOKEN`, `TELEGRAM_WEBHOOK_SECRET`, and `AGENTKIT_TELEGRAM_WEBHOOK_URL`.
|
|
462
533
|
Zapster smoke also requires `ZAPSTER_API_KEY`, `AGENTKIT_ZAPSTER_SEND_URL`, and `AGENTKIT_ZAPSTER_TO`.
|
|
534
|
+
UAZAPI smoke also requires `UAZAPI_BASE_URL`, `UAZAPI_TOKEN`, and `AGENTKIT_UAZAPI_TO`.
|
|
535
|
+
Evolution smoke also requires `EVOLUTION_API_BASE_URL`, `EVOLUTION_API_KEY`, `EVOLUTION_INSTANCE_NAME`, and `AGENTKIT_EVOLUTION_TO`.
|
|
463
536
|
|
|
464
537
|
## Tool Contract
|
|
465
538
|
|
|
@@ -557,7 +630,7 @@ CREATE TABLE IF NOT EXISTS appointments (
|
|
|
557
630
|
);
|
|
558
631
|
```
|
|
559
632
|
|
|
560
|
-
`schema.sql` is an idempotent bootstrap file
|
|
633
|
+
`schema.sql` is an idempotent bootstrap file. Use `CREATE TABLE IF NOT EXISTS`, `CREATE INDEX IF NOT EXISTS`, and only safe additive `ALTER TABLE` statements. Use ordered `migrations/*.sql` for production-shaped schema evolution; `agentkit db migrate` applies unapplied local migrations before `schema.sql`.
|
|
561
634
|
|
|
562
635
|
Example tool:
|
|
563
636
|
|
|
@@ -786,7 +859,7 @@ tools.order
|
|
|
786
859
|
tools.persisted
|
|
787
860
|
```
|
|
788
861
|
|
|
789
|
-
Import `defineEval` from `@andreprado/agentkit` when writing new evals. `tools.persisted` validates the tool call saved in local SQLite `tool_calls`, not a provider-specific raw response shape. It can be a tool name string or an object with `name`, `input`, `output`, `rendered`, `status`, and/or `visibility`. `tool_call` and `persisted_tool_call` remain accepted as backwards-compatible aliases, but new evals should use `tools.persisted`.
|
|
862
|
+
Import `defineEval` from `@andreprado/agentkit` when writing new evals. `tools.persisted` validates the tool call saved in the eval run's local SQLite `tool_calls`, not a provider-specific raw response shape. It can be a tool name string or an object with `name`, `input`, `output`, `rendered`, `status`, and/or `visibility`. `tool_call` and `persisted_tool_call` remain accepted as backwards-compatible aliases, but new evals should use `tools.persisted`.
|
|
790
863
|
|
|
791
864
|
For date-sensitive evals, set top-level `now` to an ISO timestamp with an explicit timezone designator such as `Z` or `-05:00`. AgentKit uses that fixed clock for every turn and tool call in the eval so "today", "tomorrow", and weekdays remain deterministic while normal chat continues to use the real current date.
|
|
792
865
|
|
|
@@ -894,7 +967,7 @@ agentkit deploy smoke --message "hello"
|
|
|
894
967
|
agentkit chat-ui --deploy
|
|
895
968
|
```
|
|
896
969
|
|
|
897
|
-
`agentkit deploy doctor` checks AgentKit Cloud login, hosted deploy entitlement, online deploy capacity, hosted secrets, local `.env` names that still need `agentkit secret set`, managed Composio API/auth-config readiness by toolkit, and private-access runtime token handling. `agentkit deploy` sends the capsule to AgentKit Cloud, runs the same readiness check automatically before building and uploading, updates the current project deploy slot by default,
|
|
970
|
+
`agentkit deploy doctor` checks AgentKit Cloud login, hosted deploy entitlement, online deploy capacity, hosted secrets, local `.env` names that still need `agentkit secret set`, managed Composio API/auth-config readiness by toolkit, and private-access runtime token handling. `agentkit deploy` sends the capsule to AgentKit Cloud, runs the same readiness check automatically before building and uploading, updates the current project deploy slot by default, writes the local chat/UI deploy access token to `.agentkit/chat-access-token.json`, and prints a production handoff with URL, UI command, secret status, database/schema artifact, integration connect commands, smoke status, and the next recommended command. `agentkit deploy --smoke "hello"` deploys and then tests `/v1/chat` with the deploy access token. `agentkit deploy smoke --message "hello"` repeats that smoke against the last local deploy. `agentkit chat-ui --deploy` serves a local UI pointed at the hosted deploy using that token without exposing it to browser code, shows the conversation id and tool calls, and supports starting a new conversation. Use `agentkit conversations trace <conversation-id> --deploy` to pull hosted conversation messages and tool calls from the last deploy. Production deploys require an account with `cloudflare_deploy_alpha` or purchased/manual deploy slots; local commands and dry-run builds do not require login. AgentKit owns infrastructure selection, backend migration, managed secrets, and public URL creation.
|
|
898
971
|
|
|
899
972
|
The CLI defaults to the hosted AgentKit Cloud API at `https://agentkit-cloud.aibuilders.com.br`. Use `AGENTKIT_CLOUD_API_URL` or `agentkit deploy --api <url>` only when the owner gives you a non-default AgentKit Cloud API URL.
|
|
900
973
|
|
package/docs/llms.txt
CHANGED
|
@@ -24,6 +24,8 @@ Task guides:
|
|
|
24
24
|
- Connect Discord: `docs/guides/connect-discord.md`
|
|
25
25
|
- Connect Slack: `docs/guides/connect-slack.md`
|
|
26
26
|
- Connect Telegram: `docs/guides/connect-telegram.md`
|
|
27
|
+
- Connect WhatsApp through Evolution API: `docs/guides/connect-whatsapp-evolution.md`
|
|
28
|
+
- Connect WhatsApp through UAZAPI: `docs/guides/connect-whatsapp-uazapi.md`
|
|
27
29
|
- Connect WhatsApp through Zapster: `docs/guides/connect-whatsapp-zapster.md`
|
|
28
30
|
- Follow channel webhook and delivery-log safety rules: `docs/guides/channel-security.md`
|
|
29
31
|
- Follow secret, access, and tool safety rules: `docs/guides/security-rules.md`
|
|
@@ -55,9 +57,12 @@ agentkit conversations show <conversation-id>
|
|
|
55
57
|
agentkit conversations trace <conversation-id> [--deploy]
|
|
56
58
|
agentkit channels list
|
|
57
59
|
agentkit channels add telegram support-telegram
|
|
60
|
+
agentkit channels connect whatsapp main-whatsapp --provider evolution
|
|
61
|
+
agentkit channels connect whatsapp support-whatsapp --provider uazapi
|
|
58
62
|
agentkit channels connect discord support-discord
|
|
59
63
|
agentkit channels connect discord server-discord --mode bot
|
|
60
64
|
agentkit channels connect slack support-slack
|
|
65
|
+
agentkit channels connect webhook n8n-webhook
|
|
61
66
|
agentkit channels setup support-telegram
|
|
62
67
|
agentkit channels status support-telegram
|
|
63
68
|
agentkit channels test support-telegram --message "hello"
|
|
@@ -90,16 +95,18 @@ agentkit open
|
|
|
90
95
|
|
|
91
96
|
On Windows PowerShell, if `npm.ps1` or `npx.ps1` is blocked with `PSSecurityException`, run capsule scripts through the `.cmd` shims, for example `npm.cmd run agentkit -- inspect`, `npm.cmd run agentkit -- knowledge sync`, or `npm.cmd run eval`.
|
|
92
97
|
|
|
93
|
-
Generated capsules include `AGENTKIT.md`, `AGENTS.md`, and a repo-local `skills/` pack so Codex, Claude Code, or another coding agent can treat the owner's natural-language request as the brief and start building immediately without loading the full contract by default. Start with `skills/agentkit-capsule/SKILL.md`, then load the task skill for the current work. `agentkit handoff codex "Develop an ophthalmology office intake agent"` is an optional prompt-printing shortcut for users who are not already inside a coding-agent workspace. There is no wizard
|
|
98
|
+
Generated capsules include `AGENTKIT.md`, `AGENTS.md`, and a repo-local `skills/` pack so Codex, Claude Code, or another coding agent can treat the owner's natural-language request as the brief and start building immediately without loading the full contract by default. Start with `skills/agentkit-capsule/SKILL.md`, then load the task skill for the current work. `agentkit handoff codex "Develop an ophthalmology office intake agent"` is an optional prompt-printing shortcut for users who are not already inside a coding-agent workspace. There is no AgentKit CLI wizard in the normal flow: the coding agent edits the capsule directly from the scaffold and contract.
|
|
94
99
|
|
|
95
100
|
UI testing is part of the handoff. For local UI testing, run `agentkit dev`, open the printed `Chat:` URL, and tell the owner the exact URL. After hosted deploy, run `agentkit chat-ui --deploy`, open the printed `Chat:` URL, and tell the owner it is connected to the deploy.
|
|
96
101
|
|
|
97
102
|
Hosted Chat UI shows the current conversation id, tool calls, tool errors, and a new-conversation control. Use `agentkit conversations trace <conversation-id> --deploy` to pull the hosted trace from the last deploy.
|
|
98
103
|
|
|
99
|
-
`test/fake` is deterministic and validates scaffold, direct tool calls, and fake-provider evals. It does not validate natural conversation quality. Before claiming real conversation behavior has been tested, ask the owner which provider to use: OpenRouter, OpenAI, Anthropic, or another supported provider. Do not choose for them.
|
|
104
|
+
`test/fake` is deterministic and validates scaffold, direct tool calls, and fake-provider evals. It does not validate natural conversation quality. Before claiming real conversation behavior has been tested, ask the owner which provider to use: OpenRouter, OpenAI, Anthropic, OpenCode Zen, OpenCode Go, or another supported provider. Do not choose for them.
|
|
100
105
|
|
|
101
106
|
For OpenRouter, prefer model ids or aliases known to the installed Pi SDK, such as `~google/gemini-flash-latest`. If an OpenRouter id is newer than Pi's registry, AgentKit passes the raw id through to OpenRouter with conservative unknown-model metadata; OpenRouter can still reject invalid, inaccessible, or unsupported models.
|
|
102
107
|
|
|
108
|
+
For OpenCode Zen, use `provider: { name: "opencode", model: "big-pickle" }`. For OpenCode Go, use `provider: { name: "opencode-go", model: "deepseek-v4-flash" }`. Both use `OPENCODE_API_KEY` in `secrets` and `.env.schema`.
|
|
109
|
+
|
|
103
110
|
AgentKit injects the current ISO timestamp, local date, weekday, local date/time, and timezone dynamically into every chat run. Set `timeZone` in `agentkit.config.ts` for scheduling agents so "today", "tomorrow", and weekdays resolve in the business/user timezone; otherwise AgentKit falls back to `AGENTKIT_TIME_ZONE`, valid `TZ`, then the runtime default. Do not hardcode today's date in prompts.
|
|
104
111
|
|
|
105
112
|
Current local endpoints from `agentkit dev`:
|