Your AI agents. Your workflows. Your rules.
Ethr is a CLI tool for defining and running AI-powered workflows locally. You write workflows in YAML — with triggers, AI steps, conditions, and actions — and Ethr orchestrates them across your services. Default AI provider is Ollama, so everything runs on your machine.
curl -fsSL https://ethr.sh/install.sh | sh
ethr init my-workflow
cd my-workflow
ethr runmacOS / Linux (recommended):
curl -fsSL https://ethr.sh/install.sh | shThis downloads the latest prebuilt binary for your platform and installs it to /usr/local/bin.
Manual download:
Grab the binary for your OS and architecture from the Releases page, then place it on your PATH.
Verify installation:
ethr versionversion: "1"
settings:
ai:
provider: ollama
model: llama3.2
base_url: http://localhost:11434
integrations:
webhook:
enabled: true
addr: ":8080"
path: "/webhook"
workflows:
- name: classify-request
trigger:
integration: webhook
event: request.received
steps:
- name: classify
type: ai
prompt: |
Analyze this incoming request:
{{ .trigger | toJSON }}
Respond with JSON: {"action": "process" | "ignore", "reason": "..."}
output: classification
- name: notify
type: action
condition: '{{ eq .classification.action "process" }}'
integration: slack
action: send_message
params:
text: "New request classified: {{ .classification.reason }}"| Integration | Type |
|---|---|
| Slack | Messaging |
| Gmail | Email (IMAP/SMTP) |
| iMessage | Messaging |
| Google Calendar | Calendar (AppleScript) |
| Jira | Project Management (Webhook + REST) |
| Asana | Project Management |
| Atlassian/Confluence | Documentation |
| Kubernetes | Infrastructure (kubectl) |
| Webhook | HTTP Server + Client |
| Cron | Scheduled Triggers |
| Pub/Sub | Message Queue (gcloud) |
See the docs folder for full documentation.