Chat Context Picker

Per-turn context controls select Dotabases, memory domains, HUMAN.md guidance, connected sources, and context posture.

Overview

Description

Chat Context Picker lets users decide what knowledge should inform a conversation instead of leaving retrieval scope implicit. From the composer, users can choose context mode, select Dotabases, include connected sources, narrow Memory Bank by domain, pick an active HUMAN.md document, and customize how much context the turn should use. Active choices return to the composer as visible pills and scope chips.

The picker is a multi-screen popover backed by live catalog reads. It distinguishes empty, loading, and error states for each source family and preserves the current conversation’s choices. The chosen HUMAN.md identity and other context settings are persisted with conversation metadata where applicable, so the next turn can accurately display and reuse the active posture.

Selling Points

  • Makes retrieval scope visible before a message is sent, reducing surprising answers drawn from the wrong knowledge.
  • Lets users combine structured Dotabases, memory domains, personal guidance, and connected sources without composing query syntax.
  • Keeps selected context visible as compact composer pills, so a long conversation does not obscure its active assumptions.
  • Supports per-conversation HUMAN.md selection, letting users adopt the right working identity or guidance for the task.
  • Handles unavailable or empty source catalogs honestly instead of silently pretending context was applied.

User Story

A consultant starts a Chat for a client review. They choose the client Dotabase, select the “Customer Research” Memory Bank domain, activate their consulting HUMAN.md, and include a connected drive source. The composer shows each choice before dispatch, and the resulting answer is grounded in the intended working context.

Extension Surface

The capability is configurable through live choices. packages/parts/src/composer/context-picker/ContextPickerPopover.tsx coordinates the supported screens, and packages/parts/src/hooks/use-context-picker-data.ts reads catalogs through the injected chat client. Adding a new context family requires in-repo contract and UI work; there is no external context-screen registration point.

Capabilities & Limits

  • Selects context posture, Dotabases, memory domains, HUMAN.md documents, and connected sources.
  • Persists relevant conversation-level choices and reflects them in composer chips.
  • Provides complete state handling for live source catalogs.
  • Limit: the picker can only offer sources the current actor can read and that the live client returns; it does not bypass permissions or guarantee every source contributes to every provider.

Implementation Map

  • packages/parts/src/composer/context-picker/ContextPickerPopover.tsx
  • packages/parts/src/composer/context-picker/MemoryScreen.tsx
  • packages/parts/src/composer/context-picker/HumanMdScreen.tsx
  • packages/parts/src/hooks/use-context-picker-data.ts
  • apps/web/src/modules/chat/api/real-client.ts

Properties

Property
Value
product
dots-platform
extensibility
configurable
module
Chat, Context Cabinet, Memory Bank, HUMAN.md
packages
parts, apps-web
status
shipped
surface
ui
summary
Per-turn context controls select Dotabases, memory domains, HUMAN.md guidance, connected sources, and context posture.

Connections

Chat Context Picker · Explore connections

  • documented bytoGive Chat The Right Context
  • documented bytoHow Chat Works
  • implemented bytopackages/parts/src/composer/context-picker/MemoryScreen.tsx
  • implemented bytopackages/parts/src/composer/context-picker/ContextPickerPopover.tsx
  • implemented bytoapps/web/src/modules/chat/api/real-client.ts
  • implemented bytopackages/parts/src/hooks/use-context-picker-data.ts
  • implemented bytopackages/parts/src/composer/context-picker/HumanMdScreen.tsx
  • complementstoMemory Bank Surface
  • requirestoChat Conversations
  • extendsfromChat Conversations
  • complementsfromHUMAN.md Personalization
  • complementsfromContext Cabinet Surface
  • complementsfromMemory Bank Surface
  • complementsfromIntegration Connections Settings

Connected Records14

Complements
Documented by
Extends
Implemented by
apps/web/src/modules/chat/api/real-client.ts
packages/parts/src/composer/context-picker/ContextPickerPopover.tsx
packages/parts/src/composer/context-picker/HumanMdScreen.tsx
packages/parts/src/composer/context-picker/MemoryScreen.tsx
packages/parts/src/hooks/use-context-picker-data.ts
Requires
14 connections.

Documents