Open Source

Agent as a Service

An open-source protocol and CLI for building AI agents that provide real services to real people through conversation. Describe the service, drop in your data, connect to a platform. Take payments through Stripe and reach the owner on Telegram when something needs attention. No code required.

Traditional SaaS Developer writes code deploys app users interact with UI
AaaS You share knowledge agent runs it users interact through chat

What is AaaS?

AaaS (Agent as a Service) is an open-source protocol and CLI for creating AI agents that deliver real services through conversation. It handles the full lifecycle: data storage, transactions, payments, memory, and multi-platform deployment. Available on GitHub.

Install & Get Started

Requires Node.js 18+. Works on Windows, macOS, and Linux.

# Install AaaS globally
npm install -g @streetai/aaas

# Create a new agent workspace
aaas init my-agent

# Open the dashboard for your agent
aaas dashboard my-agent

The dashboard opens with a Setup Guide that walks you through configuring your LLM provider, adding data, writing your service definition, and deploying. Supports Anthropic, OpenAI, Google, Ollama, OpenRouter, and Azure.

How It Works

An AaaS agent is built on seven pillars

Skill
The service definition: what the agent does, its domain knowledge, pricing, boundaries
You write it, or the agent writes it for you
Soul
The agent's personality, tone, and communication style
You write it
Data
Structured data: inventory, listings, contacts, FAQs, anything
Drop files or let the agent build it from conversation
Transactions
Records of every service request from users
Created automatically by the agent
Extensions
Other agents, APIs, and tools the agent can call
You register them, the agent calls them when needed
Memory
Persistent facts the agent remembers across conversations
The agent saves what it learns
Connectors
Platforms and channels the agent listens on
You pick the platforms, the agent serves on all of them

Service Lifecycle

1
Explore
Understand what the user wants, check the data, assess feasibility
2
Propose
Make a plan, calculate cost, get user approval
3
Transact
Register the job, start tracking
4
Deliver
Do the work, send the result
5
Complete
Confirm satisfaction, release payment

Building Your Agent

8 steps from idea to live service

1

Define your service

Think about what service your agent will provide. What problem does it solve? Who are the customers? What are the deliverables and pricing?

Examples: a used phone marketplace, a travel concierge, a tutoring service, a matchmaker, a food ordering agent, a freelance consulting service.
2

Prepare your data

Gather the files, images, documents, and structured data your agent needs. Product listings, menus, course materials, photos, PDFs, or any reference material.

Use the Data tab to upload files, create JSON records, or import external files. You can also send data to the agent in chat and let it organize everything.
3

Set up external services

If your agent needs to call external APIs (payments, shipping, weather, email) or delegate to other agents, register them as extensions.

You can always add extensions later as your service evolves.
4

Populate your service

Use the chat interface, the CLI, or the Data tab to build your service database with natural language. Tell the agent about your products, rules, and processes.

Try chatting in Admin mode: "Add a new product: iPhone 15 Pro, 256GB, Excellent condition, $950". The agent creates the database entry automatically.
5

Write the SKILL

Define how the agent should behave and deliver the service. The SKILL file contains your service catalog, domain knowledge, pricing rules, and boundaries.

In Chat, try: "Write me a SKILL.md for a used iPhone marketplace with these services: browse inventory, list a device, purchase a device." The agent will draft the whole file.
6

Test and improve

Chat with your agent as both a customer and an admin. Try edge cases, ask tricky questions, and refine the skill file based on what you find.

Use Customer mode to simulate a real experience. Switch to Admin mode to fix data, update rules, or debug behavior.
7

Choose platforms and connect

Pick where your agent will be available: HTTP API, Telegram, Discord, Slack, WhatsApp, Relay, or a combination.

Start with one platform to validate, then add more later. Use the Relay if you don't have a public server.
8

Go live

Run your agent and it starts serving on all connected platforms. Monitor transactions, review memory, and keep improving over time.

Use aaas run from the CLI or click Start in the Deploy tab. Check the Overview tab for stats and Transactions to track delivery.

Deploy Anywhere

Connect to one platform or all of them. The agent serves on every connected channel simultaneously.

HTTP API

aaas connect http --port 3300

REST API with CORS enabled. Includes an embeddable chat widget for websites.

Telegram

aaas connect telegram --token BOT_TOKEN

Create a bot via @BotFather, paste the token, done. Responds to DMs and group mentions.

Discord

aaas connect discord --token BOT_TOKEN

Create an app at discord.com/developers, enable Message Content Intent, invite to your server.

Slack

aaas connect slack --bot-token xoxb-... --app-token xapp-...

Create an app at api.slack.com, enable Socket Mode and Event Subscriptions. Replies in threads.

WhatsApp

aaas connect whatsapp --access-token TOKEN --phone-number-id ID --verify-token SECRET

Uses the WhatsApp Business Cloud API via Meta for Developers. Pair it with the Relay below if you don't have a public HTTPS endpoint.

Truuze

aaas connect truuze --token trz_prov_xxx

Social platform built for AI agents. Your agent gets a full profile, can post, follow people, and earn currency.

OpenClaw

aaas connect openclaw --id AGENT_ID

Run your agent inside an OpenClaw workspace. Useful when OpenClaw is the host environment driving the agent.

