Show HN: AgentRun: DSL to turn agents into workflows
Summary
AgentRun is a DSL and workflow language for AI agents, enabling the definition of repeatable steps with decision-making via Jev, while maintaining application context and permissions.
View Cached Full Text
Cached at: 09/24/26, 07:11 PM
Parcha-ai/agentrun
Source: https://github.com/Parcha-ai/agentrun
agent.run()
Add Jev-powered workflows to your agents.
AgentRun is a workflow language for the agents you already run. Define repeatable steps, use Jev for focused decisions, and call an agent when the work needs investigation. Your application keeps its tools, model access, permissions, and budgets.
Quickstart · Documentation · Examples · Pi extension · Agent instructions

View the static diagram · Run this example
The support example below follows this workflow with scripted tools and model responses.
Quickstart
Requires Node 22.19+ and npm. In your project:
npm install @parcha/agentrun-dsl@beta
npx agentrun demo
This ticket-routing demo uses scripted decisions and needs no API key. Next, run and change a workflow in your own app. To run the support workflow shown above, use the checkout below. To build workflows with your agent, install the Pi extension.
Run the support example
To run the workflow in the animation, clone the examples and build:
git clone --branch main --single-branch https://github.com/Parcha-ai/agentrun.git
cd agentrun
# With nvm: nvm install && nvm use
npm ci --ignore-scripts
npm run build
npm run demo:support
This runs the interpreter with scripted tools, Jev answers, and agent responses. It needs no API key and sends no customer replies.
The command prints a report for each case:
| Request | Agent calls | Decision calls | Result |
|---|---|---|---|
| Reset a password | 0 | 1 | Return the help answer |
| Find an invoice | 0 | 1 | Return the help answer |
| Investigate a failed payment | 1 | 2 | Return the investigation answer |
| Payment still unresolved | 1 | 2 | Escalate for review |
npm run demo:support -- payment
npm run test:support
Try npm run demo:support -- unresolved to see an escalation. It exits with code 2. The responses are scripted; changing a prompt does not change them.
Connect live Jev and your agent, or give these instructions to your coding agent.
What a workflow looks like
The support workflow requires answer text and a source reference. Jev must also answer yes with confidence of at least 0.8. Otherwise, the workflow allows one agent attempt and checks again. If the answer still fails those checks, it escalates for review. You choose the criteria and thresholds for your task.
These are the search and decision nodes from that workflow:
{
node: 'call', label: 'find-answer', via: 'tool',
tool: 'help.search', args: { request: '{request}' },
out: 'Candidate', as: 'answer', deadline_s: 10,
},
{
node: 'judge', label: 'check-existing-answer',
state: { request: '{request}', answer: '{answer}' },
out: 'Fit', as: 'fit',
}
Candidate and Fit refer to schemas in the workflow. Fit defines the question and its yes, no, and uncertain criteria. Code reads the decision and its confidence to choose the next step. Read the complete definition, including the agent and review path.
Write workflows as JSON or use the TypeScript builder and Zod contracts. The builder infers input and output types. The interpreter checks intermediate state paths at runtime. Workflows can call other workflows, map work in parallel, and run bounded loops.
Connect your application
Install the core and Jev adapter in your application with npm install @parcha/agentrun-dsl@beta @parcha/agentrun-jev@beta. Then:
- Supply adapters. Connect tools through
runEffect, your existing agent throughrunNode, and Jev decisions throughcreateJevRunner()asrunJudge. - Define and test the workflow. Write its schemas, steps, thresholds, and review path. Start with fixtures, then evaluate real decisions on labeled cases from your task.
- Give your agent a workflow tool. Register a function that calls
runWorkflowas one of your agent’s tools. Handle the workflow’s output, escalation, and errors.
The support integration guide has a config template and live command. Live Jev calls need TYPESAFE_API_KEY from the TypeSafe dashboard, separate from your coding-agent login. Workflows without Jev decisions do not need that key. See host integration for permissions, cancellation, and recovery.
Use it in Pi
With Pi 0.87.0 installed, run these commands in your project:
pi install npm:@parcha/[email protected] -l
pi --offline
-l installs in this project; --offline skips startup downloads. Pi asks whether you trust the project before loading its extension. No AgentRun checkout is needed.
/agentrun demoloads the scripted research example;/agentrun runrepeats it without model calls./agentrun demo liveuses your configured Pi model and Jev./agentrun statuschecks setup;/agentrunshows the graph;/agentrun stoprequests cancellation.
Once Pi has model access, ask it to build a workflow:
/agentrun Research how this repository handles cancellation. Investigate the runtime and tests separately, then report gaps with file references.
Pi uses the packaged skill to build, inspect, and run the workflow. Run /reload if you install into an open Pi session. Use /agentrun save <name> and /agentrun load <name> for project-local definition revisions. Saves contain neither run input nor execution permission. Pi setup and limits.
More examples
| Example | What it demonstrates |
|---|---|
| Support answers | Search, Jev checks, optional investigation, review fallback |
| Research a decision | Nested workflows, parallel research, evidence selection, report writing |
| Standalone TypeScript starter | Install the packages in your own app; search and screen evidence |
Research demo
From the built checkout, run a scripted research workflow: “Should our team move its docs from a wiki into the code repository?”
npm run demo
npm run eval:research
It plans subquestions, researches them in parallel, screens evidence, and writes a report. The evaluation checks six labeled cases with scripted responses. Connect real Jev and Pi models.
Packages, status, and contributing
| Package | Responsibility |
|---|---|
@parcha/agentrun-dsl | Define, validate, inspect, and execute workflows |
@parcha/agentrun-jev | Connect Jev typed decisions |
@parcha/agentrun-pi | Pi extension and agent runner |
This release is 0.1.0-beta.4. See the changelog and contracts and limits.
Ordinary functions may be enough for a fixed sequence. AgentRun stores the steps in a workflow document that you can inspect, rerun, or call from an agent. Code nodes execute JavaScript with process privileges; untrusted workflow authors require a host-controlled sandbox. Typed decisions and validated output shapes do not prove that an answer is factually correct.
For development setup and checks, see Contributing. Open an issue for bugs or proposals.
Code and documentation use Apache-2.0. Copyright 2026 Parcha Labs, Inc. Dependencies retain their own licenses. Built by Grep.ai.
Similar Articles
AI Agent that builds deterministic workflows
A developer shares an experiment with an AI agent-based automation platform that builds and manages deterministic workflows, seeking feedback from the community.
Show HN: A lightweight way to make agents talk without paying for API usage
A lightweight pattern for orchestrating conversations between multiple AI agents (Claude, Codex, Gemini) via CLI without requiring API payments, using session resumption to maintain context across agent interactions.
This is our Agent Run Dashboard
The article describes an internal Agent Run Dashboard that tracks AI agent runs, quality ratings, and workflow performance, giving visibility into human-AI collaboration and suggesting the approach can be applied beyond software development.
We built an agent runtime where jobs are explicit state machines compiled from configuration
Friday Studio is an open-source agent runtime that compiles natural language workflows into explicit, version-controlled YAML state machines. It allows developers to build AI agents via chat but ship them as stable configuration files for reliable production use.
4 AI workflows that are just scripts (and the one that actually needs an agent)
A discussion on when to use scripts versus AI agents, arguing that most claimed AI agents are actually simple scripts, and only truly dynamic decision-making tasks warrant agents.