|
Initial implementation of the agent system core
- FastAPI server with REST API and WebSocket streaming - Modular LLM backend abstraction (Ollama implemented, OpenAI stub) - Tool system: web_search (ddgs), filesystem, http_request, code_exec, terminal - Agent profiles: smart_home, server_admin, secretary - Tool-calling loop with concurrent tool execution - In-memory session store with SessionStore ABC for future persistence - Registry pattern for tools, profiles, and backends - Orchestrator stub as foundation for multi-agent scenarios |
|---|
|
|
| .env.example 0 → 100644 |
|---|
| .gitignore 0 → 100644 |
|---|
| README.md |
|---|
| navi/__init__.py 0 → 100644 |
|---|
| navi/api/__init__.py 0 → 100644 |
|---|
| navi/api/deps.py 0 → 100644 |
|---|
| navi/api/routes/__init__.py 0 → 100644 |
|---|
| navi/api/routes/agents.py 0 → 100644 |
|---|
| navi/api/routes/health.py 0 → 100644 |
|---|
| navi/api/routes/messages.py 0 → 100644 |
|---|
| navi/api/routes/sessions.py 0 → 100644 |
|---|
| navi/api/websocket.py 0 → 100644 |
|---|
| navi/config.py 0 → 100644 |
|---|
| navi/core/__init__.py 0 → 100644 |
|---|
| navi/core/agent.py 0 → 100644 |
|---|
| navi/core/orchestrator.py 0 → 100644 |
|---|
| navi/core/registry.py 0 → 100644 |
|---|
| navi/core/session.py 0 → 100644 |
|---|
| navi/exceptions.py 0 → 100644 |
|---|
| navi/llm/__init__.py 0 → 100644 |
|---|
| navi/llm/base.py 0 → 100644 |
|---|
| navi/llm/ollama.py 0 → 100644 |
|---|
| navi/llm/openai_backend.py 0 → 100644 |
|---|
| navi/main.py 0 → 100644 |
|---|
| navi/profiles/__init__.py 0 → 100644 |
|---|
| navi/profiles/base.py 0 → 100644 |
|---|
| navi/profiles/secretary.py 0 → 100644 |
|---|
| navi/profiles/server_admin.py 0 → 100644 |
|---|
| navi/profiles/smart_home.py 0 → 100644 |
|---|
| navi/tools/__init__.py 0 → 100644 |
|---|
| navi/tools/base.py 0 → 100644 |
|---|
| navi/tools/code_exec.py 0 → 100644 |
|---|
| navi/tools/filesystem.py 0 → 100644 |
|---|
| navi/tools/http_request.py 0 → 100644 |
|---|
| navi/tools/terminal.py 0 → 100644 |
|---|
| navi/tools/web_search.py 0 → 100644 |
|---|
| pyproject.toml 0 → 100644 |
|---|