docs: update README to reflect new tools and features in the Zesdex system
This commit is contained in:
@@ -15,7 +15,7 @@ Zesdex is a Rust-powered AI assistant that operates directly in your terminal vi
|
|||||||
- **IPC Protocol** — Bidirectional state synchronization between daemon and client processes with diff-based updates.
|
- **IPC Protocol** — Bidirectional state synchronization between daemon and client processes with diff-based updates.
|
||||||
- **Provider Agnostic** — Configurable AI model providers with dynamic model selection, per-role temperature/token limits, and API key management.
|
- **Provider Agnostic** — Configurable AI model providers with dynamic model selection, per-role temperature/token limits, and API key management.
|
||||||
|
|
||||||
### Tool System (28 built-in tools)
|
### Tool System (33 built-in tools)
|
||||||
|
|
||||||
| Category | Tools |
|
| Category | Tools |
|
||||||
|----------|-------|
|
|----------|-------|
|
||||||
@@ -26,17 +26,17 @@ Zesdex is a Rust-powered AI assistant that operates directly in your terminal vi
|
|||||||
| **Memory** | `remember`, `recall`, `forget` |
|
| **Memory** | `remember`, `recall`, `forget` |
|
||||||
| **Planning** | `plan_enter`, `plan_ready`, `seqthink` |
|
| **Planning** | `plan_enter`, `plan_ready`, `seqthink` |
|
||||||
| **Workflow** | `workflow_run`, `note_finding` |
|
| **Workflow** | `workflow_run`, `note_finding` |
|
||||||
| **Utility** | `cd`, `dir_list`, `dir_cache_update`, `pong`, `todowrite` |
|
| **Utility** | `cd`, `dir_list`, `dir_cache_update`, `pong`, `todowrite`, `todofinish` |
|
||||||
|
| **LSP** | `lsp_connect`, `lsp_diagnostics`, `lsp_hover`, `lsp_completion`, `lsp_definition`, `lsp_references`, `lsp_disconnect` |
|
||||||
|
|
||||||
### Intelligence
|
### Intelligence
|
||||||
|
|
||||||
- **Workflow Engine** — Orchestrate complex multi-step tasks with parallel sub-agents, pipelines, and phased execution. Spawn independent workers that share findings in real-time.
|
- **Workflow Engine** — Orchestrate complex multi-step tasks with parallel sub-agents, pipelines, and phased execution. Spawn independent workers that share findings in real-time.
|
||||||
- **Self-Learning** — Persistent memory system that stores lessons, references, and project knowledge across sessions. Memories include provenance tracking, lifecycle management, and scope isolation.
|
- **Self-Learning** — Persistent memory system that stores lessons, references, and project knowledge across sessions. Memories include provenance tracking, lifecycle management, and scope isolation.
|
||||||
- **Self-Review** — Adaptive quality review system that evaluates completed work against stored lessons and project conventions.
|
- **Self-Review** — Adaptive quality review system that evaluates completed work against stored lessons and project conventions.
|
||||||
|
- **Self-Healing** — On build/test failures, spawns a sub-agent with the error context to autonomously fix issues before reporting them to the user.
|
||||||
- **MCP Support** — [Model Context Protocol](https://modelcontextprotocol.io/) integration for connecting to external AI tool servers.
|
- **MCP Support** — [Model Context Protocol](https://modelcontextprotocol.io/) integration for connecting to external AI tool servers.
|
||||||
- **Sequential Thinking** — Chain-of-thought reasoning tool for step-by-step problem decomposition.
|
- **Sequential Thinking** — Chain-of-thought reasoning tool for step-by-step problem decomposition.
|
||||||
|
|
||||||
|
|
||||||
- **Session Locking** — Prevents multiple processes from operating on the same session directory.
|
- **Session Locking** — Prevents multiple processes from operating on the same session directory.
|
||||||
|
|
||||||
### Session Management
|
### Session Management
|
||||||
@@ -52,32 +52,66 @@ Zesdex is a Rust-powered AI assistant that operates directly in your terminal vi
|
|||||||
```
|
```
|
||||||
src/
|
src/
|
||||||
├── main.rs # Entry point: single-process, daemon, or attach mode
|
├── main.rs # Entry point: single-process, daemon, or attach mode
|
||||||
|
├── resources.rs # Embedded resources (help text, system prompts)
|
||||||
├── app/
|
├── app/
|
||||||
│ ├── state/ # AppStateRest — immutable-rest state model
|
│ ├── state/ # AppStateRest — immutable-rest state model
|
||||||
│ │ ├── rest.rs # Core state struct
|
│ │ ├── rest.rs # Core state struct
|
||||||
│ │ ├── types.rs # Overlay, Toast, Origin enums
|
│ │ ├── types.rs # Overlay, Toast, Origin enums
|
||||||
│ │ ├── snapshot.rs # State snapshots for IPC
|
│ │ ├── snapshot.rs # State snapshots for IPC
|
||||||
│ │ ├── diff.rs # Diff-based state synchronization
|
│ │ ├── diff.rs # Diff-based state synchronization
|
||||||
│ │ └── runtime.rs # Runtime state mutations
|
│ │ ├── runtime.rs # Runtime state mutations
|
||||||
|
│ │ └── misc.rs # DirCache and miscellaneous state helpers
|
||||||
│ ├── runtime/ # Action dispatch and event loop
|
│ ├── runtime/ # Action dispatch and event loop
|
||||||
│ │ ├── actions/ # Action enum and apply_action reducer
|
│ │ ├── actions/ # Action enum and apply_action reducer
|
||||||
│ │ ├── stream/ # LLM streaming and tool execution
|
│ │ ├── stream/ # LLM streaming and tool execution
|
||||||
│ │ │ └── tools/ # Tool harness integration
|
│ │ │ └── tools/ # Tool harness integration
|
||||||
|
│ │ │ └── turn.rs # Turn orchestration
|
||||||
│ │ ├── event_loop/ # Main event loop and shortsend
|
│ │ ├── event_loop/ # Main event loop and shortsend
|
||||||
│ │ └── commands.rs # Slash command dispatch
|
│ │ ├── commands.rs # Slash command dispatch
|
||||||
│ ├── mode/ # UI modes and overlays (16 overlays)
|
│ │ └── shortsend.rs # Short-lived async send helper
|
||||||
|
│ ├── mode/ # UI modes and overlays (13 modes)
|
||||||
|
│ │ ├── bash.rs # Bash panel mode
|
||||||
|
│ │ ├── editor.rs # Multi-line editor mode
|
||||||
|
│ │ ├── effort.rs # Effort level selector
|
||||||
|
│ │ ├── help.rs # Help overlay
|
||||||
|
│ │ ├── key_input.rs # Raw key input mode
|
||||||
|
│ │ ├── loading.rs # Loading spinner overlay
|
||||||
|
│ │ ├── mcp.rs # MCP server management
|
||||||
|
│ │ ├── quit_confirm.rs # Quit confirmation dialog
|
||||||
|
│ │ ├── rewind.rs # Session rewind mode
|
||||||
|
│ │ ├── settings.rs # Settings panel
|
||||||
|
│ │ ├── todo.rs # Task list overlay
|
||||||
|
│ │ └── workflow.rs # Workflow visualization
|
||||||
│ ├── harness.rs # Tool harness for agent execution
|
│ ├── harness.rs # Tool harness for agent execution
|
||||||
│ ├── workflow/ # Workflow engine (script DSL, executor)
|
│ ├── workflow/ # Workflow engine
|
||||||
|
│ │ ├── script.rs # Workflow script DSL
|
||||||
|
│ │ └── engine.rs # Workflow executor
|
||||||
│ ├── mcp/ # MCP client manager
|
│ ├── mcp/ # MCP client manager
|
||||||
│ ├── subagent/ # Sub-agent spawn, context, events
|
│ │ └── manager.rs # MCP server lifecycle and tool exposure
|
||||||
|
│ ├── subagent/ # Sub-agent management
|
||||||
|
│ │ ├── spawn.rs # AgentDefinition and spawning
|
||||||
|
│ │ ├── engine.rs # Sub-agent event loop
|
||||||
|
│ │ ├── context.rs # Context construction for sub-agents
|
||||||
|
│ │ └── event.rs # Progress event types
|
||||||
│ ├── bgbash/ # Background bash job management
|
│ ├── bgbash/ # Background bash job management
|
||||||
│ ├── review/ # Self-review quality system
|
│ │ ├── job.rs # Background job handle
|
||||||
|
│ │ └── control.rs # Bash control (bg/fg/kill)
|
||||||
|
│ ├── lsp/ # LSP client management
|
||||||
|
│ │ ├── client.rs # LSP client connection wrapper
|
||||||
|
│ │ └── provisioner.rs # Auto-provisioning of LSP servers
|
||||||
|
│ └── review/ # Self-review quality system
|
||||||
├── controller/
|
├── controller/
|
||||||
│ ├── input.rs # Key event → Action mapping
|
│ ├── input.rs # Key event → Action mapping
|
||||||
│ └── command.rs # Slash command parser
|
│ └── command.rs # Slash command parser
|
||||||
├── dto/
|
├── dto/
|
||||||
│ ├── chat/ # Message, ToolCall, Role types
|
│ ├── chat/ # Message, ToolCall, Role types
|
||||||
|
│ │ ├── message.rs # Chat message types
|
||||||
|
│ │ ├── tool.rs # Tool call/result types
|
||||||
|
│ │ └── mod.rs
|
||||||
│ └── provider/ # AI provider request/response/usage types
|
│ └── provider/ # AI provider request/response/usage types
|
||||||
|
│ ├── request.rs # Provider request schema
|
||||||
|
│ ├── response.rs # Provider response schema
|
||||||
|
│ └── usage.rs # Token usage tracking
|
||||||
├── ipc/
|
├── ipc/
|
||||||
│ ├── protocol.rs # ClientRequest, DaemonFrame, StatePayload
|
│ ├── protocol.rs # ClientRequest, DaemonFrame, StatePayload
|
||||||
│ ├── server.rs # Unix socket server
|
│ ├── server.rs # Unix socket server
|
||||||
@@ -94,13 +128,30 @@ src/
|
|||||||
│ ├── memory.rs # Persistent memory with frontmatter
|
│ ├── memory.rs # Persistent memory with frontmatter
|
||||||
│ ├── editlog.rs # Edit history tracking
|
│ ├── editlog.rs # Edit history tracking
|
||||||
│ ├── msglog/ # Message log (SQLite-backed)
|
│ ├── msglog/ # Message log (SQLite-backed)
|
||||||
|
│ │ ├── schema.rs # SQLite schema
|
||||||
|
│ │ ├── query.rs # Query helpers
|
||||||
|
│ │ ├── blobs.rs # Large blob storage
|
||||||
|
│ │ └── summary.rs # Session summarization
|
||||||
│ ├── agent_def/ # Agent definitions (builtin, global, session)
|
│ ├── agent_def/ # Agent definitions (builtin, global, session)
|
||||||
|
│ │ ├── builtin.rs # Built-in agent profiles
|
||||||
|
│ │ ├── global.rs # Global agent config
|
||||||
|
│ │ └── session.rs # Per-session agent config
|
||||||
|
│ ├── conversation.rs # Conversation helpers
|
||||||
│ └── session_lock.rs # Flock-based session locking
|
│ └── session_lock.rs # Flock-based session locking
|
||||||
├── service/
|
├── service/
|
||||||
│ ├── provider.rs # AI provider abstraction
|
│ ├── provider.rs # AI provider abstraction
|
||||||
│ └── oauth/ # OAuth PKCE flow with loopback server
|
│ └── oauth/ # OAuth PKCE flow with loopback server
|
||||||
├── tool/ # 28 tool implementations
|
│ ├── loopback.rs # Local HTTP server for OAuth redirect
|
||||||
|
│ ├── manager.rs # OAuth token manager
|
||||||
|
│ ├── pkce.rs # PKCE code challenge/verifier
|
||||||
|
│ └── mod.rs
|
||||||
|
├── tool/ # 33 tool implementations
|
||||||
│ ├── fs/ # read, write, edit, delete
|
│ ├── fs/ # read, write, edit, delete
|
||||||
|
│ │ ├── read.rs
|
||||||
|
│ │ ├── write.rs
|
||||||
|
│ │ ├── edit.rs
|
||||||
|
│ │ ├── delete.rs
|
||||||
|
│ │ └── helpers.rs # Path resolution and validation
|
||||||
│ ├── search.rs # grep, glob
|
│ ├── search.rs # grep, glob
|
||||||
│ ├── shell.rs # bash
|
│ ├── shell.rs # bash
|
||||||
│ ├── bash_tools.rs # bash_output, bash_kill
|
│ ├── bash_tools.rs # bash_output, bash_kill
|
||||||
@@ -108,18 +159,31 @@ src/
|
|||||||
│ ├── git_worktree.rs # git worktree management
|
│ ├── git_worktree.rs # git worktree management
|
||||||
│ ├── git_cred.rs # git credential store/get/erase
|
│ ├── git_cred.rs # git credential store/get/erase
|
||||||
│ ├── memory/ # remember, forget, recall
|
│ ├── memory/ # remember, forget, recall
|
||||||
|
│ │ ├── remember.rs
|
||||||
|
│ │ ├── forget.rs
|
||||||
|
│ │ └── recall.rs
|
||||||
│ ├── plan.rs # plan_enter, plan_ready
|
│ ├── plan.rs # plan_enter, plan_ready
|
||||||
│ ├── seqthink.rs # Sequential thinking
|
│ ├── seqthink.rs # Sequential thinking
|
||||||
│ ├── workflow.rs # workflow_run, note_finding
|
│ ├── workflow.rs # workflow_run, note_finding
|
||||||
│ ├── utility/ # cd, dir_list, dir_cache_update, pong, todowrite
|
│ ├── utility/ # cd, dir_list, dir_cache_update, pong, todowrite, todofinish
|
||||||
|
│ │ ├── cd.rs
|
||||||
|
│ │ ├── dir_list.rs
|
||||||
|
│ │ ├── dir_cache_update.rs
|
||||||
|
│ │ ├── pong.rs
|
||||||
|
│ │ ├── todowrite.rs
|
||||||
|
│ │ └── todofinish.rs
|
||||||
|
│ ├── lsp/ # LSP tools (connect, diagnostics, hover, etc.)
|
||||||
|
│ │ └── mod.rs
|
||||||
│ └── shell_filter/ # Shell output filtering (credentials, git)
|
│ └── shell_filter/ # Shell output filtering (credentials, git)
|
||||||
├── view/ # TUI rendering
|
│ ├── credentials.rs
|
||||||
│ ├── chat.rs # Chat transcript with markdown
|
│ ├── git.rs
|
||||||
│ ├── markdown.rs # Markdown → ratatui spans
|
│ └── mod.rs
|
||||||
│ ├── status.rs # Status bar
|
└── view/ # TUI rendering
|
||||||
│ ├── theme.rs # Color scheme
|
├── chat.rs # Chat transcript with markdown
|
||||||
│ └── workflow.rs # Workflow visualization
|
├── markdown.rs # Markdown → ratatui spans
|
||||||
└── resources.rs # Embedded resources (help text, system prompts)
|
├── status.rs # Status bar
|
||||||
|
├── theme.rs # Color scheme
|
||||||
|
└── workflow.rs # Workflow visualization
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
Reference in New Issue
Block a user