docs: architecture — clarify TUI session export formats and persona schema fields #4979
@@ -66,7 +66,7 @@ CleverAgents introduces the **Persona** concept as a TUI-only abstraction that b
|
||||
3. **Scoped projects** — a list of project references that are always included in the session's context
|
||||
4. **Scoped plans** — a list of plan references that are always included in the session's context
|
||||
5. **Argument presets** — named sets of argument overrides that can be cycled with `ctrl+tab`
|
||||
6. **Display metadata** — a short name, optional accent color, and description
|
||||
6. **Display metadata** — a short name, optional accent color, optional icon (emoji/character), optional greeting message, and description
|
||||
|
||||
Personas are:
|
||||
|
||||
@@ -85,6 +85,8 @@ name: "feature-dev"
|
||||
description: "Feature development with Claude on main projects"
|
||||
actor: "anthropic/claude-4-sonnet"
|
||||
color: "$primary" # Textual CSS color token or hex
|
||||
icon: "🚀" # Optional emoji or single character for display in tab labels and lists
|
||||
greeting: "Ready to build features!" # Optional greeting shown when this persona is activated
|
||||
|
||||
base_arguments:
|
||||
thinking_effort: "medium"
|
||||
|
||||
@@ -261,8 +261,8 @@ When `/` is typed at position 0, the Slash Command overlay appears with filterab
|
||||
| `/session:close` | `[--force]` | Close the current session tab (confirms if conversation exists) |
|
||||
| `/session:delete <id>` | `<id>` (required), `[--yes/-y]` | Permanently delete a saved session (with confirmation) |
|
||||
| `/session:rename <name>` | `<name>` (required) | Rename the current session's display label |
|
||||
| `/session:export [path]` | `[path]` (optional, defaults to `./<session-name>.json`) | Export the current session's conversation history to a JSON file |
|
||||
| `/session:import <path>` | `<path>` (required) | Import a session from a previously exported JSON file |
|
||||
| `/session:export [path]` | `[path]` (optional, defaults to `./<session-name>.json`), `[--format json\|md\|txt]` (optional, defaults to `json`) | Export the current session's conversation history. `json` is the canonical format (full data, importable); `md` produces a human-readable Markdown transcript; `txt` produces a plain-text transcript. |
|
||||
| `/session:import <path>` | `<path>` (required) | Import a session from a previously exported JSON file (only JSON format is importable) |
|
||||
|
||||
**Persona Commands**
|
||||
|
||||
|
||||
@@ -29415,7 +29415,7 @@ A **persona** is a TUI-only abstraction that bundles:
|
||||
3. **Scoped projects** — projects always included in the session's context
|
||||
4. **Scoped plans** — plans always included in the session's context
|
||||
5. **Argument presets** — named argument overrides cycled with `ctrl+tab`
|
||||
6. **Display metadata** — short name, accent color, description
|
||||
6. **Display metadata** — short name, optional accent color, optional icon (emoji/single character for tab labels and lists), optional greeting message (shown when persona is activated), and description
|
||||
|
||||
Personas are stored as YAML files in `~/.config/cleveragents/personas/` and are strictly a Presentation-layer concept — they never appear in the domain model, A2A protocol, or database schema.
|
||||
|
||||
@@ -30553,11 +30553,12 @@ Conversations can be exported in multiple formats:
|
||||
|
||||
| Format | Command / Trigger | Output |
|
||||
|--------|------------------|--------|
|
||||
| JSON | `/session:export [path]` | Full session data including A2A messages, metadata, timestamps |
|
||||
| Markdown | `/session:export --format md [path]` | Human-readable conversation transcript with Markdown formatting |
|
||||
| JSON | `/session:export [path]` or `/session:export --format json [path]` | Full session data including A2A messages, metadata, timestamps. **Canonical format — the only format accepted by `/session:import`.** |
|
||||
| Markdown | `/session:export --format md [path]` | Human-readable conversation transcript with Markdown formatting. Lossy — intended for sharing and documentation. |
|
||||
| Plain Text | `/session:export --format txt [path]` | Plain-text conversation transcript with no markup. Suitable for piping into other tools or pasting into plain-text contexts. |
|
||||
| SVG | Context menu → `v` (per block) | Single block rendered as SVG image |
|
||||
|
||||
The JSON export format is the canonical format for `/session:import` — it contains all data needed to fully restore a session. The Markdown format is a lossy export intended for sharing and documentation.
|
||||
The JSON export format is the canonical format for `/session:import` — it contains all data needed to fully restore a session. The Markdown and plain-text formats are lossy exports intended for sharing, documentation, and interoperability with external tools.
|
||||
|
||||
|
||||
### Hotkey Reference
|
||||
|
||||
Reference in New Issue
Block a user