Agently is a durable execution platform for long-running, multi-agent workflows. The API and web app form the control plane; Temporal, the Python reasoner, and the Node pieces worker form the execution plane.
Next.js web -> Go API -> Postgres
|
queued runs
v
Python reasoner dispatcher
|
Temporal workflow history
|
one activity per DAG node
/ | \
Gemini Browserbase pieces worker
apps/api: workflow planner, CRUD, schedules, triggers, logs, credentials, and the web API.apps/reasoner: the only run executor. It walks DAGs in deterministic Temporal workflow code and persists each node result as an activity checkpoint.apps/pieces-worker: executespieces.*actions/triggers and stores durable trigger state.apps/web: live UI backed only by API data.packages/nodes: hand-written and generated integration catalogs.packages/db/migrations: the Postgres schema and upgrades.
The retired native Go execution worker and the runs.engine selector have been
removed. Migration 0013_drop_retired_execution_columns.sql also removes its
lease columns.
Agently does not manufacture successful-looking work:
- Planner router/map/reduce failures return the provider error.
- Missing Gemini or Moonshot (Kimi) credentials prevent planning.
- Missing or stale piece embeddings prevent API startup.
- Missing Browserbase, Langfuse, SMTP, database, or integration credentials fail startup or the selected node.
- An unavailable pieces worker fails piece nodes.
- The web app does not synthesize costs, logs, browser sessions, or activity data.
The planner uses PLANNER_MAP_MODEL (default gemini-3.1-flash-lite) for
routing and map selection, and PLANNER_MODEL for graph creation and repair
(code default kimi-k3 via the Moonshot API; .env.example uses
gemini-3.5-flash so a single Gemini key runs everything). The provider is
inferred from the model name, and any tier can run locally as ollama/<model>
(e.g. ollama/qwen3:8b): no keys or quotas, slower on a laptop. PLANNER_EMBED_MODEL provides catalog recall —
ollama/nomic-embed-text locally, or gemini-embedding-001 /
text-embedding-3-small. The reasoner uses REASONER_MODEL and
REASONER_SYNTHESIS_MODEL (default gemini-3.5-flash-lite). Gemini 429s are
retried after the server-suggested delay, so free-tier keys work, just slower.
cp .env.example .env
# Fill every required credential.
pnpm install
pnpm agentlyOpen the web app at http://localhost:3000 and Temporal UI at
http://localhost:8080. See RUNBOOK.md for setup, migrations, service restart,
and verification commands, and its "Deploying" section for running the stack in
containers behind an access token and password.