Files
owlen/crates/app/ui
vikingowl 84fa08ab45 feat(plan): Add plan execution system with external tool support
Plan Execution System:
- Add PlanStep, AccumulatedPlan types for multi-turn tool call accumulation
- Implement AccumulatedPlanStatus for tracking plan lifecycle
- Support selective approval of proposed tool calls before execution

External Tools Integration:
- Add ExternalToolDefinition and ExternalToolTransport to plugins crate
- Extend ToolContext with external_tools registry
- Add external_tool_to_llm_tool conversion for LLM compatibility

JSON-RPC Communication:
- Add jsonrpc crate for JSON-RPC 2.0 protocol support
- Enable stdio-based communication with external tool servers

UI & Engine Updates:
- Add plan_panel.rs component for displaying accumulated plans
- Wire plan mode into engine loop
- Add plan mode integration tests

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-26 22:47:54 +01:00
..

Owlen UI

A Terminal User Interface (TUI) for the Owlen AI agent, built with Ratatui.

Features

  • Rich Text Rendering: Markdown support with syntax highlighting for code blocks.
  • Interactive Components: Intuitive panels for chat, tool execution, and session status.
  • Real-time Streaming: Smooth display of agent output as it's generated.
  • Task Visualization: Dedicated view for tracking the agent's progress through a task list.

Architecture

The UI is built using an event-driven architecture integrated with the agent-core event stream. It leverages ratatui for terminal rendering and crossterm for event handling.

Components

  • ChatPanel: Displays the conversation history.
  • TaskPanel: Shows the current implementation plan and task status.
  • ToolPanel: Visualizes active tool executions and their output.
  • ModelPicker: Allows selecting between available LLM providers and models.