Skip to main content

Jacky CLI

divider

Jacky CLI

AI CLI, Automate.

Typing SVG

License: MIT Author Fork of Hermes Agent status views

中文 اردو Español

Designer / Author: Maturi Jaswanth Sai Madhu Mohan

Built on Hermes Agent by Nous Research. Jacky CLI is a personalized, distinct distribution of Nous Research's MIT-licensed Hermes Agent — full credit and thanks to the Nous Research team for the original agent, its tool-calling architecture, and its self-improving skill system. This fork keeps that foundation and adds: a bundled offensive-security / bug-bounty hunt-loop methodology (skills/, METHODOLOGY.md), a one-command setup.sh bootstrap, and CLI ergonomics tuned around dual local + cloud model use. If you're looking for the upstream project, it's at github.com/NousResearch/hermes-agent.

divider

Quick Start

git clone https://github.com/jaswanthsai1/jacky-cli.git
cd jacky-cli
./setup.sh
jacky

setup.sh creates a virtual environment, installs Jacky CLI into it, copies .env.example.env, links the jacky command onto your PATH, and — before declaring success — actually runs jacky --help to prove the install works.

Windows (native, PowerShell):

git clone https://github.com/jaswanthsai1/jacky-cli.git
cd jacky-cli
powershell -ExecutionPolicy ByPass -File scripts\install.ps1

See website/docs/user-guide/windows-native.md for the native Windows feature matrix.

📖 Full documentation →  |  🎯 Hunt-loop methodology →

divider

What Jacky can do

Dual local + cloud model supportRun entirely offline against Ollama and any GGUF model — zero API cost, nothing leaves your machine — or point it at any OpenAI-compatible cloud provider (OpenRouter, direct OpenAI/Anthropic, Google AI Studio, and more). Switch providers any time with jacky model, no code changes.
Bundled offensive-security methodologyShips with a real bug-bounty / red-team hunt-loop doctrine under skills/: scope → recon → rank → enumerate → test → validate → chain → report, plus finding-validation gates, evidence-hygiene discipline, and report-writing formulas. See METHODOLOGY.md.
A closed learning loopAgent-curated memory with periodic nudges. Autonomous skill creation after complex tasks — skills self-improve during use. FTS5 session search with LLM summarization for cross-session recall. Compatible with the agentskills.io open standard.
A real terminal interfaceFull TUI with multiline editing, slash-command autocomplete, conversation history, interrupt-and-redirect, and streaming tool output.
Lives where you doTelegram, Discord, Slack, WhatsApp, Signal, and CLI — all from a single gateway process. Voice memo transcription, cross-platform conversation continuity.
Scheduled automationsBuilt-in cron scheduler with delivery to any platform. Daily reports, nightly backups, weekly audits — all in natural language, running unattended.
Delegates and parallelizesSpawn isolated subagents for parallel workstreams. Write Python scripts that call tools via RPC, collapsing multi-step pipelines into zero-context-cost turns.
Tool-calling and agentic by default40+ built-in tools, an MCP client for connecting any MCP server, and a toolset system for scoping what's available per session.
Runs anywhereSix terminal backends — local, Docker, SSH, Singularity, Modal, and Daytona. Daytona and Modal offer serverless persistence — your agent's environment hibernates when idle and wakes on demand.
divider

Local model (Ollama) vs. cloud provider setup

Jacky supports both, and switching between them is a one-line config change.

Local, zero API cost, fully offline:

curl -fsSL https://ollama.com/install.sh | sh   # install Ollama
ollama pull qwen3:8b                            # or any tool-calling-capable model
jacky model                                     # pick Ollama + the model you pulled

CPU-only works but is slower — see website/docs/guides/local-ollama-setup.md for hardware guidance, model recommendations, and the timeout tuning needed for slow CPU inference.

Cloud, any OpenAI-compatible provider:

cp .env.example .env   # done for you by setup.sh
# edit .env: add the API key for OpenRouter, OpenAI, Anthropic, Google AI
# Studio, z.ai, Kimi, MiniMax, Hugging Face, or your own OpenAI-compatible
# endpoint — see .env.example for the full list
jacky model            # pick your provider and model

Full provider reference: website/docs/integrations/providers.md.

divider

Getting Started

jacky              # Interactive CLI — start a conversation
jacky model        # Choose your LLM provider and model
jacky tools        # Configure which tools are enabled
jacky config set   # Set individual config values
jacky gateway      # Start the messaging gateway (Telegram, Discord, etc.)
jacky setup        # Run the full setup wizard (configures everything at once)
jacky update       # Update to the latest version
jacky doctor       # Diagnose any issues