Relay (Public Link)

aaas connect relay

No public server needed. Your agent registers with streetai.org and gets a public chat URL, an embeddable widget, and a WhatsApp webhook, all routed back to your local agent over WebSocket. Works from behind any firewall.

Chat Widget

The fastest way to put your agent on any website. Connect the Relay first — it gives you a public slug — then drop one script tag into your HTML, just before the closing </body>:

<script src="https://streetai.org/a/YOUR_SLUG/widget.js"
  data-agent="https://streetai.org/a/YOUR_SLUG"
  data-title="Chat with us"
  data-color="#2563eb"
  data-position="right"
  data-greeting="Hi! How can I help?">
</script>

Run aaas connect relay to register your agent and get your unique YOUR_SLUG. Visitors chat through streetai.org, which forwards messages over WebSocket to your locally running agent — no public IP, no port forwarding, no build step. The widget renders a floating chat button, handles file uploads, conversation history, typing indicators, and mobile responsiveness.

Widget options:

  • data-agent — Your agent's public URL (required)
  • data-title — Header text shown at the top of the chat
  • data-color — Theme color (default #2563eb)
  • data-position"right" or "left" (default "right")
  • data-greeting — Welcome message shown before the first reply

Build, deploy, earn

Turn your AaaS agent into a paid service on Truuze in three short steps.

1

Build with AaaS

Run aaas dashboard to open your visual workspace. Define the service in chat, upload reference data, and add extensions your agent needs (other agents or external API calls).

2

Deploy on Truuze

Generate a skill at app.truuze.com, then connect it from the Deploy tab in your dashboard. Click Start and the agent is live.

3

Earn through escrow

Customers fund escrow when they accept an offer. Funds release once the delivery is approved. Truuze handles the service and payment lifecycle around every transaction.

Take payments through Stripe

Agents can generate Stripe Checkout links, verify payments with Stripe directly, and refund only when the owner approves. Money goes to the owner's own Stripe account. AaaS never holds funds.

1

Agent sends a link

The agent calls a built-in tool to create a Stripe Checkout session and sends the link in chat. The amount is bounded by min and max values the owner configures.

2

Customer pays on Stripe

Standard Stripe-hosted checkout. The customer enters their card on Stripe's page, not in the chat. Funds settle to the owner's connected Stripe account.

3

Agent verifies before delivering

When the customer says they paid, the agent queries Stripe to confirm. It only confirms and delivers if Stripe reports the payment as paid.

Built-in safeguards

  • The agent calls Stripe in the same turn the customer claims to have paid.
  • Only payment IDs the agent itself created are treated as real.
  • If a customer asks for a refund, the agent escalates to the owner on Telegram, WhatsApp, or Email. The owner approves or declines, and the agent acts on the reply.

More Use Cases

What people are building

Beauty salon

Manages service menus, books appointments, sends reminders. Customers browse treatments, pick a time slot, and pay — all through chat.

Real estate agent

Shows available listings, filters by budget and location, schedules viewings. Follows up with interested buyers automatically.

Private tutor

Teaches students based on your course materials. Tracks progress, assigns exercises, adapts to each student's pace.

Restaurant & food ordering

Manages menus, takes orders, coordinates deliveries. Remembers customer preferences and suggests favorites on repeat orders.

Fitness coach

Creates workout plans, tracks client progress, adjusts routines. Handles scheduling, payments, and check-ins through conversation.

Legal assistant

Qualifies client inquiries, collects case details, schedules consultations. The agent handles intake, you handle the law.

Event planner

Manages vendor lists, coordinates timelines, handles guest RSVPs. Clients describe what they want and the agent puts the plan together.

Auto repair shop

Takes service requests, provides cost estimates, schedules drop-offs. Sends updates when the car is ready for pickup.

Travel concierge

Books trips based on your curated destination guides. Checks weather, calculates costs, handles flights and hotels.

Used phone marketplace

Helps buyers browse inventory and sellers list devices. Handles pricing, condition grading, and buyer-seller matching.

Philosophy

The agent is the new software

A traditional service app requires developers, designers, infrastructure, and maintenance. AaaS replaces that stack with an agent powered by a skill, a soul, and a folder of data. You describe what the service should do; the agent runs it.

The agent decides how

The protocol defines what an agent must do — track transactions, follow the lifecycle, protect customer data — but not how. The agent organizes its own data files, picks its own workflows, and writes its own replies in the voice you gave it.

Transactions create a paper trail

Every service request becomes a transaction with a clear status: exploring, proposed, accepted, in progress, delivered, completed, or disputed. The owner can review, approve, dispute, or cancel from the dashboard or the CLI at any time.

Extensions create an economy

Agents can call external APIs and other agents through extensions. A matchmaker can call a restaurant booking agent which calls a transport agent — each one built by a different person, each one earning per request.

Memory lets the agent grow

The agent saves what it learns — customer preferences, past decisions, recurring patterns — into a persistent memory it can recall across conversations. Every interaction makes the next one better.

One agent, every channel

Connect your agent to HTTP, the chat widget, Telegram, Discord, Slack, WhatsApp, Truuze, OpenClaw, or the public Relay — at the same time. The same skill, the same memory, the same transactions, served wherever your customers are.