Your retro-futuristic, locally operated AI assistant.
Orac is a Linux-hosted conversational AI system built around a local LLM, Oracle Database, a voice pipeline, optional internet retrieval, and a governed plugin runtime. It is designed for local operation and explicit control over credentials, retrieval, plugins, and home-automation integrations.
- Local LLM conversations through Ollama or another compatible configured service.
- Persistent conversation and configuration data in Oracle Database.
- Local speech recognition with Faster Whisper.
- Wake-word activation with openWakeWord, plus optional Porcupine support.
- Speech synthesis through Kokoro with Piper fallback.
- Explicit or policy-controlled internet retrieval through a local SearXNG service.
- Manifest-driven plugins with scoped configuration, secrets, execution policy, service lifecycle, database deployment, and audit boundaries.
- Home Assistant device/entity synchronisation and the narrow supported resync voice command.
- Browser and desktop display surfaces for runtime state and transcripts.
- Oracle APEX administration, backup, and restore tooling for the local deployment.
Orac is under active development. Several foundations are operational, while some advertised capabilities remain intentionally constrained:
- Home Assistant device control is not yet enabled; synchronisation and resync are the current supported paths.
- Barge-in, native playback, and acoustic echo cancellation include experimental modes and require explicit configuration.
- Vector storage and the OpenAI-compatible gateway contain reserved settings but are not complete production services.
- Future work is kept separate from the current-capability documentation.
| Component | Role | Required |
|---|---|---|
| Orac AI engine | Conversation orchestration, plugins, context, retrieval | Yes |
| Oracle Database + ORDS/APEX | Persistence and administration | Yes for the supported local stack |
| Local LLM service | Model inference, normally Ollama | Yes |
| SearXNG | Local/private search provider | When internet retrieval is enabled |
| Faster Whisper | Local speech-to-text | For voice operation |
| Kokoro or Piper | Local text-to-speech | For spoken responses |
| Home Assistant | Smart-home inventory and future control | Optional |
Orac uses SearXNG as its local/private search provider. See Internet Retrieval for installation, configuration, and troubleshooting.
The supported deployment path assumes Linux, Docker Engine with Buildx, bash,
sudo, Python 3.12+, and a local checkout.
git clone https://github.com/Avalon60/orac.git
cd orac
python3 -m venv .venv
source .venv/bin/activate
pip install -e .Then:
- Review
resources/config/orac.envandresources/config/orac.ini. - Create the installer database credential with
bin/dbconn-mgr.sh -c orac. - Deploy the local database with
bin/orac-db-deploy.sh. - Start the complete stack with
bin/orac-ctl.sh start. - Confirm status with
bin/orac-ctl.sh status.
Read Installation before deploying a new host. The
deployment script currently supports only TOPOLOGY=db-local.
- Documentation index
- Installation
- Configuration reference
- Runtime user preferences
- Plugins
- Home Assistant
- Internet retrieval
- Voice pipeline
- APEX administration
- Backup and restore
- Docker Compose deployment
- Architecture overview
bin/orac-ctl.sh start
bin/orac-ctl.sh stop
bin/orac-ctl.sh restart
bin/orac-ctl.sh status
bin/orac-ctl.sh compose-check
bin/orac-ctl.sh logsUse bin/orac.sh only when controlling the host AI engine independently from
the Compose-managed services.
This project is licensed under the MIT License. See LICENSE.
Orac is named after the computer from Blake's 7, combining a retro science fiction reference with a modern local AI system.
