Skip to main content

A single, local-first, model-agnostic, tool-using AI agent.

Project description

PyPI version CI License Python

Heya

A local-first, model-agnostic terminal AI agent built for WordPress and WooCommerce support engineers and developers.

shameemreza.github.io/heya - docs

Heya reads a request, decides what to do, calls tools, and loops until the task is done. The model is a configuration choice: it runs against a small local model through Ollama, a frontier cloud model through OpenRouter, OpenAI, LM Studio, or anything that speaks the OpenAI chat API. Your prompts and your data stay on your machine.

It is built in plain Python with no agent framework, so you can see exactly what every part does.

Heya in action

Why you might use it

Most agents are general. Heya is general too, but it carries a real specialty: a WordPress and WooCommerce diagnostic assistant that takes a bug from a ticket to a proven answer. And because it is model-agnostic and local-first, you run all of that on your own models, with no vendor lock-in and nothing leaving your machine.

It also hosts the Claude Code ecosystem. Your existing Claude skills, plugins, hooks, commands, and sub-agents work in Heya with no re-install, so you bring what you already have.

What it can do

  • Diagnostic assistant. Give Heya a bug report, a ticket, or a log. It reproduces the issue on a disposable WordPress Playground (or a dev site), finds the root cause, proposes and verifies a fix, and hands you a paste-ready triage comment with a verdict, impact, suggested priority, evidence, and a one-click repro link. Every stage is evidence-gated: no evidence, no verdict. It can also rank a backlog into a pick-list so you know what to work on.
  • Connect a dev or staging WordPress site. heya wp connect links a development or staging site and lets Heya act on it through the official Abilities API: query orders, update status, manage products, all under the site's own permission checks. Writes go behind the approval prompt. You can also make your own plugin AI-callable.
  • Background agents. Launch sub-agents that run while you keep working, for parallel audits, research, or building plugins and themes. Each agent gets a folder lease it holds exclusively, so concurrent agents never collide. Authorize once at launch.
  • Hosts your Claude ecosystem. Discovers your ~/.claude skills and plugins and makes them available through a Skill tool, runs lifecycle hooks (off by default), and turns Claude sub-agent and command definitions into Heya roles and commands.
  • MCP client. Connect Model Context Protocol servers over stdio or HTTP, with OAuth, sampling, elicitation, and logging.
  • Memory. Heya remembers facts across sessions in plain markdown files you can read and edit.
  • Code review. A deterministic gather, fan-out, adversarially-verify, synthesize pipeline that reports real issues and says "nothing blocks" rather than inventing findings.
  • Cost and context controls. An optional cheaper model for forgiving work, a per-task token budget, and context compaction so long sessions keep working on small-window local models.
  • Self-update. heya update upgrades Heya in place (pipx or pip). An optional startup notice fires when a newer version is on PyPI; the check is off the main thread, silent when offline, and disabled with [update] check = false.
  • Files, shell, web, and a real browser. All writes, shell commands, and browser clicks ask before they run. Reads run on their own. Everything is confined to an allow-list of folders.

Install

You need Python 3.11 or newer. The package is heya-agent; the command is heya.

pipx install heya-agent

pipx installs it into its own isolated environment and puts heya on your PATH. If you do not have pipx, pip install heya-agent works too. Then run heya init to set up a model.

On macOS or Linux you can install with Homebrew instead:

brew tap shameemreza/heya https://github.com/shameemreza/heya
brew install heya

The browser tools are optional, since they pull in Playwright and a Chromium binary. Add them when you want them:

pipx install "heya-agent[browser]"
python -m playwright install chromium

Heya runs fine without them. The browser tools just return an install hint until you do.

Connecting MCP servers (hosting other tools over the Model Context Protocol) needs the mcp extra:

pipx install "heya-agent[mcp]"

From source (for contributors)

git clone git@github.com:shameemreza/heya.git
cd heya
python3 -m venv .venv
.venv/bin/pip install -e ".[test]"
.venv/bin/python -m pytest

Point it at a model

Run the setup wizard. It walks you through a local (Ollama) or cloud model and writes the config for you:

heya init

A pasted cloud key is stored in a locked credentials file, never in the config. On the local path the wizard offers to download a model for you. If you would rather configure by hand, config.example.toml in this repository is a commented template to copy into ~/.config/heya/config.toml. See docs/guide/getting-started.md.

Run it

heya "summarize what changed in the last 3 commits"

Triage a bug end to end:

heya "triage this: variation coupons apply to the parent price at checkout on WP 6.5 / WC 8.7"

Use a skill you already have:

heya "use my support-reply skill to draft a response to this ticket: ..."

Connect and query a staging site:

heya wp connect
heya "list the last 10 failed orders on my staging store"

Launch a background agent:

heya "audit the checkout flow in the background and report back when done"

Docs

Contributing

See CONTRIBUTING.md. The changelog records what changed between releases.

License

MIT. See LICENSE.

Project details


Download files

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

Source Distribution

heya_agent-0.0.3.tar.gz (279.0 kB view details)

Uploaded Source

Built Distribution

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

heya_agent-0.0.3-py3-none-any.whl (200.3 kB view details)

Uploaded Python 3

File details

Details for the file heya_agent-0.0.3.tar.gz.

File metadata

  • Download URL: heya_agent-0.0.3.tar.gz
  • Upload date:
  • Size: 279.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for heya_agent-0.0.3.tar.gz
Algorithm Hash digest
SHA256 1aa1153619b6853b2927dc03cbf98ad73447be5b1a8887d1c4b8e8856e6d5a5f
MD5 5854b8b03687416041697d1a60b7e909
BLAKE2b-256 44c4715ba0c032e18c5185362ea26cd45b1b35a4f6db85eb32ffc003af4e7268

See more details on using hashes here.

Provenance

The following attestation bundles were made for heya_agent-0.0.3.tar.gz:

Publisher: release.yml on shameemreza/heya

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

File details

Details for the file heya_agent-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: heya_agent-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 200.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for heya_agent-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 edd992531fd513e1c589acc1c84f961f783bdd3380da1441d8c0583c3d51c940
MD5 d0c592505c2f5d6a9d413b9cb76db3cd
BLAKE2b-256 3af4ac4ffc4946d8ee327cb764246a97084f9dc8146f9070600a85ca35ff0834

See more details on using hashes here.

Provenance

The following attestation bundles were made for heya_agent-0.0.3-py3-none-any.whl:

Publisher: release.yml on shameemreza/heya

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 Pingdom Monitoring Sentry Error logging StatusPage Status page