Workspace requirements
What Knowledge Worker Agent needs from a workspace, and what it uses while people chat and dictate. Use this page to plan workspaces.
The model that writes the answers runs at the model provider, outside the workspace. In the workspace, each chat turn runs opencode, the agent that Knowledge Worker Agent drives. opencode uses most of the memory and CPU while a chat works. Between turns, almost nothing runs.
What a workspace needs
| Requirement | Details |
|---|---|
| Platform | A Citrix SecurSpaces™ workspace. For what the platform provides, see How Knowledge Worker Agent works. |
| CPU | A few cores for seconds at a time, while a chat works. Four chats working at once used all 8 CPUs of the measured workspace at times. Dictation uses most of the CPU quota while someone dictates. |
| Memory | About 1.1 GB for each new chat working at once, and 20 MB at rest. Dictation adds up to 0.54 GB while its engine runs. |
| Disk | About 0.25 GB for opencode, plus chat history that grows with use. Dictation adds 0.28 GB to the image. |
| GPU | Not used. Chats and dictation run on the CPU. |
| Network | The model provider, and the services listed in Network access. |
| Ports | On 127.0.0.1 and ::1: 8765 for Knowledge Worker Agent. On 127.0.0.1: 8766 for shared chats, 8769 for HTML previews, and 8770 to 8799 for shared files. |
Memory and CPU
Measured in an 8-CPU workspace, with opencode 1.x:
| Activity | Memory, peak | CPU, average | CPU, peak | Turn took |
|---|---|---|---|---|
| Nothing running | 20 MB | None | None | Not applicable |
| One turn in a new chat | 1.1 GB | 0.5 cores | 3.8 cores | 12–13 s |
| A follow-up turn | 0.62 GB | 0.3 cores | 2.2 cores | 10 s |
| Two new chats at once | 2.1 GB | 1 core | 6.9 cores | 12–14 s |
| Four new chats at once | 3.5 GB | 1.9 cores | 8 cores, the full quota | 13–15 s |
-
Memory goes back to about 20 MB within seconds of each turn ending.
-
The first turn in a new chat also names the chat, so it uses more memory than a follow-up turn. With automatic chat names off (
KWA_AUTO_TITLE=off), this doesn't happen. -
Opening the Toolbox can start an opencode server that holds about 0.3 GB until it's unused for 10 to 15 minutes.
-
Knowledge Worker Agent checks its setup at startup and at regular intervals. Each check uses up to 0.64 GB for up to 18 s.
-
Scheduled tasks, project summaries, and day notes run the assistant too. Count them as chats.
-
Commands the assistant runs, such as builds or scripts, use memory and CPU on top of these figures.
Disk
The fixed part is opencode, in the home folder: about 0.25 GB for the program and its cache.
LibreOffice, which previews PowerPoint, Word, and Excel files, takes about 546 MB more once a user installs it, and needs about 1.1 GB free while it installs.
Chat history grows with use:
| What | Growth |
|---|---|
| opencode's chat history | 0.3–0.5 MB for each short turn. A turn that reads large files grows it by about twice their size. |
| Knowledge Worker Agent's database | 0.09 MB for each turn |
| Files the assistant writes | Depends on the task |
In one workspace in daily use, opencode's chat history reached 1.25 GB after about three months. Most of it came from a few chats that read many large files. Knowledge Worker Agent's own database was 13 MB after 4.5 months.
Deleting a chat also deletes its history. The database file doesn't shrink, but new chats reuse the space.
When less than 5% of the disk is free, users see a warning with the steps to increase it in the SecurSpaces console. For more information, see If your workspace is almost out of disk space.
For every location, see Storage locations.
Network access
The workspace reaches these services:
-
The model provider, for every turn.
-
The npm registry,
registry.npmjs.org, to install and update opencode at startup. The release image includes a copy of opencode for workspaces that can't reach it. The Obsidian connector installs withnpmtoo, unless its install is turned off. -
github.com, to sign in to GitHub Copilot. -
The services of the connectors that users turn on.
-
The configuration repository, with central configuration.
-
Git hosts, for projects backed by a repository and for cloning.
-
downloadarchive.documentfoundation.org, when a user installs LibreOffice to preview PowerPoint, Word, and Excel files.
Each turn sends tens of thousands of input tokens to the model. Check that the provider's quotas allow for this.
Ports
| Setting | Used for | Default port |
|---|---|---|
KWA_PORT |
Knowledge Worker Agent, on 127.0.0.1 and ::1. Only the workspace's owner must be able to reach it. |
8765 |
KWA_GUEST_PORT |
Shared chats, on 127.0.0.1 only. The platform publishes it to guests. |
8766 |
KWA_PREVIEW_PORT |
HTML previews in the Files panel, on 127.0.0.1 only. The platform publishes it to the workspace's owner only. |
8769 |
KWA_ARTIFACT_PORTS |
Shared files, one port per file, on 127.0.0.1 only. The platform publishes each one to the people it's shared with. |
8770 to 8799 |
For why the main port must stay private, see A tool for one person.
Dictation
Dictation runs a speech engine, whisper.cpp with the Whisper
small.en model, inside the workspace. Audio doesn't leave the workspace, and no other service is involved.
| Requirement | Details |
|---|---|
| Speech engine and model | Included in the Knowledge Worker Agent image. Dictation is offered only where both are installed. |
| CPU | Most of the workspace's CPU quota, while someone dictates. |
| Memory | Up to 0.54 GB, while the engine runs. |
| Disk | 0.28 GB in the image. Nothing in the user's home volume. |
| Network | 32 KB/s from the browser to the workspace, while someone dictates. |
| Browser | An HTTPS connection, permission to use the microphone, and support for audio worklets. |
| Language | English. |
Resource use
Measured in an 8-CPU workspace:
| Resource | While dictating | While not dictating |
|---|---|---|
| CPU | 6.2 of 8 cores on average, up to 7.9 | None |
| Memory | Up to 0.54 GB | None, once the engine stops |
| Disk writes | None | None |
| Network | 32 KB/s from browser to workspace | None |
| Browser CPU | About 0.3% of one core | None |
-
A dictation lasts at most 2 minutes, which is 3.84 MB of audio.
-
The engine starts at the first dictation, in about a quarter of a second. It stops 5 minutes after the last one, and frees its memory.
-
Nothing is downloaded while dictation runs. The model is part of the image.
What users can expect
Measured in an 8-CPU workspace with no other load:
| Measure | Result |
|---|---|
| Words appear while speaking | Half within 0.85 s, 90% within 2.35 s |
| Final text after selecting Stop dictation | At most 1.8 s |
| Microphone released after stopping | At most 0.03 s |
| Words wrong, in prompts full of product names, with a vocabulary of those names assigned | About 5% |
| Words wrong, in read English | 3.5% |
Effect on other work
Dictation competes for CPU with whatever else runs in the workspace, such as the assistant's tools or the user's own jobs. The assistant's model runs at the model provider, so the assistant itself isn't slowed. In the measured workspace, a full build of a Go project took 30% longer during dictation.
When the workspace is busy, dictation still works, but slower. During a full build, half the live words appeared within 1.7 s instead of 0.9 s. Live words appear later and catch up at the next pause. No words are lost.
Planning notes
-
Plan memory for the busiest moment: about 1.1 GB for each new chat working at once, and 0.62 GB for each follow-up.
-
Leave room for background checks, about 0.64 GB, and for a server the Toolbox may start, about 0.3 GB.
-
Leave room for what the assistant runs, such as builds, scripts, and document conversions.
-
For dictation, add 0.54 GB of memory, and expect it to use most of the CPU while someone dictates.
-
To help dictation with your organization's product and team names, assign a vocabulary. For more information, see Set up central configuration.
-
To turn dictation off for a workspace, see Turn features on or off.
Limits of these figures
All figures come from one 8-CPU workspace with no memory limit, and a light workload: short chats, no connectors signed in, and one speaker for dictation. Treat them as a minimum. Longer tasks, larger files, and more connectors use more memory, CPU, and disk. Fewer CPUs haven't been measured. With a smaller CPU quota, chats take longer and live dictation words appear later.