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 55636f2
Browse filesBrowse the repository at this point in the historyBrowse files
Bring the docs, changelog and chart version in line for a release (#520)
Validated every doc against the code and fixed the drift found:
- README: the Main surfaces table was missing /routines, /admin/skills,
/admin/people and /admin/identity-providers, and described /admin/plugins
as configuring deployment skills, which it no longer does.
- configuration.md: five required vars, not three; documented AGENT_BOT_MODEL,
BOT_REASONING_EFFORT and OPENAI_CONTAINER_BASE_URL; fixed a broken table
column; distinguished COMPUTER_SANDBOX from the cluster sandbox provider.
- architecture.md: added the command policy field and the agent-harness service.
- coworkers.md: noted the provenance block the deployment appends to the
standing role.
- development.md: openssl and npx prerequisites, and the routine worker in the
start.sh summary.
- releasing.md: the two gating CI jobs the checks table omitted; the release PR
now carries three changes.
- deployment.md: removed the desktop folder-access section; the desktop app is
not released.
- plugins/google-drive.md: rewritten for the REST API the connector actually
uses, replacing the abandoned MCP setup, troubleshooting and enrolment steps.
CHANGELOG: added the validation-hardening sweep that had no entry yet
(agent tool-call, policy dry-run and audit-event limits, component publication,
sandboxed fields, catalogue entries, the four human-input gestures), calling out
the component decision-function fail-open; dropped the desktop question-box
entry, since the desktop app is not released.
Chart version: the default image tag was the bare appVersion (0.0.4), but
published tags carry a v and 0.0.4 predates the first startable release, so a
default helm install sat in ImagePullBackOff. appVersion now tracks the released
version (0.0.9), the tag helper prefixes v to name a tag that exists, the release
workflow moves appVersion with package.json every release, and CI refuses a tree
where the two have drifted.
echo "::error::package.json is $pkg but charts/openbot/Chart.yaml appVersion is $chart. The release workflow moves them together; bring them back into line."
48
+
exit 1
49
+
fi
38
50
39
51
# The two packages that are deployables in their own right rather than root workspaces. Root
40
52
# `typecheck` is `bun run --filter '*' typecheck`, and `--filter '*'` enumerates `workspaces`, which
|`INTELLIGENCE_API_KEY`| Runtime key for the Intelligence project. |
26
26
27
-
The three above are required together. Missing any of them stops server startup.
27
+
All five above stop server startup if missing. The three `INTELLIGENCE_` values are additionally
28
+
checked as a set, so a partial set is refused as a misconfiguration rather than treated as
29
+
unconfigured.
28
30
29
31
`COPILOTKIT_LICENSE_TOKEN` is optional: managed Intelligence issues no licence token, and a
30
32
self-hosted Intelligence that has one sets this and has it forwarded to the runtime.
@@ -51,8 +53,10 @@ at `agent-langgraph` on a laptop.
51
53
|`ANTHROPIC_BASE_URL`| unset | Anthropic-compatible endpoint that key is spent against. |
52
54
|`GOOGLE_API_KEY`| unset | Google key when `BOT_PROVIDER=google`. |
53
55
|`GOOGLE_GENERATIVE_AI_BASE_URL`| unset | Google-compatible endpoint that key is spent against. |
54
-
|`BOT_MODEL`| provider default from Bot code/env | Model used by the shipped Bots. |
56
+
|`BOT_MODEL`| provider default from Bot code/env | Model for the framework Bot (`agent-langgraph`). Provider defaults are `gpt-5.5`, `claude-sonnet-4-5`, and `gemini-2.5-flash`. |
57
+
|`AGENT_BOT_MODEL`|`gpt-5.5`| Model for the proof-of-concept Bot (`agent-bot`), kept separate because it speaks `/v1/chat/completions` directly and refuses a model it cannot use. |
55
58
|`BOT_RESPONSES_API`|`false`| Makes `agent-langgraph` use the OpenAI Responses API. |
59
+
|`BOT_REASONING_EFFORT`| unset (provider default) | OpenAI and the Responses API only: one of `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, `max`. `agent-langgraph` refuses to start on any other value, on a non-`openai` provider, or without the Responses API. |
56
60
|`AGENT_STALL_TIMEOUT_MS`| unset (off) | How long a Bot's stream may produce nothing before the turn is ended for it. |
57
61
|`AGENT_TOOL_TOKEN`| unset; `start.sh` generates one | The secret a framework Bot presents when it calls a granted tool back through this server. |
58
62
|`APP_DIST_DIR`| unset | Where the built app is, when this process serves it. Set inside the container image; unset in development, where Vite serves the app. |
@@ -128,6 +132,8 @@ in-cluster Service address.
128
132
129
133
It moves the whole deployment rather than one Bot. The API server reads it for package built-in agents, `agent-bot` reads it for the client it constructs, and `agent-langgraph` reads it for `BOT_PROVIDER=openai`.
130
134
135
+
`OPENAI_CONTAINER_BASE_URL` overrides that value inside the Bot containers only, for an endpoint the containers reach by a different route than the host does. Unset, the containers use `OPENAI_BASE_URL` like everything else.
136
+
131
137
The other two providers work the same way under their own names, because they are different APIs rather than different URLs for this one: `ANTHROPIC_BASE_URL` and `GOOGLE_GENERATIVE_AI_BASE_URL`. All three are the names the API server already reads, so one line moves the built-in agents and the Bots together and a deployment cannot end up with half of itself pointed somewhere else.
132
138
133
139
Model names travel verbatim, so use whatever the endpoint publishes. An endpoint that namespaces its catalogue wants both halves of the name, in `BOT_MODEL` and in the tenant package's `default_model` alike.
@@ -244,11 +250,17 @@ then is a row nothing will read.
244
250
| `COMPUTER_SUPERVISOR_URL` | Supervisor URL for per-Bot computers. If absent, Bots share `AGENT_COMPUTER_URL`. |
245
251
| `SUPERVISOR_TOKEN` | Bearer token required by the supervisor. |
246
252
| `AGENT_COMPUTER_ALLOW_PRIVATE_HOSTS` | Local-only private-host browsing when `true`. A deployment running with `NODE_ENV=production` refuses to start while it is set. Cloud metadata addresses are refused either way. |
247
-
| `AGENT_ENDPOINT_ALLOWED_HOSTS` | unset | Private addresses an agent may be registered at, comma separated. Host, optionally with a port. Exact match; no wildcards. Never-allowed addresses cannot be named. |
253
+
| `AGENT_ENDPOINT_ALLOWED_HOSTS` | Private addresses an agent may be registered at, comma separated; unset (none) by default. Host, optionally with a port. Exact match; no wildcards. Never-allowed addresses cannot be named. |
| `COMPUTER_RUNTIME` | Set to `runsc` to run supervised computers under gVisor. |
250
256
| `COMPUTER_SANDBOX` | Set to `on` to enable Chromium's own sandbox where the host permits user namespaces. Which way it went is printed at start-up. |
251
257
258
+
`COMPUTER_SANDBOX`is not the cluster sandbox provider. A Kubernetes deployment can instead run each
259
+
computer as a sandboxed pod, selected by `COMPUTER_SANDBOX_NAMESPACE` with `COMPUTER_SANDBOX_IDLE_AFTER`
260
+
and `COMPUTER_SANDBOX_TEMPLATE_FILE` beside it; those are set by the Helm chart, not by Compose, and
261
+
are covered in [charts/openbot/README.md](../../charts/openbot/README.md). The similarly named
262
+
`COMPUTER_SANDBOX`above only toggles Chromium's own process sandbox on a Docker computer.
263
+
252
264
Changing `COMPUTER_BROWSER_MODE` affects new supervised computers. A computer that already exists is
253
265
left running until its image changes or its container is recreated. To apply a mode-only change to
254
266
all computers while preserving their browser profiles and workspaces, apply the new supervisor
0 commit comments