Skip to content

Es00bac/OpenCAS-Manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenCAS Manager

OpenCAS Manager is the native Qt operator surface for OpenCAS. It is a C++/Qt6 desktop application for configuring, observing, and communicating with a running OpenCAS runtime without turning the runtime into a webview.

The manager follows a Windows 3.1 Program Manager interaction model while retaining the current OpenCAS visual theme: manually placed program-group icons, nested program-group windows, close/tile/cascade window commands, and focused program windows for chat, voice, expression, health, usage, schedule, memory, Body Double desktop context, endpoint exploration, and related runtime surfaces.

Project Status

This repository is a public source snapshot of the Manager application. It does not include private OpenCAS runtime state, local .opencas data, credentials, logs, or personal machine paths. Runtime actions are performed through OpenCAS HTTP APIs; when a runtime API is unavailable, the UI is expected to show that state instead of pretending an operation succeeded.

Related Projects

  • OpenCAS_runtime - the public OpenCAS runtime snapshot that this manager controls.
  • OpenCAS_Documentation - public architecture, installation, API, and release documentation for OpenCAS.
  • OpenLLMAuth - local AI gateway used by OpenCAS for provider routing and OpenAI-compatible model access.
  • gabbee - adjacent Linux desktop voice and dictation tooling from the same local-first operator-tooling family.

Requirements

  • CMake 3.20 or newer
  • C++17 compiler
  • Qt 6 Widgets, Network, Multimedia, MultimediaWidgets, OpenGL, and OpenGLWidgets modules
  • An OpenCAS runtime if you want live data and control actions

Linux package examples are in INSTALL.md.

Build

cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug
cmake --build build -j
ctest --test-dir build --output-on-failure

Run

./build/opencas-manager --base-url http://127.0.0.1:8080

The base URL is persisted with QSettings, so the app remembers the target OpenCAS server between launches.

Voice conversation wake-word mode defaults to Bulma. Change it in the Chat window or set OPENCAS_MANAGER_WAKE_KEYWORD before launching. Set OPENCAS_MANAGER_WAKE_KEYWORD_ENABLED=0 to start with wake gating disabled.

The Body Double program reads screenshots from the runtime API first. Local desktop-context screenshot fallback is opt-in:

OPENCAS_DESKTOP_CONTEXT_ROOT=/path/to/desktop_context ./build/opencas-manager

Do not point that setting at private state you do not intend local users of this application to inspect.

Architecture

  • EndpointManifest.* is the dashboard parity seed and endpoint catalog.
  • WindowManager.* owns top-level floating windows and persists their geometry.
  • ProgramManagerWindow implements the desktop, program groups, manual icon placement, and window menu commands.
  • ProgramTemplateWindow is the base class for new agent-created Manager programs that need a consistent runtime-program shell.
  • ApiClient.* centralizes HTTP URL normalization and JSON requests.
  • MemoryWindow and its visual widgets provide the native memory atlas, timeline, retrieval inspection, and higher-order memory visualizations.
  • ChatWindow provides native chat, microphone capture, voice transcription, TTS playback, wake-keyword conversation mode, and barge-in handling while keeping provider logic inside OpenCAS.
  • EmotionFaceWindow renders live somatic expression from /api/identity/somatic using bundled expression assets.
  • EndpointExplorerWindow is the raw endpoint workbench for API surfaces that do not yet justify a custom program.

See docs/DESIGN.md for the product and UI architecture rules.

Public Boundary

This repository should contain source, tests, bundled non-secret assets, and public documentation only. Keep these out of commits:

  • API keys, provider tokens, credentials, cookies, or private keys
  • .opencas runtime state, chat history, memory databases, screenshots, logs, or local operator workspaces
  • machine-local paths such as Android SDK locations
  • generated build directories and Gradle caches

Security and secret-handling guidance is in SECURITY.md.

About

Native Qt6 operator surface for OpenCAS: Program Manager workspace, live runtime controls, chat, voice, expression, health, memory, and endpoint tools.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages