Expand description
Agent Commander - Main library interface A Rust library to control agents enclosed in CLI commands
Supports multiple CLI agents:
- claude: Anthropic Claude Code CLI
- codex: OpenAI Codex CLI
- opencode: OpenCode CLI
- agent: @link-assistant/agent (OpenCode fork with native permission modes)
- qwen: Qwen Code CLI
- gemini: Gemini CLI
Re-exports§
pub use cli_parser::parse_args;pub use cli_parser::parse_start_agent_args;pub use cli_parser::parse_stop_agent_args;pub use cli_parser::show_start_agent_help;pub use cli_parser::show_stop_agent_help;pub use cli_parser::validate_start_agent_options;pub use cli_parser::validate_stop_agent_options;pub use cli_parser::StartAgentOptions;pub use cli_parser::StopAgentOptions;pub use cli_parser::ValidationResult;pub use command_builder::build_agent_command;pub use command_builder::build_docker_stop_command;pub use command_builder::build_piped_command;pub use command_builder::build_screen_stop_command;pub use command_builder::read_only_unsupported_error;pub use command_builder::supports_read_only;pub use command_builder::AgentCommandOptions;pub use permissions::ask_scope;pub use permissions::ask_unsupported_error;pub use permissions::build_permission_response;pub use permissions::normalize_permission_request;pub use permissions::permission_parity;pub use permissions::supports_ask;pub use permissions::NormalizedPermissionRequest;pub use permissions::PermissionParityRow;pub use permissions::PermissionRelay;pub use permissions::ASK_DECISIONS;pub use permissions::ASK_SUPPORTED_TOOLS;pub use executor::execute_command;pub use executor::execute_detached;pub use executor::setup_signal_handler;pub use executor::start_command;pub use executor::ExecutionResult;pub use executor::ProcessHandle;pub use result_metadata::build_normalized_result_metadata;pub use result_metadata::BuildMetadataOptions;pub use result_metadata::PricingInfo;pub use result_metadata::ResultMetadata;pub use streaming::create_input_stream;pub use streaming::create_output_stream;pub use streaming::parse_ndjson;pub use streaming::parse_ndjson_line;pub use streaming::stringify_ndjson;pub use streaming::stringify_ndjson_line;pub use streaming::JsonInputStream;pub use streaming::JsonOutputStream;pub use streaming::ParseError;pub use tools::get_tool;pub use tools::is_tool_supported;pub use tools::list_tools;pub use tools::AgentTool;pub use tools::ClaudeTool;pub use tools::CodexTool;pub use tools::OpencodeTool;pub use tools::Tool;pub use tools::ToolRegistry;
Modules§
- cli_
parser - Parse CLI arguments Simple argument parser without external dependencies
- command_
builder - Build command strings for different agent tools
- executor
- Execute commands using tokio
- permissions
- Permission normalization and relay for the uniform per-command approval (“ask”) mode.
- result_
metadata - Normalized result metadata for tool-specific agent output.
- streaming
- JSON Streaming utilities Support for NDJSON (Newline Delimited JSON) input and output
- tools
- Tool configurations and utilities Provides configuration for different CLI agents: claude, codex, opencode, agent, gemini, qwen
- tui
- Interactive terminal launch and capture for supported agent clients.
Structs§
- Agent
- Agent controller
- Agent
Options - Agent options for creating a controller
- Agent
Result - Agent result from stop()
- Agent
Start Options - Agent start options
- Agent
Stop Options - Agent stop options
Functions§
- agent
- Create an agent controller (convenience function)