OrgoAI/bops

★ 212⑂ 63

Bops: a team of AI bots that run your business ops, each with its own computer, email and phone number. bops.bot

About OrgoAI/bops

OrgoAI/bops is an open-source project on GitHub, mainly written in TypeScript. Bops: a team of AI bots that run your business ops, each with its own computer, email and phone number. bops.bot It currently holds 212 stars and 63 forks with 0 open issues, and was last pushed on an unknown date (repository created unknown).

Project Overview

AI Homed tracks it on the Today's Trending board, currently at rank #74 with 0 new stars today.

GitHub Repository Details

Repository OrgoAI/bops · default branch - · size 0 KB · watchers 0 · source: GitHub REST API and repository README

README

https://github.com/OrgoAI/bops/blob/HEAD/Bops

Bops

Business ops, run by bots.
A team of AI bots that works for you on real computers. Chat with them like teammates, and they get the work done.

Download for Mac  ·  Website  ·  Plans  ·  Self-host

https://github.com/OrgoAI/bops/blob/HEAD/macOS, Apple silicon https://github.com/OrgoAI/bops/blob/HEAD/License: FSL-1.1-ALv2

https://github.com/OrgoAI/bops/blob/HEAD/Nick Vasilescu
Created by Nick Vasilescu (@nickvasilescu)
Developed with Orgo


Bops is a Mac app that gives you a team of AI bots for your business ops: inbox, pipeline, invoices, reports. They work on cloud computers you can watch live and take over at any time. Reach them in the app and in Slack, Telegram and Discord, and on Pro and Max by text, call or email. They remember who you are and what they did yesterday.

https://github.com/OrgoAI/bops/blob/HEAD/Bops: Boppy's chat on the left, and its computer's four screens on the right, building a lead list

https://github.com/OrgoAI/bops/blob/HEAD/A bot's screen up close, filling in a spreadsheet, with Watch and Take control

Watch or take over. Watch any screen live, take control, then hand it back.

https://github.com/OrgoAI/bops/blob/HEAD/A bot asking before it pays an invoice, with Do it and Don't

Asks before it acts. Reading runs at once. Sending, creating and paying wait for your OK.

https://github.com/OrgoAI/bops/blob/HEAD/The Vault: connected apps, several accounts each, and which bots use them

Your apps, your rules. About 1,400 apps, several accounts each. Each bot gets only the access you give it.

https://github.com/OrgoAI/bops/blob/HEAD/A bot answering a request sent from Slack

Where your team works. Ask in Slack, Telegram or Discord, and the answer comes back there.

What your bots can do

Bops runs on your Mac: keep it on for routines, watches, and Telegram or Discord. While it's away, callers to your bot's number get a bot that takes a message.

Coming soon: WhatsApp, and a real phone for each bot that it drives like its computer.

Plans

Every plan includes a Bops computer: 1 on Free and Pro, up to 3 on Max. On Free and Pro, all your bots share that one computer. AI credit pays for what your bots do, billed at cost.

| | Free | Pro | Max | |---|---|---|---| | Price | $0 | $20 a month | $200 a month | | Computers | 1 computer included
10 hours a month, 4 cores, 16 GB RAM, multi-screen | 1 computer included
Always on, 4 cores, 16 GB RAM, templates, multi-screen | Up to 3 computers
Always on, 4 cores, 16 GB RAM each | | AI credit | $5 of AI credit, once | $20 of AI credit every month | $200 of AI credit every month | | Bots | As many as you like, all sharing that one computer | As many as you like, all sharing that one computer | As many as you like, across up to 3 computers | | Phone numbers and emails | No phone number or email | 1 phone number and 1 email | Up to 5 phone numbers and 5 emails |

Running Bops yourself on your own keys? Bops plans don't apply: you pay each provider directly, and your Orgo plan sets how many computers you can run. See Run it yourself.

Download

https://github.com/OrgoAI/bops/blob/HEAD/Download for Mac

1. Download Bops from bops.bot. It runs on a Mac with Apple silicon. 2. Open the DMG and drag Bops to Applications. 3. Sign in with Google, with your email, or with Orgo. If you don't have an Orgo account yet, one is made for you. 4. Say hi to Boppy. It takes it from there.

Every release is signed with Developer ID and notarized by Apple. When a newer version is out, Bops tells you, along with what's new in it.

Credits

Bops was created by Nick Vasilescu (@nickvasilescu). It started as his open-source project and is now developed with Orgo. See AUTHORS and CITATION.cff.

Thanks to everyone who has reported a bug, sent a fix or shared an idea: see all contributors.

Built with

The app itself is Electron and Next.js.

---

How it works

Run it yourself

Requirements

Start it

npm run setup                # dependencies, .env.local from .env.example, and a git hook (scripts/setup.sh)
npm run app                  # opens the app, which starts the server on port 3210

In .env.local, fill in at least OPENAI_API_KEY and OPENAI_EXECUTOR_API_KEY, and ORGO_API_KEY to skip signing in. Or set BOPS_SELF_HOSTED=0 and sign in with Orgo: Bops Cloud then calls the providers, and you need no keys of your own. Run npm run setup again any time; it only adds what's missing.

