Daat Locus is an Actor system with one conversation interface:
Actor = Agent core + installed App instances
The account Actor accepts requests and delegates to persistent Actors. Devices share its conversation and model context, provide tools, and can take over its worker. Ordinary Actors keep their own host. Follow Actor links to open work conversations; no permanent sidebar, TUI, Workflow or Sleep framework is needed.
The WebUI supplies messages, attachments, queue guidance, compact activity and results. Account/settings live in a floating menu, conversation search in the opposite corner. Chinese and English are supported; language follows the browser by default and can be selected in Appearance. Guest sharing and public tunnels are removed; accounts run locally or connect devices through authenticated, end-to-end encrypted public relay channels.
Install Rust, Bun and wasm-pack:
rustup target add wasm32-unknown-unknown
bun scripts/build-webui.ts
cargo run -- serveBuild the shared WebUI/authentication WASM once, then Cargo embeds the dist with
zstd for the standalone browser service. Rust build scripts do not run frontend
toolchains. Use --no-default-features for a headless service. Open
the printed address and create an account locally, or sign in with the same
account name and password on another device. OPAQUE keeps passwords in the client;
browser sessions use HttpOnly cookies. --profile NAME isolates local accounts.
Local mode starts no cross-device infrastructure. In relay mode, discovery and
synchronization are automatic through a public WSS service, deployable on
Cloudflare Workers/DO or an ordinary server. Devices retain execution authority.
Use daat-locus --help for clap help and the original character logo.
serve runs in the foreground; start --open, status --json, stop and
restart manage the selected profile through local OS-owner IPC. Stopping or
restarting keeps Actor identity and history. Headless first-account creation is
account create NAME --password-stdin; never pass passwords as command arguments.
Windows and macOS use the Tauri desktop client, sharing
the same WebUI and account interfaces. Tauri owns the native assets and compression;
its companion service excludes embedded-webui. Follow the native build guide,
then run daat-locus-app next to the service executable. start --open prefers the installed client. Closing its
window hides it; Quit client preserves background tasks; service maintenance uses
the CLI. The independent backend has no GUI dependencies. Linux
retains the service and browser entry. Android embeds the same core and WebUI in an APK;
a terminal is not required. See native client builds.
| Mode | Behavior |
|---|---|
| Auto | Independent model review approves or denies; errors deny, without human fallback. |
| Ask | Owner reviews the immutable action and requested access. |
| Full access | Runs without approval review, within hard identity and access boundaries. |
Extra filesystem access applies to one action. Read-only identity, tool grants, framework credentials and other Actors' private data remain protected. Native sandbox requirements fail closed. Files use SHA256 freshness checks; resources are authorized by Actor and have stable pathless descriptions across devices.
Execution has no fixed message, ReAct-round or tool-batch limit. A full context window is cleared with an archive-recovery prompt rather than summarized or slid. Original history persists; interrupted or uncertain effects are not replayed. The account's worker keeps healthy affinity and hands off to a synchronized device. New devices join as replicas without adding permanent voting dependencies. If account authority becomes unreachable, an eligible synchronized device continues in a durable local recovery branch. Reconnection merges the conversation while retaining original branches and never replaying uncertain App effects.
See contribution instructions, architecture,
model catalog and license notes.
Explicit DAAT_LOCUS_BUILD_WEBUI=0 omits WebUI assets for backend-only checks.
cargo xtask package binary --target <triple> creates a binstall archive.
package windows and package macos create native installers on their respective
platforms. Binary archives carry the embedded browser service; native installers
carry the Tauri UI and an API-only companion service, avoiding duplicate assets. No Git submodules are needed.