You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 6ab3b3f
Browse filesBrowse the repository at this point in the historyBrowse files
Bring the docs and the changelog up to date with the code before release
Every claim in the README, .env.example, docs/ and the chart README was
checked against the code on main and corrected where it had drifted.
The README points to running Intelligence locally on the free Developer
plan and to having CopilotKit build OpenBot with you.
The Unreleased changelog gains entries for Automatic Learning, Parallel
Search, constant-time token checks and the lodash-es pin, an upgrade note
naming migrations 0042 to 0051, and the entries that had been written into
the already released 0.0.15 and 0.0.14 sections after their tags.
Copy file name to clipboardExpand all lines: README.md
+55-13Lines changed: 55 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,9 +35,12 @@ your own machine.
35
35
36
36
> **Runs on your machine.** Everything below is written for a laptop. `.env.example` carries `OPENBOT_SINGLE_USER=true`, which admits every request as one administrator, so a fresh clone reaches the product without registering an OAuth client first. [Sign-in](#sign-in) turns that off, and is required before anybody else can reach the deployment.
37
37
38
-
> **Do not want to build it yourself?** We will. Our engineers will stand OpenBot up inside your
39
-
> infrastructure, customize it into something that looks like your own product, and hand it back to you to
40
-
> keep changing. [**Start the conversation**](https://copilotkit.ai/talk-to-an-engineer?ref=openbot_readme).
38
+
> **We can build this for you, or with you, at your company.** Our engineers will stand OpenBot up
39
+
> inside your infrastructure, customize it into something that looks like your own product, and hand it
40
+
> back to you to keep changing. [**Start the conversation**](https://copilotkit.ai/talk-to-an-engineer?ref=openbot_readme).
41
+
>
42
+
> In the meantime, run all of it on your laptop, Intelligence included: CopilotKit's free Developer plan
43
+
> covers [running Intelligence locally](#intelligence-on-your-own-machine) in Docker on a Mac.
41
44
42
45
## What it is
43
46
@@ -92,9 +95,11 @@ A Bot is any endpoint speaking [AG-UI](https://github.com/ag-ui-protocol/ag-ui),
92
95
`openbot` Learning container, then writes both settings to `.env`. It preserves
93
96
custom container assignments and refuses to replace an existing OpenBot key.
94
97
For fresh self-hosted setup, set `INTELLIGENCE_API_URL` to that deployment's
95
-
HTTPS API origin and run the helper without the two `npx` commands. It opens
96
-
an isolated Chrome or Edge window for your usual sign-in and project choice;
97
-
install either browser first. Existing key-only setups can assign a container
98
+
HTTPS API origin (or `http://localhost` for a local one) and run the helper
99
+
without the two `npx` commands. It opens an isolated Chrome or Edge window for
100
+
your usual sign-in and project choice; install either browser first. It writes
101
+
the API URL, the key and the container, not `INTELLIGENCE_GATEWAY_WS_URL`, so
102
+
set that one to the same deployment yourself. Existing key-only setups can assign a container
98
103
through [Admin → Automatic Learning](docs/automatic-learning.md).
99
104
Managed Intelligence needs no separate licence token.
100
105
@@ -116,9 +121,31 @@ A Bot is any endpoint speaking [AG-UI](https://github.com/ag-ui-protocol/ag-ui),
116
121
117
122
5. Open <http://localhost:3010>.
118
123
119
-
`scripts/start.sh` starts Docker services, applies migrations, starts the API server on port 3001, starts the app on port 3010, and checks that the services answer their own health routes before printing next steps.
124
+
`scripts/start.sh` starts Docker services, applies migrations, starts the API server on port 3001, starts the routine worker, starts the app on port 3010, and checks that the services answer their own health routes before printing next steps.
120
125
121
-
`scripts/stop.sh` takes the same things down, including each Bot's computer, which compose does not own. Nothing is deleted: the database, the Bots' files and their browser profiles are volumes.
126
+
`scripts/stop.sh` takes the same things down, including each Bot's computer, which compose does not own; `--keep-computers` leaves the computers running. Nothing is deleted: the database, the Bots' files and their browser profiles are volumes.
127
+
128
+
### Intelligence on your own machine
129
+
130
+
To try Intelligence on one Mac instead of the managed service, follow
131
+
[Evaluate Intelligence locally](https://docs.copilotkit.ai/intelligence/self-hosting-local). The free
132
+
[Developer plan](https://www.copilotkit.ai/pricing) qualifies. The local licence lasts 30 days and
133
+
`npx copilotkit@latest local renew` renews it as often as you need, while your account is in good
134
+
standing. It is a preview for macOS with Docker Desktop,
135
+
not a production installation. Run its
136
+
`npx copilotkit@latest local connect` from the OpenBot root, where `.env` is.
137
+
138
+
That command writes `INTELLIGENCE_API_URL`, `INTELLIGENCE_GATEWAY_WS_URL` and
139
+
`CPK_INTELLIGENCE_API_KEY` to `.env`. OpenBot reads the first two as they are, but takes its project
140
+
key only from `INTELLIGENCE_API_KEY` and refuses to start without it, so copy the `cpk-...` value
141
+
across before `bash scripts/start.sh`:
142
+
143
+
```sh
144
+
INTELLIGENCE_API_KEY=cpk-... # the value of CPK_INTELLIGENCE_API_KEY
145
+
```
146
+
147
+
To give the Bots a Learning container on that stack, see
148
+
[Automatic Learning](docs/automatic-learning.md).
122
149
123
150
## Deploy it
124
151
@@ -157,10 +184,19 @@ Leave `EMBEDDED_POSTGRES` off and set `DATABASE_URL` to point at a database you
@@ -171,6 +207,7 @@ Leave `EMBEDDED_POSTGRES` off and set `DATABASE_URL` to point at a database you
171
207
|`/admin/learning`| Assign Learning containers to Bots, or pause Automatic Learning. |
172
208
|`/admin/people`| List, promote, demote, and remove people who have signed in. |
173
209
|`/admin/identity-providers`| Register a company SAML or OIDC provider, routed by email domain. |
210
+
|`/admin/enterprise`| What members may use, how Bot computers reach the network, and what is recorded about it. |
174
211
|`/admin/audit`| Review permitted, refused, and failed actions. |
175
212
176
213
## Features
@@ -184,15 +221,15 @@ Leave `EMBEDDED_POSTGRES` off and set `DATABASE_URL` to point at a database you
184
221
-**Secrets never enter the transcript**: the trail records that a secret was requested and how long it was, not what it said.
185
222
-**Bring your own agent**: any AG-UI endpoint is a Bot, on a framework or hand-written. Endpoints are validated with the same target checks used for browser navigation, and an auth header is stored write-only.
186
223
-**Components instead of prose**: compiled React components live in `app/src/components/gallery/`, sandboxed ones are authored in `/admin/playground` and published with no deployment. Every call asks the server whether the component exists, is published, and is not withheld from that Bot. Data functions are granted per component.
187
-
-**Governed MCP**: Google Driveand Notion ship in the catalogue, and Composio brokers a few hundred more apps behind one account, each reached as the person asking. The catalogue carries only vendors this deployment stands behind, so adding one is a review of that vendor. Custom servers must pass URL checks; unknown tools and custom-server tools are treated as writes, and a catalogue tool the server advertises but does not name as a write classifies as a read. A Bot is told which connectors exist here and which it holds, so it says it has not been granted one rather than browsing to the vendor's website.
224
+
-**Governed MCP**: Google Drive, Notion and [Parallel Search](docs/parallel-research.md) ship in the catalogue, and Composio brokers a few hundred more apps behind one account, each reached as the person asking. The catalogue carries only vendors this deployment stands behind, so adding one is a review of that vendor. Custom servers must pass URL checks; unknown tools and custom-server tools are treated as writes, and a catalogue tool the server advertises but does not name as a write classifies as a read. A Bot is told which connectors exist here and which it holds, so it says it has not been granted one rather than browsing to the vendor's website.
188
225
-**Skills are instructions, not capabilities**: personal skills attach only to Bots their author owns, deployment skills are admin-owned, and both are invoked with `/` in the composer. A Bot granted the shipped `skill-creator` skill can write one with you in the conversation, and saves it only when you press the button on the card.
189
226
-**Sign in with what your company already has**: Google, Microsoft or Okta from the environment, or a company's own SAML or OpenID Connect provider registered while the deployment runs and routed by email domain. Any one turns sign-in on; several may be configured at once.
190
227
-**Decide who gets in**: `/admin/people` lists everybody who has signed in, promotes and demotes them, and removes access, which ends the session they are using and stops the next sign-in. Every change is on the audit trail.
191
228
-**An audit trail you can read**: `/admin/audit` lists what was permitted, what was refused and what failed, and every refusal carries the rule that caused it.
192
229
-**Credentials encrypted at rest**: stored through `/admin/credentials`, never returned by an API, and redacted from audit events.
193
230
-**Loopback by default**: computers bind to `127.0.0.1` and require a per-container token, so nothing reaches a logged-in browser by knowing its port. The supervisor binds there too, because it holds the Docker socket and its token is a shared secret rather than a network boundary.
194
231
-**Durable threads and memory**: conversations survive restarts through CopilotKit Intelligence, and each deployment stamps the threads it owns.
195
-
-**Routines**: ask a Bot to do something on a schedule and it does, running as you, in the channel you asked in. A 15-minute floor and a cap of 20 enabled routines keep a sentence from scheduling more than a person meant, and ten failures in a row switch a routine off rather than burn model spend forever. Needs a worker process; see [docs/routines.md](docs/routines.md).
232
+
-**Routines**: ask a Bot to do something on a schedule and it does, running as you, in the channel you asked in. A 15-minute floor and a cap of 20 enabled routines keep a sentence from scheduling more than a person meant, and ten failures in a row switch a routine off rather than burn model spend forever. Needs a worker process, which `scripts/start.sh` starts locally; see [docs/routines.md](docs/routines.md).
196
233
197
234
## Bring your own agent
198
235
@@ -270,6 +307,7 @@ Full reference: [docs/configuration.md](docs/configuration.md).
0 commit comments