Sets up a complete documentation website with 7 navigable sections (Home, Getting Started, User Guide, Architecture, API Reference, Deployment, Development), light/dark mode, search, code copy, and Mermaid diagram support. API reference pages use mkdocstrings to auto-generate docs from source docstrings. GitHub Actions workflow deploys to GitHub Pages on push to main. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
5.4 KiB
Core Module
The core module contains the foundational abstractions shared across all OpenJarvis pillars: the decorator-based registry system for runtime discovery, canonical data types, configuration loading with hardware detection, and the pub/sub event bus for inter-pillar communication.
Registry System
The registry pattern is the primary extension mechanism. Each pillar has its
own typed registry subclass. New implementations are added by decorating a
class with @XRegistry.register("name").
RegistryBase
::: openjarvis.core.registry.RegistryBase options: show_source: true members_order: source
ModelRegistry
::: openjarvis.core.registry.ModelRegistry options: show_source: true members_order: source
EngineRegistry
::: openjarvis.core.registry.EngineRegistry options: show_source: true members_order: source
MemoryRegistry
::: openjarvis.core.registry.MemoryRegistry options: show_source: true members_order: source
AgentRegistry
::: openjarvis.core.registry.AgentRegistry options: show_source: true members_order: source
ToolRegistry
::: openjarvis.core.registry.ToolRegistry options: show_source: true members_order: source
RouterPolicyRegistry
::: openjarvis.core.registry.RouterPolicyRegistry options: show_source: true members_order: source
BenchmarkRegistry
::: openjarvis.core.registry.BenchmarkRegistry options: show_source: true members_order: source
Types
Canonical data types shared across all OpenJarvis pillars, including message structures, model specifications, telemetry records, and trace objects.
Role
::: openjarvis.core.types.Role options: show_source: true members_order: source
Quantization
::: openjarvis.core.types.Quantization options: show_source: true members_order: source
StepType
::: openjarvis.core.types.StepType options: show_source: true members_order: source
ToolCall
::: openjarvis.core.types.ToolCall options: show_source: true members_order: source
Message
::: openjarvis.core.types.Message options: show_source: true members_order: source
Conversation
::: openjarvis.core.types.Conversation options: show_source: true members_order: source
ModelSpec
::: openjarvis.core.types.ModelSpec options: show_source: true members_order: source
ToolResult
::: openjarvis.core.types.ToolResult options: show_source: true members_order: source
TelemetryRecord
::: openjarvis.core.types.TelemetryRecord options: show_source: true members_order: source
TraceStep
::: openjarvis.core.types.TraceStep options: show_source: true members_order: source
Trace
::: openjarvis.core.types.Trace options: show_source: true members_order: source
Configuration
Configuration loading, hardware detection, and engine recommendation. User
configuration lives at ~/.openjarvis/config.toml. The load_config()
function detects hardware, fills sensible defaults, then overlays any user
overrides from the TOML file.
JarvisConfig
::: openjarvis.core.config.JarvisConfig options: show_source: true members_order: source
EngineConfig
::: openjarvis.core.config.EngineConfig options: show_source: true members_order: source
IntelligenceConfig
::: openjarvis.core.config.IntelligenceConfig options: show_source: true members_order: source
LearningConfig
::: openjarvis.core.config.LearningConfig options: show_source: true members_order: source
MemoryConfig
::: openjarvis.core.config.MemoryConfig options: show_source: true members_order: source
AgentConfig
::: openjarvis.core.config.AgentConfig options: show_source: true members_order: source
ServerConfig
::: openjarvis.core.config.ServerConfig options: show_source: true members_order: source
TelemetryConfig
::: openjarvis.core.config.TelemetryConfig options: show_source: true members_order: source
HardwareInfo
::: openjarvis.core.config.HardwareInfo options: show_source: true members_order: source
GpuInfo
::: openjarvis.core.config.GpuInfo options: show_source: true members_order: source
detect_hardware
::: openjarvis.core.config.detect_hardware options: show_source: true
load_config
::: openjarvis.core.config.load_config options: show_source: true
recommend_engine
::: openjarvis.core.config.recommend_engine options: show_source: true
Event Bus
Thread-safe pub/sub event bus for inter-pillar telemetry. Any pillar can emit
events (e.g. INFERENCE_END) and any other pillar can react without direct
coupling.
EventType
::: openjarvis.core.events.EventType options: show_source: true members_order: source
Event
::: openjarvis.core.events.Event options: show_source: true members_order: source
EventBus
::: openjarvis.core.events.EventBus options: show_source: true members_order: source
get_event_bus
::: openjarvis.core.events.get_event_bus options: show_source: true
reset_event_bus
::: openjarvis.core.events.reset_event_bus options: show_source: true