feat: Intelligence Layer Phase 1 — orchestrator service
Adds the Gemini API orchestrator (ReAct tool loop → Claude responder):
Orchestrator engine + router:
- orchestrator_engine.py: Gemini API tool loop, Claude CLI handoff
- routers/orchestrator.py: POST /orchestrate (async job queue), GET /orchestrate/{job_id}
Tools (cortex/tools/):
- web.py: DuckDuckGo web search (no key required)
- ae_knowledge.py: ae_journal_search + ae_journal_entry_create (AE V3 API)
- ae_tasks.py: ae_task_list (reads agents_sync Kanban filesystem)
- files.py: file_read (path-allowlisted to safe dirs)
Config + deps:
- config.py: orchestrator, DuckDuckGo, and AE API settings
- requirements.txt: google-genai, duckduckgo-search
- .env.default: reference config with all new keys documented
Docs:
- CLAUDE.md, README.md, documentation/ added to repo
- Port references updated 7331 → 8000 throughout
- Default model updated to gemini-2.5-flash
Tested: ae_task_list, ae_journal_search, web_search all working end-to-end.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
91
README.md
Normal file
91
README.md
Normal file
@@ -0,0 +1,91 @@
|
||||
# Cortex / Inara — Project Root
|
||||
|
||||
**Owner:** Scott Idem (One Sky IT / Danger Zone)
|
||||
**Started:** 2026-03-04
|
||||
**Status:** Active development
|
||||
|
||||
> *"You can't stop the signal."*
|
||||
|
||||
Cortex is a self-hosted multi-agent orchestration layer. Inara is the primary conversational agent that lives inside it.
|
||||
|
||||
---
|
||||
|
||||
## Quick Orientation
|
||||
|
||||
| Directory | What it is |
|
||||
|---|---|
|
||||
| `cortex/` | FastAPI service — dispatcher, routing, LLM backends, session management |
|
||||
| `inara/` | Inara identity, memory, context, and help files |
|
||||
| `docs/` | Integration reference docs (NC Talk bot, etc.) |
|
||||
| `documentation/` | Architecture decisions, project plans, agent task lists |
|
||||
|
||||
---
|
||||
|
||||
## Running Cortex
|
||||
|
||||
```bash
|
||||
# Start (Docker)
|
||||
cd ~/agents_sync/projects/Cortex_and_Inara_dev
|
||||
docker compose up -d
|
||||
|
||||
# Restart service only (after backend changes)
|
||||
sudo systemctl restart cortex
|
||||
|
||||
# Logs
|
||||
journalctl -u cortex -f
|
||||
|
||||
# Web UI
|
||||
http://localhost:8000 (or cortex.dgrzone.com on WireGuard)
|
||||
```
|
||||
|
||||
Config lives in `cortex/config.py` and a `.env` file at the project root (not tracked — see `env.default`).
|
||||
|
||||
---
|
||||
|
||||
## Key Documentation
|
||||
|
||||
| File | Purpose |
|
||||
|---|---|
|
||||
| `documentation/TODO__Agents.md` | Active task list — read first |
|
||||
| `documentation/ARCH__Intelligence_Layer.md` | Intelligence layer architecture (orchestrator, dev agents, knowledge) |
|
||||
| `docs/NEXTCLOUD_TALK_BOT.md` | NC Talk bot setup |
|
||||
| `inara/IDENTITY.md` | Inara persona and identity |
|
||||
| `inara/HELP.md` | In-app help content (rendered in UI) |
|
||||
| `inara/PROTOCOLS.md` | Inara behavioral protocols |
|
||||
| `~/agents_sync/projects/CORTEX.md` | High-level project vision and phases |
|
||||
|
||||
---
|
||||
|
||||
## Architecture at a Glance
|
||||
|
||||
```
|
||||
[User / Cron / Webhook]
|
||||
↓
|
||||
Cortex Dispatcher (FastAPI, cortex/)
|
||||
↓
|
||||
LLM Backend(s)
|
||||
• Claude CLI — primary reasoning, coding, long-context
|
||||
• Gemini CLI — secondary / cost routing
|
||||
• Ollama — offline/private (scott_gaming, future)
|
||||
↓
|
||||
Inara (identity + memory in inara/)
|
||||
```
|
||||
|
||||
See `documentation/ARCH__Intelligence_Layer.md` for the evolving orchestrator/responder and dev-agent architecture.
|
||||
|
||||
---
|
||||
|
||||
## Inara
|
||||
|
||||
Inara is not tied to a specific model. The name is fixed; the backend may vary.
|
||||
Her identity and behavioral files live in `inara/` and are loaded at startup via `cortex/context_loader.py`.
|
||||
|
||||
---
|
||||
|
||||
## Related Projects
|
||||
|
||||
| Project | Path |
|
||||
|---|---|
|
||||
| Aether Platform API | `~/OSIT_dev/aether_api_fastapi/` |
|
||||
| Aether Frontend | `~/OSIT_dev/aether_app_sveltekit/` |
|
||||
| Fleet coordination | `~/agents_sync/` |
|
||||
Reference in New Issue
Block a user