App — Sidekick
The AI is the product. Every other app feeds the Sidekick, and the Sidekick can act on every other app. Four modes, three search scopes, ~40 tools, full workspace context.
The AI is the product. Every other app feeds the Sidekick, and the Sidekick can act on every other app.
| Field | Value |
|---|---|
| Status | 🟢 GA |
| Owner | @aphaiboon |
| Tech lead | @aphaiboon |
| Customer-facing name | The user names theirs |
What it is
Section titled “What it is”A conversational interface (chat) that has full read/write access to the user’s workspace and a persistent memory. Lives in:
- Sidekick section of the sidebar (always accessible)
- Inline inside other apps (compose a draft, summarize a thread, plan a project)
- Slash-trigger from anywhere —
/think,/quick,/code
The four modes
Section titled “The four modes”| Mode | Model | Tools | Latency | When |
|---|---|---|---|---|
| Quick | FAST_MODEL | disabled by default | 3–5s | Short factual answers |
| Autopilot (default) | CAPABLE_MODEL | full toolset | 5–15s | The everyday mode |
| Deep Think | FLAGSHIP_MODEL | full + extended reasoning | 15–30s | Reports, deep analysis |
| Code | CAPABLE_MODEL | sandbox tools, 32k tokens | 5–15s | Code pairing |
Auto-elevation: Quick → Autopilot when a tool is needed. Transparent to the user.
→ Full pipeline: Engineering → Architecture → Sidekick Routing Pipeline
Threads & chats
Section titled “Threads & chats”- Chat — one conversation. Standalone, in a Thread, or linked to a Project.
- Thread — long-lived container for related chats. Like a Slack channel for one topic.
- Project — container for Threads + Tasks + Brain docs (lives in Projects app).
UI hierarchy: Projects ⊇ Threads ⊇ Chats
Copy rules:
- ✅ Always say “chats” (lowercase)
- 🚫 Never say “conversations” (banned in user-facing copy)
- ✅ Action is “Make it a Thread” (not “Upgrade to Thread”)
Context tags
Section titled “Context tags”Users can attach durable context to a chat with @ or + mentions:
| Tag | What it injects |
|---|---|
@person | Person’s recent activity, notes, deal status |
@project | Project overview, recent tasks, recent threads |
+brain-document | Full doc content (up to 8k chars for DB docs, summary for file-backed) |
+brain-folder | Up to 5 docs × 1500 chars from the folder |
Important: when explicit Brain tags are present, auto Brain semantic search is skipped — pinned context wins.
Search scope (knowledge mode)
Section titled “Search scope (knowledge mode)”| Scope | Behavior |
|---|---|
| Smart (default) | Brain + web + memory |
| Internal | Brain + memory — skip web |
| External | Web — skip Brain / memory / live queries |
Tool catalog (excerpt)
Section titled “Tool catalog (excerpt)”Sidekick can invoke ~40 tools. By category:
- Tasks —
create_task,update_task,complete_task,query_tasks - Calendar —
schedule_event,find_time,update_event,query_events - Comms —
send_message,draft_email,summarize_thread,find_message - Brain —
create_brain_doc,search_brain,update_brain_doc,summarize_folder - Projects —
create_project,link_chat_to_project,update_project - CRM —
create_contact,log_interaction,find_company - People —
recall_person,update_person_memory - Integrations —
call_composio_tool(Slack, GitHub, Gmail, Drive, Stripe, …) - Web —
search_web,fetch_url,fetch_news - Meta —
set_sidekick_mode,switch_thread,archive_chat
Personalisation
Section titled “Personalisation”| Setting | Where |
|---|---|
| Sidekick name | First-run flow + Settings → Sidekick |
| Avatar | SidekickAvatar component, /api/ai/preferences avatar style |
| Voice / persona | Settings → Sidekick (planned) |
| Default mode | Per-workspace preference |
Engineering rule: never hardcode “Sidekick” / “Ruby” / “Assistant” in UI. Always use useSidekickName() from @/hooks/use-sidekick-name.
Memory & persistence
Section titled “Memory & persistence”- Per-chat memory — recent N turns in the chat
- Working memory — short-term relevant snippets across chats
- Brain — long-term knowledge (user-curated documents)
- Person memory — facts about specific people in the user’s life
- Ghost Mode — skips persistence, memory extraction, usage tracking
Ambient context (always injected)
Section titled “Ambient context (always injected)”Every Sidekick turn includes:
- Explicit day name + full date
- Timezone
- User name + role
- Active integrations
- Current app context (which screen the user was on)
Analytics events
Section titled “Analytics events”sidekick_message_sent— every user messagesidekick_response_received— every AI response (with mode + tier + latency)sidekick_tool_invoked— per tool callsidekick_mode_switched— explicit mode changesidekick_context_tag_attached—@or+mentionsidekick_thread_created— thread upgrade from chat
Performance budget
Section titled “Performance budget”| Tier | Target latency | Hard ceiling |
|---|---|---|
| Trivial | <2s | 3s |
| Simple | 3–5s | 7s |
| Standard | 5–15s | 25s |
| Complex | 15–30s | 45s |
Latency over the hard ceiling pages on-call.
Related
Section titled “Related”- Engineering → Sidekick Routing Pipeline
- App — Brain — primary knowledge source
- Model Card — Apex Family — models powering Sidekick