ares-server 0.10.0

ARES agent server with multi-provider LLM support, tool calling, RAG, and MCP integration
Documentation
{"version": 2, "width": 100, "height": 34, "timestamp": 1787642116, "env": {"SHELL": null, "TERM": "dumb"}}
[1.4, "o", "\r\n$ ares-server init --minimal\r\n"]
[3.8, "o", "   \u001b[1m\u001b[96m    _    ____  _____ ____  \u001b[39m\u001b[0m\r\n   \u001b[1m\u001b[96m   / \\  |  _ \\| ____/ ___| \u001b[39m\u001b[0m\r\n   \u001b[1m\u001b[36m  / _ \\ | |_) |  _| \\___ \\ \u001b[39m\u001b[0m\r\n   \u001b[1m\u001b[34m / ___ \\|  _ <| |___ ___) |\u001b[39m\u001b[0m\r\n   \u001b[1m\u001b[34m/_/   \\_\\_| \\_\\_____|____/ \u001b[39m\u001b[0m\r\n   \u001b[1m\u001b[97mAgentic Runtime Extensible Server\u001b[39m\u001b[0m \u001b[2mv0.9.1\u001b[0m\r\n  \u001b[4m\u001b[1m\u001b[97mInitializing A.R.E.S Project\u001b[39m\u001b[0m\u001b[0m\r\n  \u001b[1m\u001b[36mCreating directories\u001b[39m\u001b[0m\r\n  \u001b[1m\u001b[32m\u2713\u001b[39m\u001b[0m \u001b[2mdirectory\u001b[0m \u001b[97mdata\u001b[39m\r\n  \u001b[1m\u001b[32m\u2713\u001b[39m\u001b[0m \u001b[2mdirectory\u001b[0m \u001b[97mconfig\u001b[39m\r\n  \u001b[1m\u001b[32m\u2713\u001b[39m\u001b[0m \u001b[2mdirectory\u001b[0m \u001b[97mconfig/agents\u001b[39m\r\n  \u001b[1m\u001b[32m\u2713\u001b[39m\u001b[0m \u001b[2mdirectory\u001b[0m \u001b[97mconfig/models\u001b[39m\r\n  \u001b[1m\u001b[32m\u2713\u001b[39m\u001b[0m \u001b[2mdirectory\u001b[0m \u001b[97mconfig/tools\u001b[39m\r\n  \u001b[1m\u001b[32m\u2713\u001b[39m\u001b[0m \u001b[2mdirectory\u001b[0m \u001b[97mconfig/workflows\u001b[39m\r\n  \u001b[1m\u001b[32m\u2713\u001b[39m\u001b[0m \u001b[2mdirectory\u001b[0m \u001b[97mconfig/mcps\u001b[39m\r\n  \u001b[1m\u001b[36mCreating configuration files\u001b[39m\u001b[0m\r\n  \u001b[1m\u001b[32m\u2713\u001b[39m\u001b[0m \u001b[2mconfig\u001b[0m \u001b[97mares.toml\u001b[39m\r\n  \u001b[1m\u001b[32m\u2713\u001b[39m\u001b[0m \u001b[2menv\u001b[0m \u001b[97m.env.example\u001b[39m\r\n  \u001b[1m\u001b[36mCreating example configurations\u001b[39m\u001b[0m\r\n  \u001b[1m\u001b[32m\u2713\u001b[39m\u001b[0m \u001b[2mmodel\u001b[0m \u001b[97mconfig/models/fast.toon\u001b[39m\r\n  \u001b[1m\u001b[32m\u2713\u001b[39m\u001b[0m \u001b[2mmodel\u001b[0m \u001b[97mconfig/models/balanced.toon\u001b[39m\r\n  \u001b[1m\u001b[32m\u2713\u001b[39m\u001b[0m \u001b[2mmodel\u001b[0m \u001b[97mconfig/models/powerful.toon\u001b[39m\r\n  \u001b[1m\u001b[32m\u2713\u001b[39m\u001b[0m \u001b[2magent\u001b[0m \u001b[97mconfig/agents/router.toon\u001b[39m\r\n  \u001b[1m\u001b[32m\u2713\u001b[39m\u001b[0m \u001b[2magent\u001b[0m \u001b[97mconfig/agents/orchestrator.toon\u001b[39m\r\n  \u001b[1m\u001b[32m\u2713\u001b[39m\u001b[0m \u001b[2mtool\u001b[0m \u001b[97mconfig/tools/calculator.toon\u001b[39m\r\n  \u001b[1m\u001b[32m\u2713\u001b[39m\u001b[0m \u001b[2mtool\u001b[0m \u001b[97mconfig/tools/web_search.toon\u001b[39m\r\n  \u001b[1m\u001b[32m\u2713\u001b[39m\u001b[0m \u001b[2mworkflow\u001b[0m \u001b[97mconfig/workflows/default.toon\u001b[39m\r\n  \u001b[1m\u001b[32m\u2713\u001b[39m\u001b[0m \u001b[2mworkflow\u001b[0m \u001b[97mconfig/workflows/research.toon\u001b[39m\r\n  \u001b[1m\u001b[32m\u2713\u001b[39m\u001b[0m \u001b[2mfile\u001b[0m \u001b[97m.gitignore\u001b[39m\r\n  \u001b[32m\ud83d\ude80\u001b[39m \u001b[1m\u001b[92mA.R.E.S project initialized successfully!\u001b[39m\u001b[0m\r\n  \u001b[4m\u001b[1m\u001b[97mNext Steps\u001b[39m\u001b[0m\u001b[0m\r\n  \u001b[34m\u2022\u001b[39m 1. Set up environment variables:\r\n     \u001b[96m$ cp .env.example .env\u001b[39m\r\n     \u001b[96m$ # Edit .env and set JWT_SECRET (min 32 chars) and API_KEY\u001b[39m\r\n  \u001b[34m\u2022\u001b[39m 2. Start Ollama (if not running):\r\n     \u001b[96m$ ollama serve\u001b[39m\r\n     \u001b[96m$ ollama pull ministral-3:3b  # or your preferred model\u001b[39m\r\n  \u001b[34m\u2022\u001b[39m 3. Start the server:\r\n     \u001b[96m$ ares-server\u001b[39m\r\n  \u001b[2m\ud83d\udca1\u001b[0m \u001b[3m\u001b[2mServer will be available at http://127.0.0.1:3000\u001b[0m\u001b[0m\r\n  \u001b[2m\ud83d\udca1\u001b[0m \u001b[3m\u001b[2mAPI docs available at /swagger-ui/ (requires 'swagger-ui' feature)\u001b[0m\u001b[0m\r\n  \u001b[2m\ud83d\udca1\u001b[0m \u001b[3m\u001b[2mBuild with: cargo build --features swagger-ui\u001b[0m\u001b[0m\r\n"]
[4.7, "o", "   \u2192 one command scaffolds config/, agents, models, tools, workflows\r\n"]
[5.7, "o", "\r\n$ ares-server init --minimal   # again \u2014 guarded\r\n"]
[6.6, "o", "   \u001b[1m\u001b[96m    _    ____  _____ ____  \u001b[39m\u001b[0m\r\n   \u001b[1m\u001b[96m   / \\  |  _ \\| ____/ ___| \u001b[39m\u001b[0m\r\n   \u001b[1m\u001b[36m  / _ \\ | |_) |  _| \\___ \\ \u001b[39m\u001b[0m\r\n   \u001b[1m\u001b[34m / ___ \\|  _ <| |___ ___) |\u001b[39m\u001b[0m\r\n   \u001b[1m\u001b[34m/_/   \\_\\_| \\_\\_____|____/ \u001b[39m\u001b[0m\r\n   \u001b[1m\u001b[97mAgentic Runtime Extensible Server\u001b[39m\u001b[0m \u001b[2mv0.9.1\u001b[0m\r\n  \u001b[4m\u001b[1m\u001b[97mInitializing A.R.E.S Project\u001b[39m\u001b[0m\u001b[0m\r\n  \u001b[1m\u001b[33m\u26a0\u001b[39m\u001b[0m \u001b[33mares.toml already exists!\u001b[39m\r\n  \u001b[2m\ud83d\udca1\u001b[0m \u001b[3m\u001b[2mUse --force to overwrite existing files\u001b[0m\u001b[0m\r\n"]
[7.5, "o", "   \u2192 refuses to clobber an existing project\r\n"]
[8.5, "o", "\r\n$ ares-server config --validate\r\n"]
[9.8, "o", "   \u001b[1m\u001b[96m    _    ____  _____ ____  \u001b[39m\u001b[0m\r\n   \u001b[1m\u001b[96m   / \\  |  _ \\| ____/ ___| \u001b[39m\u001b[0m\r\n   \u001b[1m\u001b[36m  / _ \\ | |_) |  _| \\___ \\ \u001b[39m\u001b[0m\r\n   \u001b[1m\u001b[34m / ___ \\|  _ <| |___ ___) |\u001b[39m\u001b[0m\r\n   \u001b[1m\u001b[34m/_/   \\_\\_| \\_\\_____|____/ \u001b[39m\u001b[0m\r\n   \u001b[1m\u001b[97mAgentic Runtime Extensible Server\u001b[39m\u001b[0m \u001b[2mv0.9.1\u001b[0m\r\n  \u001b[1m\u001b[32m\u2713\u001b[39m\u001b[0m \u001b[32mConfiguration is valid!\u001b[39m\r\n  \u001b[4m\u001b[1m\u001b[97mConfiguration Summary\u001b[39m\u001b[0m\u001b[0m\r\n    \u001b[2mConfig file\u001b[0m: \u001b[97mares.toml\u001b[39m\r\n    \u001b[2mServer\u001b[0m: \u001b[97m127.0.0.1:3977\u001b[39m\r\n    \u001b[2mLog level\u001b[0m: \u001b[97minfo\u001b[39m\r\n  \u001b[1m\u001b[36mProviders\u001b[39m\u001b[0m\r\n    \u001b[34m\u2022\u001b[39m ollama-local\r\n  \u001b[1m\u001b[36mModels\u001b[39m\u001b[0m\r\n  \u001b[1m\u001b[36mAgents\u001b[39m\u001b[0m\r\n    \u001b[34m\u2022\u001b[39m router\r\n    \u001b[34m\u2022\u001b[39m orchestrator\r\n  \u001b[1m\u001b[36mTools\u001b[39m\u001b[0m\r\n    \u001b[34m\u2022\u001b[39m web_search\r\n    \u001b[34m\u2022\u001b[39m calculator\r\n"]
[10.7, "o", "   \u2192 every provider/model/tool reference resolves before boot\r\n"]
[11.4, "o", "\r\n$ ares-server config -f\r\n"]
[12.9, "o", "   \u001b[1m\u001b[96m    _    ____  _____ ____  \u001b[39m\u001b[0m\r\n   \u001b[1m\u001b[96m   / \\  |  _ \\| ____/ ___| \u001b[39m\u001b[0m\r\n   \u001b[1m\u001b[36m  / _ \\ | |_) |  _| \\___ \\ \u001b[39m\u001b[0m\r\n   \u001b[1m\u001b[34m / ___ \\|  _ <| |___ ___) |\u001b[39m\u001b[0m\r\n   \u001b[1m\u001b[34m/_/   \\_\\_| \\_\\_____|____/ \u001b[39m\u001b[0m\r\n   \u001b[1m\u001b[97mAgentic Runtime Extensible Server\u001b[39m\u001b[0m \u001b[2mv0.9.1\u001b[0m\r\n  \u001b[4m\u001b[1m\u001b[97mConfiguration Summary\u001b[39m\u001b[0m\u001b[0m\r\n    \u001b[2mConfig file\u001b[0m: \u001b[97mares.toml\u001b[39m\r\n    \u001b[2mServer\u001b[0m: \u001b[97m127.0.0.1:3977\u001b[39m\r\n    \u001b[2mLog level\u001b[0m: \u001b[97minfo\u001b[39m\r\n  \u001b[1m\u001b[36mProviders\u001b[39m\u001b[0m\r\n    \u001b[34m\u2022\u001b[39m ollama-local\r\n  \u001b[1m\u001b[36mModels\u001b[39m\u001b[0m\r\n  \u001b[1m\u001b[36mAgents\u001b[39m\u001b[0m\r\n    \u001b[34m\u2022\u001b[39m router\r\n    \u001b[34m\u2022\u001b[39m orchestrator\r\n  \u001b[1m\u001b[36mTools\u001b[39m\u001b[0m\r\n    \u001b[34m\u2022\u001b[39m web_search\r\n    \u001b[34m\u2022\u001b[39m calculator\r\n  \u001b[1m\u001b[36mWorkflows\u001b[39m\u001b[0m\r\n    \u001b[34m\u2022\u001b[39m default\r\n"]
[13.6, "o", "\r\n$ ares-server agent list\r\n"]
[14.8, "o", "   \u001b[1m\u001b[96m    _    ____  _____ ____  \u001b[39m\u001b[0m\r\n   \u001b[1m\u001b[96m   / \\  |  _ \\| ____/ ___| \u001b[39m\u001b[0m\r\n   \u001b[1m\u001b[36m  / _ \\ | |_) |  _| \\___ \\ \u001b[39m\u001b[0m\r\n   \u001b[1m\u001b[34m / ___ \\|  _ <| |___ ___) |\u001b[39m\u001b[0m\r\n   \u001b[1m\u001b[34m/_/   \\_\\_| \\_\\_____|____/ \u001b[39m\u001b[0m\r\n   \u001b[1m\u001b[97mAgentic Runtime Extensible Server\u001b[39m\u001b[0m \u001b[2mv0.9.1\u001b[0m\r\n  \u001b[4m\u001b[1m\u001b[97mConfigured Agents\u001b[39m\u001b[0m\u001b[0m\r\n    \u001b[1m\u001b[97mName            Model           Tools          \u001b[39m\u001b[0m\r\n    \u001b[2m\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u001b[0m\r\n    router          meta/llama-3.3-70b-instruct -              \r\n    orchestrator    meta/llama-3.3-70b-instruct calculator, web_search\r\n"]
[15.5, "o", "\r\n$ ares-server agent show orchestrator\r\n"]
[16.7, "o", "   \u001b[1m\u001b[96m    _    ____  _____ ____  \u001b[39m\u001b[0m\r\n   \u001b[1m\u001b[96m   / \\  |  _ \\| ____/ ___| \u001b[39m\u001b[0m\r\n   \u001b[1m\u001b[36m  / _ \\ | |_) |  _| \\___ \\ \u001b[39m\u001b[0m\r\n   \u001b[1m\u001b[34m / ___ \\|  _ <| |___ ___) |\u001b[39m\u001b[0m\r\n   \u001b[1m\u001b[34m/_/   \\_\\_| \\_\\_____|____/ \u001b[39m\u001b[0m\r\n   \u001b[1m\u001b[97mAgentic Runtime Extensible Server\u001b[39m\u001b[0m \u001b[2mv0.9.1\u001b[0m\r\n  \u001b[4m\u001b[1m\u001b[97mAgent: orchestrator\u001b[39m\u001b[0m\u001b[0m\r\n    \u001b[2mModel\u001b[0m: \u001b[97mmeta/llama-3.3-70b-instruct\u001b[39m\r\n    \u001b[2mMax tool iterations\u001b[0m: \u001b[97m10\u001b[39m\r\n    \u001b[2mParallel tools\u001b[0m: \u001b[97mfalse\u001b[39m\r\n  \u001b[1m\u001b[36mTools\u001b[39m\u001b[0m\r\n    \u001b[34m\u2022\u001b[39m calculator\r\n    \u001b[34m\u2022\u001b[39m web_search\r\n  \u001b[1m\u001b[36mSystem Prompt\u001b[39m\u001b[0m\r\nYou are an orchestrator agent for complex queries.\r\nCapabilities:\r\n- Break down complex requests\r\n- Perform web searches\r\n- Execute calculations\r\n- Provide comprehensive answers\r\nBe helpful, accurate, and thorough.\r\n"]
[17.4, "o", "\r\n$ ares-server agent show router\r\n"]
[18.6, "o", "   \u001b[1m\u001b[96m    _    ____  _____ ____  \u001b[39m\u001b[0m\r\n   \u001b[1m\u001b[96m   / \\  |  _ \\| ____/ ___| \u001b[39m\u001b[0m\r\n   \u001b[1m\u001b[36m  / _ \\ | |_) |  _| \\___ \\ \u001b[39m\u001b[0m\r\n   \u001b[1m\u001b[34m / ___ \\|  _ <| |___ ___) |\u001b[39m\u001b[0m\r\n   \u001b[1m\u001b[34m/_/   \\_\\_| \\_\\_____|____/ \u001b[39m\u001b[0m\r\n   \u001b[1m\u001b[97mAgentic Runtime Extensible Server\u001b[39m\u001b[0m \u001b[2mv0.9.1\u001b[0m\r\n  \u001b[4m\u001b[1m\u001b[97mAgent: router\u001b[39m\u001b[0m\u001b[0m\r\n    \u001b[2mModel\u001b[0m: \u001b[97mmeta/llama-3.3-70b-instruct\u001b[39m\r\n    \u001b[2mMax tool iterations\u001b[0m: \u001b[97m1\u001b[39m\r\n    \u001b[2mParallel tools\u001b[0m: \u001b[97mfalse\u001b[39m\r\n  \u001b[1m\u001b[36mSystem Prompt\u001b[39m\u001b[0m\r\nYou are a routing agent that classifies user queries.\r\nAvailable agents:\r\n- orchestrator: General purpose agent for complex queries\r\nRespond with ONLY the agent name (one word, lowercase).\r\n"]
[19.3, "o", "\r\n$ ares-server rag ingest-dir --collection knowledge \u2026   # bad path\r\n"]
[20.2, "o", "Error: \"docs path is not a directory: ./missing-docs\"\r\n"]
[21.1, "o", "   \u2192 bad input refused before any network call\r\n"]
[21.8, "o", "\r\n$ ares-server rag ingest-dir --collection knowledge \u2026   # unauthenticated\r\n"]
[22.9, "o", "login failed: HTTP 401 Unauthorized\r\nError: \"ARES login failed\"\r\n"]
[23.8, "o", "   \u2192 fails closed \u2014 per-document audit trail, nothing half-ingested\r\n"]
[24.5, "o", "\r\n$ ares-server rag search --collection knowledge --query \"rust agentic\" \u2026\r\n"]
[25.6, "o", "login failed: HTTP 401 Unauthorized\r\nError: \"ARES login failed\"\r\n"]
[26.5, "o", "   \u2192 same fail-closed story on the search path\r\n"]
[27.3, "o", "\r\n$ ares-server --help   # supervision built in\r\n"]
[28.4, "o", "A production-grade agentic chatbot server with multi-provider LLM support,\r\ntool calling, RAG (Retrieval Augmented Generation), and MCP integration.\r\nRun without arguments to start the server, or use 'init' to scaffold a new project.\r\nUsage: ares-server [OPTIONS] [COMMAND]\r\nCommands:\r\n  init    Initialize a new A.R.E.S project with configuration files\r\n  config  Show configuration information\r\n  agent   Manage agents\r\n  rag     Ingest and search RAG collections through the ARES API\r\n  help    Print this message or the help of the given subcommand(s)\r\nOptions:\r\n  -c, --config <CONFIG>\r\n          Path to the configuration file\r\n          \r\n          [default: ares.toml]\r\n  -v, --verbose\r\n          Enable verbose output\r\n      --no-color\r\n          Disable colored output\r\n      --mcp\r\n          Start in MCP server mode (stdio transport for Claude Desktop, Cursor, etc.)\r\n      --supervise\r\n          Run the server under the built-in supervisor: respawn on hot-restart exits (51), stop on clean exits, surface boot failures (53) non-zero\r\n  -h, --help\r\n          Print help (see a summary with '-h')\r\n  -V, --version\r\n          Print version\r\nEXAMPLES:\r\n    ares-server init              # Scaffold a new A.R.E.S project\r\n    ares-server init --minimal    # Scaffold with minimal configuration\r\n    ares-server                   # Start the server (requires ares.toml)\r\n    ares-server --config my.toml  # Use a custom config file\r\n"]
[29.3, "o", "   \u2192 --supervise: respawn on hot-restart exits (51), stop on clean exits, boot failures (53) surface non-zero\r\n"]
[29.8, "o", "\u001b[H\u001b[2J\u001b[3J"]
[31.0, "o", "\u001b[1;36m\u2550\u2550\u2550 One binary. Every capability a managed fiber. \u2550\u2550\u2550\u001b[0m\r\n"]
[32.4, "o", "\u001b[2mares-server init \u00b7 config \u00b7 agent \u00b7 rag \u00b7 --supervise\u001b[0m\r\n"]
[34.0, "o", "\u001b[2mcrates.io: ares-server 0.9.1 \u00b7 ares-cordis 0.9.1\u001b[0m\r\n"]