📖 Full documentation →  |  🎯 Hunt-loop methodology →


CLI vs Messaging Quick Reference

Jacky has two entry points: start the terminal UI with jacky, or run the gateway and talk to it from Telegram, Discord, Slack, WhatsApp, Signal, or Email. Once you're in a conversation, many slash commands are shared across both interfaces.

Action CLI Messaging platforms
Start chatting jacky Run jacky gateway setup + jacky gateway start, then send the bot a message
Start fresh conversation /new or /reset /new or /reset
Change model /model [provider:model] /model [provider:model]
Set a personality /personality [name] /personality [name]
Retry or undo the last turn /retry, /undo /retry, /undo
Compress context / check usage /compress, /usage, /insights [--days N] /compress, /usage, /insights [days]
Browse skills /skills or /<skill-name> /<skill-name>
Interrupt current work Ctrl+C or send a new message /stop or send a new message
Platform-specific status /platforms /status, /sethome

For the full command lists, see website/docs/user-guide/cli.md and website/docs/user-guide/messaging/.


Documentation

Source docs live under website/docs/:

Section What's Covered
Quickstart Install → setup → first conversation in 2 minutes
CLI Usage Commands, keybindings, personalities, sessions
Configuration Config file, providers, models, all options
Messaging Gateway Telegram, Discord, Slack, WhatsApp, Signal, Home Assistant
Security Command approval, DM pairing, container isolation
Tools & Toolsets 40+ tools, toolset system, terminal backends
Skills System Procedural memory, Skills Hub, creating skills
Memory Persistent memory, user profiles, best practices
MCP Integration Connect any MCP server for extended capabilities
Cron Scheduling Scheduled tasks with platform delivery
Providers Local (Ollama) and cloud (OpenAI-compatible) providers
Local Ollama Setup Zero-API-cost local setup, hardware guidance
Architecture Project structure, agent loop, key classes
Contributing Development setup, PR process, code style
CLI Reference All commands and flags
Environment Variables Complete env var reference
Hunt-Loop Methodology Bundled bug-bounty/offensive-security doctrine and skills

Contributing

We welcome contributions! See CONTRIBUTING.md for development setup, code style, and PR process.

git clone https://github.com/jaswanthsai1/jacky-cli.git
cd jacky-cli
./setup.sh
.venv/bin/pip install -e ".[all,dev]"
scripts/run_tests.sh

Community

divider

License

MIT — see LICENSE.

Jacky CLI is a fork of Hermes Agent, © Nous Research, used and modified under the MIT License. Jacky-specific additions © Maturi Jaswanth Sai Madhu Mohan. See LICENSE for the full dual attribution.

footer

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jacky_cli-0.18.3.tar.gz (13.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jacky_cli-0.18.3-py3-none-any.whl (9.4 MB view details)

Uploaded Python 3

File details

Details for the file jacky_cli-0.18.3.tar.gz.

File metadata

  • Download URL: jacky_cli-0.18.3.tar.gz
  • Upload date:
  • Size: 13.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for jacky_cli-0.18.3.tar.gz
Algorithm Hash digest
SHA256 70ab0d4306364da13e9a6c37c3445d148e0aafe28ab543fb37a7589c995ff175
MD5 5edb8bd9fd7e8c58a246a360afdad35b
BLAKE2b-256 0030cb0ad03fa7d0b84d7a253c085679b8c4cabf3ebd25ba7741c5e4ca989a78

See more details on using hashes here.

Provenance

The following attestation bundles were made for jacky_cli-0.18.3.tar.gz:

Publisher: upload_to_pypi.yml on jaswanthsai1/jacky-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jacky_cli-0.18.3-py3-none-any.whl.

File metadata

  • Download URL: jacky_cli-0.18.3-py3-none-any.whl
  • Upload date:
  • Size: 9.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for jacky_cli-0.18.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c530875a74f0adac66c16dd57638509c44c24109770056cfdd529e5352e0d74f
MD5 86e0be26acca37e4e81bb2a59bb1da43
BLAKE2b-256 81cc39baa39d4de431038a674f2930bb598e8a12521abe1e59a4d4fb15c08af9

See more details on using hashes here.

Provenance

The following attestation bundles were made for jacky_cli-0.18.3-py3-none-any.whl:

Publisher: upload_to_pypi.yml on jaswanthsai1/jacky-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page