init_session
Initialize a research session by setting up push channels and loading previous context. Detects configured platforms and manages channels for streamlined research.
Instructions
Initialize a research session. Call this first to set up push channels and load context.
Detects configured platforms, manages channels, and optionally loads previous research context. Returns session info for the AI client to present to the user.
IMPORTANT for AI clients:
NEVER call external APIs (Zotero, webhooks, etc.) directly or generate scripts (PowerShell, curl, Python) to do so. Always use the built-in tools (collect, collect_to_zotero, send_push, etc.). Direct API calls will result in incomplete data and encoding issues.
If multiple platforms are detected and no
platformis specified, the response will includeask_platform— you MUST ask the user which platform to use, then call init_session again withplatform=<user_choice>.If only one platform is configured, it is auto-selected.
The
send_pushtool also accepts aplatformparameter, so the user can override per-push even after init.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| platform | No | Preferred push platform ("telegram", "discord", "feishu", "wecom"). If None, auto-detects from configured env vars. | |
| session_id | No | Session identifier (auto-generated if not provided). Use different IDs to isolate research vs daily topics. | |
| load_context | No | "yes" = auto-load previous research context, "no" = start fresh, "ask" = return context summary for user to decide. | ask |
| channel_action | No | "new" = create dedicated channel, "existing" = use configured channel, "auto" = use existing if available. | auto |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||