Skip to content

mikea/piccolo

Repository files navigation

piccolo

An AI agent running on Cloudflare.

Inspired by pi, a capable local AI agent by Mario Zechner.

AI-implemented, human-steered.


Design Principals

Minimal core

The core does four things:

  • run the agent loop with tools support
  • persist state
  • define the extension API
  • dispatch to extensions

No built-in tools. No built-in UI.

Cloudflare as the architecture

Cloud-native. Fully embrace Cloudflare Workers platform.

JSRPC everywhere

All communications use jsrpc/capnweb

Extensions are Workers

Each extension is a Cloudflare Worker deployed as a normal service and wired into core via an EXTENSION_* service binding. Updating extension code needs no core redeploy, but changing which extensions are enabled requires redeploying core.


Screenshots

image

Extensions

The following piccolo extensions are available as part of this repository:


Deploy

See DEPLOY.md.


Specification

CONTRIBUTING

Piccolo-core

Piccolo strives to be minimal and extensible. Contributions to piccolo-core should focus on:

  • simplifications
  • correctness
  • extensibility

This is AI code, so A LOT can be improved.

Contributions should not try to add features that can be implemented as extensions.

Extensions

The purpose of all provided extensions is to be a testbed and be an example. Please do not try to make them fully featured but focus on simplicity and correctness instead.

If you need some specific feature - copy the code and start your own extension. Please share it with the community.

About

Minimalistic extensible agent for Cloudflare serverless infrastructure

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages