Skip to content

01 Conversation

KepCup 开发助理 edited this page Oct 24, 2026 · 1 revision

01 Conversation

Source: docs/design/01-conversation.md

Contacts

The left sidebar lists Bots like a contacts book. Each Bot has an avatar, display name, and optional status.

Delete Bot (D18)

Deleting a Bot is like removing a WeChat contact:

  • Messages remain; the display name falls back to the Bot id
  • The Bot cannot be @-mentioned in projects; DMs become read-only
  • All related loops abort; the id is never reused
  • Memory, wiki, skills, and workspace are cleared
  • Confirm dialog before delete

Direct chat

One user ↔ one Bot. Right panel shows Bot detail (profile, skills, watches, etc.).

Project team (D92)

conversations.type = 'project'. A project must have a lead Bot (lead_bot_id, enforced by CHECK). Communication is the first module; project wiki ships; boards/OKRs later. See 41-Project-Team.

Member/lead changes: remove is immediate; new members can read full history. Deleting a Bot that leads projects requires reassignment first.

Conversation id

Stable id; for projects the root conversation id is the project id.

Conversation vs execution

The visible message list is communication. Work happens in tasks (02-Execution, 30-Supervisor-and-Tasks). Progress may stream into the list; final results are consumed by a reply turn.

Input and send (D86)

Send (button / Enter / Cmd-Enter) calls messages.send immediately — no pending-send queue. One message = one trigger batch (project @ mentions still merge for routing). Composer draft cache (unsaved text) is unrelated and kept. Send gates (18-Inline-Setup) leave text in the composer until the user sends again.

Workdir

A conversation may bind a shared working directory. See 08-Workdir, 19-Work-Path-and-Group-Setup.

Message model

Messages carry role, text parts, attachments, system events (approvals, setting cards, task cards, etc.). Bot internal affairs (tool traces, private task timeline) do not enter the shared conversation view — only what should be spoken to the user.

Message principles

Bots should not narrate skill creation completion into chat (discovery is the skills panel). Internal task events use owner_bot_id private timeline filtering.

Human-like behavior

Streaming status line at the end of the stream; interim tool narrations with per-run caps; proactive messages and watches under guardrails (02-Execution).

Archive vs delete conversation

Remove from list (archive) vs hard delete. Delete voids promises in that chat; wiki materials remain (D20). Long-term memory remains (D3).

Clone this wiki locally