Or run the server alone with npx next dev --port 3210 -H 127.0.0.1 and open http://127.0.0.1:3210. Leave out -H 127.0.0.1 only when edge/ or the bots' computers must reach it over your tailnet.

The app opens on sign-in: Continue with Google, Continue with email or Sign in with Orgo. With BOPS_SELF_HOSTED=1 and ORGO_API_KEY set, it skips this and uses your key. Then open Settings → You and add your name and a line about yourself: every bot uses it.

Settings

.env.example lists every setting with a note on each. The ones that matter most:

| Setting | What it's for | |---|---| | BOPS_SELF_HOSTED=1 | Call each provider directly with your own keys, and show the Self-hosting section in Settings. On in .env.example. | | OPENAI_API_KEY | Chat, calls, and tasks on the bots' computers. Required. | | OPENAI_EXECUTOR_API_KEY | The key Codex runs the bots' tools with: tasks on your Mac, and tasks on their computers with BOPS_COMPUTER_TOOL=0, which copies it onto each computer. Use a restricted key with a spend limit; it can be in the same OpenAI project. Required. | | ORGO_API_KEY | The bots' cloud computers. Optional: set it to skip signing in with Orgo. | | TYPESAFE_API_KEY | Small yes or no judgments: is this risky, which bot should take it. | | HONCHO_API_KEY | Long-term memory. | | COMPOSIO_API_KEY | Connected apps. | | TREG_TOKEN | Business data. | | AGENTMAIL_API_KEY, BOPS_MAIL_DOMAIN | The bots' email, on a domain you've verified in AgentMail. | | TAILSCALE_AUTH_KEY | Lets the bots' computers join your tailnet for a direct, private live view. | | AGENTPHONE_*, BOPS_AGENTPHONE_HOOK_URL | Phone numbers, texts and calls. See Texts and calls. | | TWILIO_VERIFY_SERVICE_SID, TWILIO_API_KEY_SID, TWILIO_API_KEY_SECRET | Sends a code that proves a mobile number or email address is yours. | | BOPS_PUBLIC_URL | Your relay's public address (edge/): where people land after connecting an app, OAuth callbacks, and the bots' pictures. | | BOPS_SLACK_* | Your own Slack app. slack/setup.mjs makes it and fills these. Set BOPS_PUBLIC_URL first, and change the OAuth redirect in slack/manifest.json from api.bops.bot to your relay. Without them, Slack goes through Composio's app. |

Telegram and Discord need no settings: you paste each bot's token in the app, and it's kept in the Keychain.

The bots' computers

Bot computers launch from an Orgo template built from this repo. By default they use Orgo's public copy, which every account has. To build your own, run node orgo/bops-base.mjs publish and set BOPS_ORGO_TEMPLATE to its ref.

Bops keeps its computers in one Orgo workspace: the signed-in user's workspace named "bops", or BOPS_ORGO_WORKSPACE when self-hosting on ORGO_API_KEY. It never creates or deletes computers outside it.

Texts and calls

Optional, for self-hosting:

1. Deploy edge/, a small relay that forwards webhooks to your Mac over Tailscale. edge/fly.toml has a config for Fly: set your own app name in it. The relay needs a Tailscale login and BOPS_UPSTREAM, your Mac's tailnet address on port 3210. 2. Point your AgentPhone webhook at /hooks/agentphone on the relay. Texts and calls both arrive there. 3. Set the AGENTPHONE_* settings and BOPS_AGENTPHONE_HOOK_URL, then add your mobile in Settings → How your bots reach you.

The relay also takes /hooks/slack for your own Slack app, and /hooks/openai for a number you route to an OpenAI SIP trunk yourself (with OPENAI_WEBHOOK_SECRET). Every webhook is signature-checked. US texting needs an A2P 10DLC registration for your brand.

The packaged app's server listens on 127.0.0.1 only. To let webhooks reach it over the tailnet, add BOPS_LISTEN_ALL=1 to ~/Library/Application Support/Bops/.env.local. Other addresses can then reach only the webhook paths and the bots' computers' calls, each of which proves itself.

Releasing the Mac app

scripts/release.sh          # or: npm run app:release

It fetches the relay agent, builds the server (Next.js standalone), packs it into Bops.app with its own Node, and makes dist-desktop/Bops--arm64.dmg and .zip. Before it finishes, it starts the bundled server as a fresh install would and checks that it answers. The installed app keeps its local files (and, self-hosted, its state) in ~/Library/Application Support/Bops/server/.data, and its log in ~/Library/Logs/Bops/server.log.

A release needs:

To try your changes in the app, run npm run app:build. It makes an unsigned development app that runs next dev from this folder. npm run app:install builds the same app, then deletes /Applications/Bops.app and puts this one in its place.

