OpenHuman Subconscious Loop — Background AI That Keeps Working While You're Away
The Subconscious Loop is OpenHuman's idle thread. On a periodic tick, it evaluates a list of tasks against your current workspace state, decides what to do, and either acts autonomously or escalates to you. Think of it as the part of the agent that keeps thinking after you've stopped typing.
🔄 How a tick works
Heartbeat (sleeps minutes between ticks)
→ Subconscious Engine
1. Load due tasks
2. Mark each in-progress
3. Build situation report (memory + workspace)
4. Evaluate every task with local model
5. Execute the decision (act / noop / escalate)
6. Write outcome to activity log
→ noop (skip) | act (execute) | escalate (deeper agent)Ticks are independent. If a tick is still running when the next one starts, the new tick takes over and the old one's in-progress entries are marked cancelled. Ticks never stack.
📋 Task types
System tasks
Seeded automatically at startup. Cannot be deleted, only disabled:
- Check connected skills for errors or disconnections
- Review new memory updates for actionable items
- Monitor system health (local model, memory, connections)
User tasks
Anything you add manually from the UI. Examples:
- "Check urgent emails" (read-only)
- "Send daily summary to Slack" (write intent)
- "Summarize Notion updates" (read-only)
🧠 Three decisions per task
Skip
Nothing relevant right now. Log "nothing new" and schedule next run.
Act
Execute on the local model (read or write). Task completes.
Escalate
Needs deeper reasoning. Hand off to cloud agent.
🛡️ Approval gate
Approval is only required when the agent wants to take a write action that you didn't explicitly ask for:
- "Send digest to Slack" (write intent you set) → no approval needed
- "Check urgent emails" (read-only) → no action, just result
- "Check urgent emails" agent decides to forward them → approval needed
The approval flow works as follows:
- The cloud agent runs in analysis-only mode
- It surfaces a recommendation (e.g., "forward 3 urgent emails")
- An escalation card appears under Approval Needed
- Go ahead re-runs with full permissions
- Skip does nothing
⚡ Two models, one loop
| Stage | Where it runs | Why |
|---|---|---|
| Per-task evaluation | Local model (Ollama) | Free, no rate limit |
| Text-only execution | Local model | Same |
| Tool-using execution | Cloud agent | Tools, context, retries |
| Escalated reads | Cloud agent | Deeper reasoning |
⚙️ Configuration
- Enable/disable: Turn the entire loop on or off
- Tick interval: Default 5 minutes (minimum 5 minutes)
- Inference: Toggle whether the local model evaluates tasks each tick
- Context budget: How much of the workspace report to pass in
- Run Now: Manually trigger a tick from the UI
The UI lives under Intelligence → Subconscious.