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

03 Bot

Source: docs/design/03-bot.md

A Bot is a durable teammate: identity (profile), memory, wiki, skills, and optional runtime preferences (model / future external agent).

Three long-term stores

Store Role
Memory Facts, preferences, lessons about the user / self (04-Memory)
Wiki Curated knowledge base (LLM wiki) (05-Wiki-and-Skills)
Skills Packaged procedures / tools the Bot can load

They are separate on purpose: memory is personal continuity; wiki is reference material; skills are executable know-how.

Profile

Fields include persona, responsibilities, boundaries, model preferences, capability packs. Changes go through propose_profile_change + approval card. Whitelist PROFILE_CHANGE_FIELDS. Active proposals when the user corrects tone/role (D98) — turn prompt only; tasks stay passive. Unattended mode never auto-approves profile cards (D99).

Lifecycle

Butler (D70)

Exactly one Bot with system_role='butler': pinned, undeletable. Onboards the user, proposes teams/Bots/projects, routes work. Butler never joins project teams (not lead, not member). See 27-Butler-and-Delegation.

Bot id

Stable opaque id; never reused after delete.

On delete

Clear memory/wiki/skills/workspace; interrupt loops; placeholder identity in history. See D18 on Decision-Log.

Clone this wiki locally