Orgo's releases are built from a version tag of this repository by a workflow in Orgo's private repository, which holds the signing and notarization secrets. It builds, signs and notarizes on a GitHub Mac, checks that Gatekeeper accepts the app, and attaches the DMG and zip to the release here with that version's notes from docs/releases/. This repository holds no secrets.

The app runs with the hardened runtime and three entitlements (build/entitlements.mac.plist): JIT for Electron, the microphone for calls, and Apple Events so Full access can use your apps. Bops asks macOS for Screen Recording, the microphone and notifications, and Full access also needs Full Disk Access and Automation. Bops isn't on the Mac App Store because its sandbox would stop Bops from running its own server, starting Codex and Chrome for the bots, and driving other apps.

Project layout

| Path | What's there | |---|---| | app/ | Next.js routes: the UI and app/api/* | | components/app/ | The app's UI. components/message-ui/ is the chat kit. | | lib/server/ | Everything server-side: chat engine, sessions, providers, state | | lib/plan-includes.ts | What each plan includes, in the words the app and bops.bot show | | desktop/ | The Electron shell | | vm/ | What runs on the bots' computers: screen MCP, browser helpers | | orgo/ | The Orgo template builder | | cloud/ | Bops Cloud, the server for hosted Bops | | db/ | The Postgres schema for hosted Bops | | edge/ | The webhook relay for self-hosting | | slack/ | Bops' own Slack app | | site/ | bops.bot | | docs/ | How Bops builds on Orgo. docs/releases/ has what's new in each version. |

Contributing

Bug reports and pull requests are welcome. For anything bigger than a small fix, open an issue first so we can agree on the approach. Read CONTRIBUTING.md, which covers the CLA, and the Code of Conduct.

Before you open a pull request:

npx next typegen        # route types (next-env.d.ts isn't committed)
npx tsc --noEmit -p .
npm run lint

Privacy

Signed in with Orgo, Bops sends Orgo usage events through PostHog, the analytics service orgo.ai uses: the app opening, a bot being made, a message sent or a task finished (counted, never read), a plan changing, and errors in Bops' own code (the error's type and where in Bops' code it happened, never its message). They are tied to your Orgo account and never include what you or your bots write, say or see: no messages, emails, files, contacts, phone numbers, web addresses, screens or keys. Like orgo.ai, the app's window also sends device details: OS, screen size, time zone, a device id and approximate location from your IP. Bops doesn't record your screen or your sessions. Turn it off for all your Macs in Settings → You → Share usage data, or on one Mac with BOPS_TELEMETRY=0 or DO_NOT_TRACK=1 in ~/Library/Application Support/Bops/.env.local. The one-Mac setting stops what that Mac sends and what Bops Cloud sends for it; account events Bops Cloud sees on its own (AI credit running out, a plan changing, a number your plan set up) stop only with the Settings switch. Self-hosted (BOPS_SELF_HOSTED=1), Bops sends nothing. Every event and property is listed in cloud/analytics-rules.ts. See Orgo's Privacy Policy and subprocessors.

Security

License

Bops is fair source: the code is public, and you can read it, run it, change it and share it. It's under the Functional Source License, Version 1.1, ALv2 Future License (FSL-1.1-ALv2, about FSL). Here it is in plain words; the LICENSE has the exact terms, and they're what count.

The license also gives you our patents for these uses (until you sue someone claiming Bops infringes a patent), and Bops comes as is, with no warranty.

| Can I… | | |---|---| | Run Bops for myself, or across my company? | Yes. | | Change it and share my version? | Yes, under the same license, with a different name and logo (TRADEMARK.md). | | Build my own product with it? | Yes, as long as that product doesn't compete with Bops (above). | | Offer a hosted Bops, or sell an app that does what Bops does? | Not under FSL. Each version allows it two years after its release, under Apache 2.0. | | Contribute? | Yes, see CONTRIBUTING.md. |

"Bops", the Bops logo and the bot mascots are trademarks of Organic Intelligence, Inc. The license covers the code, not the name or logo. See TRADEMARK.md.

GitHub Stars & Activity

212Stars
63Forks
0Open issues
TypeScriptLanguage

GitHub Popularity

GitHub stars212
Forks63
Open issues0
Primary languageTypeScript
License-
Stars gained today0
Created-
Last pushed-

Trending History

Daily boardrank #74 · ▲ 0 stars

Related AI Projects

1

deepseek-ai / deepseek-harness

TypeScript★ 245,651⑂ 0
→
2

n8n-io / n8n

TypeScript★ 206,719⑂ 0
→
3

firecrawl / firecrawl

TypeScript★ 189,587⑂ 0
→
4

langgenius / dify

TypeScript★ 157,923⑂ 0
→
5

thedotmack / claude-mem

TypeScript★ 98,319⑂ 8,628▲ 662 stars
→
6

koala73 / worldmonitor

TypeScript★ 88,058⑂ 13,438▲ 94 stars
→
7

ItzCrazyKns / Vane

TypeScript★ 37,147⑂ 4,124▲ 51 stars
→
8

tashfeenahmed / freellmapi

TypeScript★ 32,080⑂ 4,457▲ 508 stars
→

More AI Rankings