Skip to content

shaharia-lab/agento

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

81 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Agento

Bugs Lines of Code Maintainability Rating Reliability Rating Security Rating Vulnerabilities Release Stars License

carbon (4)

Agento is a local platform for building and interacting with AI agents through a web UI and CLI. It runs on top of the Claude Code CLI already installed on your machine β€” no separate API key or cloud account needed.

You can define agents with custom system prompts and tools, start multi-turn conversations with them, and manage everything from a browser or directly from your terminal.


⭐ If Agento is useful to you, consider starring the repository β€” it helps the project grow and others discover it.


✨ Features

πŸ’¬ Chats β€” Multi-turn conversations with your agents

Start a conversation with any agent you've built and continue it across multiple turns. Sessions are persisted locally so you can pick up right where you left off. Responses stream live via Server-Sent Events β€” no waiting for the full reply. You can favorite important chats and rename their titles inline to keep your workspace organized. Drag-and-drop files or paste images directly into the chat input to share them with the agent.

πŸ—‚οΈ Multi-Chat Workspace β€” Run multiple conversations in parallel

Open several chat sessions simultaneously in a tabbed workspace. Each tab is fully independent with its own agent, session state, and streaming output. Tab state persists across page reloads, so you never lose your place even if you navigate away.

πŸ€– Agent Builder β€” Define custom AI agents

Create agents with a custom name, system prompt, Claude model, and thinking mode (adaptive, enabled, or disabled). Assign exactly which tools each agent can access β€” built-in Claude Code tools, local in-process tools, external MCP servers, or third-party integrations. Agents are saved locally on your machine and can also be defined as YAML files. Template variables like {{current_date}} and {{current_time}} are automatically injected into system prompts at runtime.

Built-in tools available: Read, Write, Edit, Bash, Glob, Grep, WebFetch, WebSearch, Task

πŸ”Œ Integrations β€” Connect external services as agent tools

Turn external services into tools your agents can call directly during a conversation. Each integration runs as an in-process MCP server with no external daemon required.

Supported integrations:

  • Google β€” Calendar (read/create events), Gmail (read/send), Drive (search/read files) via OAuth
  • GitHub β€” Repos, issues, pull requests, Actions workflows, and releases via personal access token
  • Slack β€” Read channels and messages, send messages, search, look up users via bot token
  • Jira β€” Browse projects, search issues with JQL, create and update issues via API token
  • Confluence β€” Read spaces and pages, search with CQL via API token
  • Telegram β€” Send/receive messages, photos, polls, and locations via bot token
πŸ”— External MCP Servers β€” Plug in any MCP-compatible tool server

Extend agents with any MCP server by listing it in ~/.agento/mcps.yaml. Supports all three transports: stdio (subprocess), streamable_http, and sse. Environment variable references (${ENV:VAR_NAME}) keep credentials out of config files. Once registered, MCP tools appear alongside built-in tools in the agent builder and can be selectively assigned per agent.

⏰ Task Scheduler β€” Automate recurring agent jobs

Schedule any agent to run automatically on a cron expression. Agento runs tasks in the background and records the outcome, duration, and output of every execution. Use this for daily summaries, automated reports, periodic file processing, or any workflow you'd otherwise run manually on a schedule.

πŸ“‹ Job History β€” Audit every scheduled run

Every task execution is logged with its start time, duration, exit status, and full agent output. Browse the job history page to review what each agent did, diagnose failures, and track trends over time without digging through log files.

πŸ—„οΈ Claude Sessions β€” Browse your Claude Code session history

Agento automatically scans the Claude Code session JSONL files on your machine and makes them browsable in the UI. View any session's full message history, drill into individual tool calls, and follow the complete session journey from start to finish. Results are cached locally and updated incrementally in the background as new sessions appear.

πŸ“Š Token Usage Analytics β€” Track cost and consumption over time

See exactly how many tokens your Claude sessions are consuming, broken down by input, output, and cache tokens. Charts show trends over your chosen date range, and cost estimates let you stay on top of spending before bills arrive. Filter by model to compare usage across Claude Sonnet, Haiku, and Opus.

πŸ“ˆ General Usage Analytics β€” Understand your session patterns

Visualize how many sessions you're running per day, which models you're using most, and when you're most active via an activity heatmap. Compare any date range to spot growth trends or usage spikes across all your Claude Code work.

πŸ’‘ Insights β€” Productivity metrics for your AI workflow (experimental)

