The only agent framework with compile‑time sandboxing
Every action is executed by a LLM generated program which is type checked against granted capabilities before it runs.
See it compile
Authorities enforced by the type checker.
Grant capabilities, the model writes a Jo program to execute actions, and the compiler enforces them — no exceptions.
// written by the model — compiled before it runsdef runTask(): Unit receives stdout, booking, payment = val reservation = booking.reserve("SFO", "JFK", "09:00") payment.checkout(reservation) // needs the payment capability println("Booked " + reservation.id)
error: capability payment is not granted to this agent
receives stdout, booking, payment
^^^^^^^
✗ won't compile — the charge never happens.
✓ compiled — runs this turn. “Booked UA482.”
// written by the model — compiled before it runsdef runTask(): Unit receives stdout, fileWrite = fileWrite.write("reports/notes", notes) println("Backup saved.")
error: capability fileWrite is not granted to this agent
receives stdout, fileWrite
^^^^^^^^^
✗ won't compile — the file is never written.
✓ compiled — runs this turn. "Backup saved."
What you get
Fine-grained capabilities
Define custom application-level capabilities. Authority is type-checked by the compiler.
Credentials are kept safe
The action runtime is sandboxed with no ambient access to credentials or resources.
Integrated human approval
Native support for human approval for actions that need manual auditing.
Bring any model
Anthropic or OpenAI, provider-agnostic behind one Model interface. Swap with an env variable.
Built-in observability
Read the log live in a browser. Every turn, tool call and token, grouped by context.
Rich document processing
Local-first processing of PDF, Excel, and image files.
Examples & case studies
Built with Harpe.
Explore the applications, read how they work, and try the code.
Smart logistics
Turn depot rules into stock warnings and draft orders for a manager to review.
Personalized discounting
Plan individualized discounts while keeping customer data private.
Flight booking
Search flights and ask for approval before booking.
PDF processing
Read and analyze uploaded PDFs with local document tools and OCR.
GitHub PR review
Read repository code and prepare a draft pull request review.
Telegram bot
A chat agent with persistent conversations and file attachments.
Five minutes to a running agent
Grant it a capability. Watch it compile.
Scaffold a chat agent, grant it a capability, and see the compiler enforce the boundary.