AgentX 1.2.4
dotnet tool install --global AgentX --version 1.2.4
dotnet new tool-manifest
dotnet tool install --local AgentX --version 1.2.4
#tool dotnet:?package=AgentX&version=1.2.4
nuke :add-package AgentX --version 1.2.4
AgentX
A terminal-based AI agent console with multi-agent workflows, RAG document indexing, and streaming chat.
Supported Providers
| Provider | Default Model | Auth |
|---|---|---|
| OpenAI | gpt-4o-mini |
API key |
| Google Gemini | gemini-2.0-flash |
API key |
| Anthropic | claude-sonnet-4-20250514 |
API key |
| Ollama (local) | llama3.2 |
None (local) |
| n8n (webhook) | — | Basic Auth |
Note: RAG embeddings use an OpenAI-compatible provider (OpenAI, Gemini, or Ollama) by default. For Anthropic and n8n, AgentX will offer to download a local embedding model (~137 MB, Nomic Embed Text v1.5) on first use — no API key required.
Install
dotnet tool install -g AgentX
Quick Start
# Launch interactive mode — first run will prompt you to pick a provider
agx
# Or configure via CLI
agx setup set-provider openai
agx setup set-key sk-...
agx setup set-model gpt-4o
# Use CLI commands directly
agx agent list
If you launch agx without a provider configured, it will walk you through selecting a provider (OpenAI, Gemini, Ollama, Anthropic, or n8n), entering credentials, and choosing a model interactively.
All data (databases, config, documents) is stored in ~/.agentx/.
Demo
Workflows & Agents
RAG Document Indexing
RAG Search
Commands
Setup
# Set your AI provider (openai, gemini, ollama, anthropic, n8n)
agx setup set-provider openai
# Set your API key (input is hidden)
agx setup set-key <your-api-key>
# Set the model
agx setup set-model gpt-4o
# Run database migrations (required after upgrading to a new version)
agx setup migrate
# Install shell tab-completion (zsh, bash, fish)
agx setup completions
Provider-specific setup
Ollama — no API key needed, just a base URL:
agx setup set-provider ollama
# Default: http://localhost:11434
n8n — uses a webhook URL with Basic Auth:
agx setup set-provider n8n
# You'll be prompted for the webhook URL, username, and password
Agents
# List all agents
agx agent list
# Create an agent with a system prompt
agx agent create "Summarizer" -i "You summarize text concisely."
# Edit an agent's instructions
agx agent edit <agent-id> -i "New instructions here."
# Delete an agent
agx agent delete <agent-id>
agx agent delete <agent-id> --force # skip confirmation
Workflows
Workflows chain agents together in sequence.
# List all workflows
agx workflow list
# Create a workflow with one or more agents (sequential)
agx workflow create "Research Pipeline" -a <agent-id-1> <agent-id-2>
# Edit a workflow's agent sequence
agx workflow edit <workflow-id> -a <agent-id-3> <agent-id-1>
# Delete a workflow
agx workflow delete <workflow-id>
agx workflow delete <workflow-id> --force
Chat
# List all chat sessions (shows pinned folders)
agx chat list
# Start a new chat (interactive mode)
agx chat start "My Chat" -w <workflow-id>
# Start a chat with pinned folders for scoped RAG
agx chat start "Infra Help" --folder azure-docs --folder infra-guides
# Start a chat with a single message (non-interactive)
agx chat start "Quick Question" -w <workflow-id> -m "What is RAG?"
# Resume an existing chat (interactive)
agx chat resume <chat-id>
# Resume and send a single message
agx chat resume <chat-id> -m "Follow-up question"
# Pin/unpin folders on an existing chat
agx chat pin-folder <chat-id> azure-docs
agx chat unpin-folder <chat-id> azure-docs
# Show pinned folders for a chat
agx chat pins <chat-id>
# View chat history
agx chat history <chat-id>
agx chat history <chat-id> -n 10 # last 10 messages
# Delete a chat session
agx chat delete <chat-id>
agx chat delete <chat-id> --force
Slash Commands (in interactive chat)
While in a chat session, you can manage folder pins without leaving:
/pin azure-docs # pin a folder
/unpin azure-docs # unpin a folder
/pins # show current pins
RAG Documents
Place documents in ~/.agentx/Documents/. Supported formats: PDF, DOCX, PPTX, TXT, MD.
# List documents and their index status
agx doc list
# Index one or more documents for retrieval
agx doc index report.pdf slides.pptx
# Index directly into a folder
agx doc index report.pdf slides.pptx --folder quarterly-reports
# Remove documents from the index
agx doc unindex report.pdf
# Search indexed documents
agx doc search "quarterly revenue"
agx doc search "machine learning" -k 10 # top 10 results
Document Folders
Folders let you group indexed documents so you can scope RAG to specific collections per chat.
# Create a folder
agx doc folder create azure-docs
# List all folders
agx doc folder list
# Add already-indexed files to a folder
agx doc folder add azure-docs AzureDevOps.md AzurePipelines.pdf
# Show files in a folder
agx doc folder show azure-docs
# Remove a file from a folder (file stays indexed)
agx doc folder remove azure-docs AzurePipelines.pdf
# Delete a folder (files stay indexed, only the grouping is removed)
agx doc folder delete azure-docs
Interactive Mode
RAG Documents
Running agx with no arguments launches a full interactive TUI with menus for:
- Managing agents and workflows
- Starting and resuming chats (with optional folder pinning)
- RAG document indexing, search, and folder management
- Settings — change provider, API key (masked input), model, n8n credentials, and Azure DevOps configuration
When starting a new chat in the TUI, you'll be prompted to pin document folders if any exist.
Shell Completions
After running agx setup completions, restart your terminal. Then agx <TAB> auto-completes commands, options, and even entity IDs.
Publishing
# Build and install locally
bash publish.sh
# Publish to NuGet.org
dotnet pack -c Release -o ./nupkg
dotnet nuget push ./nupkg/AgentX.*.nupkg --api-key YOUR_NUGET_KEY --source https://api.nuget.org/v3/index.json
Features
- Multi-provider support — OpenAI, Google Gemini, Anthropic, Ollama (local), and n8n webhooks
- Built-in agents — ship with function tools that other agents in a workflow can delegate to (see AgentDocs/ for details)
- Multi-agent sequential workflows
- RAG with PDF, DOCX, PPTX, TXT, and Markdown support
- Document folders — group indexed docs into named collections
- Per-chat folder pinning — scope RAG retrieval to specific folders per chat session
- Streaming chat with conversation history
- SQLite and PostgreSQL-backed persistence in
~/.agentx/ - Shell tab-completion with dynamic entity ID suggestions
- Interactive TUI and CLI modes
- First-run provider selection wizard — no manual file editing needed
- Sensitive values masked in the interactive Settings menu
- Graceful emoji fallback on terminals that don't support Unicode emoji
Built-in Agents
AgentX ships with built-in agents available out of the box when configured. Each is a dedicated AIAgent with function tools that other agents in a workflow can delegate to.
| Agent | Slug | Description | Docs |
|---|---|---|---|
| Azure DevOps | azure-devops |
Work items, Git, PRs, builds, pipelines, teams, sprints, tests | AgentDocs/AzureDevOps.md |
Built-in agents appear in agx agent list once configured and can be added to any workflow.
Upgrading
After updating to a new version, run the migration command to update your local database schema:
agx setup migrate
This is safe to run multiple times — it only creates tables that don't already exist.
Versions
| Version | Changes |
|---|---|
| 1.2.3 | Document folders, per-chat folder pinning, scoped RAG, agx setup migrate command |
| 1.2.2 | Bug fixes and stability improvements |
| 1.2.1 | Local embedding model support (Nomic Embed v1.5), PostgreSQL backend option, interface-based storage layer |
| 1.2.0 | Database provider selection (agx setup set-db), Npgsql integration |
| 1.1.9 | Azure DevOps built-in agent, shell completions, interactive TUI improvements |
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
This package has no dependencies.