A deeper analytics view that goes beyond raw token counts. Insights computes an Autonomy Score (how independently Claude worked, based on human interruptions), a Productivity Score (composite of autonomy, cache efficiency, and error-free sessions), average tool call counts, session durations, and a top-10 tool usage breakdown. All metrics support period-over-period comparison so you can see whether your agents are becoming more effective over time.

βš™οΈ Settings β€” General, Claude Profiles, Appearance, and more

All configuration lives in a single Settings page organized into tabs:

  • General β€” Set the default working directory and Claude model. Fields locked by environment variables are shown as read-only with the overriding env var name.
  • Claude Settings Profiles β€” Create multiple named Claude settings profiles (each stored as ~/.claude/settings_<slug>.json) and switch between them per agent or per chat. A default profile is auto-created from your existing ~/.claude/settings.json on first launch.
  • Appearance β€” Toggle dark/light mode, choose font size and font family. Changes apply instantly across the entire UI.
  • Notifications β€” Configure SMTP email delivery for task completion and agent events. Test delivery directly from the UI and browse the notification log.
  • Monitoring β€” Configure OpenTelemetry exporters (OTLP gRPC or Prometheus) for traces, metrics, and logs. Hot-reload settings without restarting.
  • Advanced β€” Additional low-level configuration options.
πŸ’» CLI β€” Run agents directly from the terminal

Use agento ask to send a one-shot query to any agent without opening the browser. Pass a session ID as a positional argument to continue an existing conversation. Useful for scripting, quick lookups, or integrating Agento into other shell workflows.

agento ask "What changed in the repo today?"
agento ask --agent my-agent "Follow up" <session-id>
πŸ”„ Auto-Update β€” Stay current with one command

Agento checks for newer releases on startup and shows an amber banner at the top of the UI when an update is available. Dismiss it per-version or run agento update to upgrade in place. The update check is cached for one hour so it doesn't slow down your workflow.

πŸ“‘ Observability β€” OpenTelemetry traces, metrics, and logs

Every HTTP request, agent run, tool call, and storage operation is instrumented with OpenTelemetry spans and metrics. Configure OTLP gRPC export or a Prometheus pull endpoint directly from the Monitoring settings tab β€” no config files or restarts needed. Structured JSON logs are written to ~/.agento/logs/system.log with per-session logs at ~/.agento/logs/sessions/<id>.log.


πŸ’‘ Missing a feature? If there's something you'd like to see in Agento, open an issue on GitHub β€” we'd love to hear from you.


🎬 Demo

See Agento in action across its core features. Click any section below to expand the demo.

πŸ’¬ Chat with an AI Agent

Start a multi-turn conversation with any agent you've built. Responses stream live in the browser via Server-Sent Events, so you see output as it's generated β€” just like a terminal.

demo.webm
πŸ—‚οΈ Multi-Chat Workspace

Open multiple conversations side by side using tabbed workspaces. Each tab maintains its own session state so you can run independent agent tasks in parallel without losing context.

Multi-Tab.Chat.-.Demo.webm
⭐ Favorites & Chat Title

Mark important conversations as favorites and rename chat titles inline β€” keeping your workspace organized without leaving the chat view.

Favorite.and.Chat.Title.Demo.webm
πŸ”Œ Integrations (Google, GitHub, Slack, and more)

Connect external services β€” Google Calendar, Gmail, Drive, GitHub, Slack, Jira, Confluence, and Telegram β€” and expose them as tools your agents can call during a conversation.

Integrations
⏰ Task Scheduler

Schedule agents to run automatically on a cron expression. Each run is logged with full job history so you can review what the agent did, when it ran, and whether it succeeded.

Scheduled Task
πŸ“Š Token Usage Analytics

Track token consumption, cache hit rates, and estimated costs across all your Claude sessions. Charts break down usage by model and time range so you always know where tokens are going.

Token Usage
πŸ“ˆ General Usage Analytics

Visualize session volume over time, per-model breakdowns, and activity heatmaps. A quick way to understand how heavily your agents are being used and when.

General Usage
πŸ—„οΈ Claude Code Session Journey

Browse and replay your Claude Code session history with a full timeline of tool calls, messages, and token usage β€” useful for auditing what an agent actually did during a run.

Claude Code Session Journey
πŸ“‘ Monitoring & Observability

Configure OpenTelemetry exporters for traces, metrics, and logs directly from the Settings UI β€” no config files needed. Works with any OTLP-compatible collector or Prometheus.

