Multi-channel AI agent SDK supporting Telegram, Discord, Slack, email, SMS, WhatsApp, iMessage, Messenger, X, Linear, and voice. Includes OpenCode and OpenClaw plugin integrations.
Two tools with partial schemas and descriptions. caspian_setup_credentials has a well-structured enum-based input schema with clear parameter descriptions (mode, apiKey, baseUrl all documented). caspian_reply_email has a simpler schema (body required, messageId optional) with adequate descriptions. However, both descriptions are verbose (200+ chars) and lack clear WHEN/WHY guidance for LLM selection. No output schemas documented for either tool. No error handling guidance provided. Naming is verb-noun compliant but descriptions read more like user docs than LLM-optimized prompts. Missing idempotency hints, retry guidance, and recovery paths.
Reply on the CURRENT Caspian conversation for this OpenCode session (email or Telegram). Prefer when the session shows [caspian:email] or [caspian:telegram]. On a fresh inbound turn, answer in assistant text instead (plugin auto-delivers). Not for brand-new emails — use caspian_send_email. For email only: if unsure thread vs new mail, ASK first.
Set up Caspian credentials for OpenCode. Use mode=status first. If not configured: mode=sandbox (instant free key, no signup) OR mode=paste with apiKey from https://dashboard.trycaspianai.com. Writes ~/.config/opencode/caspian.env with CASPIAN_BASE_URL + CASPIAN_API_KEY. Never store keys in caspian.json. After setup, restart OpenCode then connect email.
No output schemas documented. LLMs cannot plan downstream calls or extract return values. Both tools lack documented return types.
Descriptions lack WHEN/WHY guidance. caspian_setup_credentials description is 200+ chars of procedural steps; caspian_reply_email description is 180+ chars with conditional logic buried in prose. LLMs need concise WHAT + WHEN + CONSEQUENCE.
No error handling or recovery guidance. If setup fails or reply fails, LLM has no actionable next step. Missing error classification (retryable vs user-fixable vs fatal).
caspian_setup_credentials accepts apiKey as optional parameter. Credentials should NEVER be tool parameters, use server-side secret injection via environment variables or vault. Agent traces log all parameters; secrets leak into logs.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
caspian_reply_email lacks idempotency hints and confirmation pattern. Sending email is irreversible; tool should support dry-run or require confirmation to prevent accidental duplicate sends.