Monitoring
πŸ”” Notifications

Set up SMTP email notifications for task completions and agent events. Configure recipients, test delivery, and review the notification log β€” all from the Settings page.

Notifications
🎨 Appearance Settings

Switch between light and dark themes and customize the UI appearance to match your workflow preferences, with changes applied instantly across the entire app.

Appearance Settings

πŸš€ Getting Started

Requirements

  • Claude Code CLI installed and authenticated on your machine
  • Go 1.25+ and Node.js (only required when building from source)

No Anthropic API key is required. Agento uses the Claude Code CLI's existing authentication by default. If you prefer to call the Anthropic API directly, you can set ANTHROPIC_API_KEY as an optional override.

Installation

Download the latest release for your platform from GitHub Releases:

Platform File
Linux (x86_64) agento_Linux_x86_64.tar.gz
Linux (arm64) agento_Linux_arm64.tar.gz
macOS Intel agento_Darwin_x86_64.tar.gz
macOS Apple Silicon agento_Darwin_arm64.tar.gz
Windows (x86_64) agento_Windows_x86_64.zip

Extract the archive and move the agento binary to a directory in your PATH:

tar -xzf agento_Linux_x86_64.tar.gz
sudo mv agento /usr/local/bin/

Homebrew:

brew install shaharia-lab/tap/agento

Build from source (requires Go 1.25+ and Node.js):

git clone https://github.com/shaharia-lab/agento.git
cd agento
make build

Quick Start

agento web

This starts Agento on port 8990 and opens your browser automatically. To skip the browser:

agento web --no-browser

To use a different port:

agento web --port 3000

βš™οΈ Configuration

No configuration is required. Agento works out of the box using your local Claude Code setup. All settings are optional and can be overridden with environment variables:

Environment variables
Variable Default Description
PORT 8990 HTTP server port
AGENTO_DATA_DIR ~/.agento Root directory for agents, chats, and logs. Supports ~ expansion
LOG_LEVEL info Log verbosity: debug, info, warn, error
ANTHROPIC_API_KEY β€” Use the Anthropic API directly instead of Claude Code CLI authentication
AGENTO_DEFAULT_MODEL (Claude default) Lock the Claude model used for direct chat sessions
AGENTO_WORKING_DIR /tmp/agento/work Default working directory for agent sessions
OTEL_EXPORTER_OTLP_ENDPOINT β€” OTLP gRPC collector endpoint (e.g. localhost:4317). Can also be configured via Settings UI
OTEL_METRICS_EXPORTER β€” otlp (push) or prometheus (pull via /metrics)
OTEL_LOGS_EXPORTER β€” otlp

Logs are written in JSON format to ~/.agento/logs/system.log. Per-session logs are at ~/.agento/logs/sessions/<session-id>.log. Set LOG_LEVEL=debug to include HTTP request logs.


πŸ’» CLI Reference

agento web β€” Start the web UI
Usage:
  agento web [flags]

Flags:
      --no-browser   Do not automatically open the browser on startup
      --port int     HTTP server port (overrides PORT env var) (default 8990)
agento ask β€” Query an agent from the terminal
Usage:
  agento ask [flags] <question> [session-id]

Flags:
      --agent string        Agent slug to use
      --agents-dir string   Directory containing agent YAML files (overrides AGENTO_DATA_DIR)
      --mcps-file string    Path to the MCP registry YAML file (overrides AGENTO_DATA_DIR)
      --no-thinking         Disable extended thinking

Examples:
  agento ask "What is 2+2?"
  agento ask --agent hello-world "What time is it?"
  agento ask --agent hello-world "Follow up" <session-uuid>
  agento ask --agent hello-world --no-thinking "Quick question"
agento update β€” Update to the latest release
Usage:
  agento update [flags]

Flags:
  -y, --yes    Skip confirmation prompt

πŸ“š Additional Resources

  • Getting Started β€” Detailed setup and first-run walkthrough
  • Agents β€” Building and configuring custom agents with system prompts, models, tools, and template variables
  • Integrations β€” Connecting Google, GitHub, Slack, Jira, Confluence, and Telegram as agent tools
  • Monitoring β€” Setting up OpenTelemetry traces, metrics, and logs
  • Development β€” Architecture overview, local setup, and contribution guidelines

πŸ“„ License

MIT. Maintained by Shaharia Lab.

About

Production ready Personal AI Agent Platform using Claude Code CLI. Focused on productivity, reliability and security at it's core

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages