### Manual Backend and Frontend Setup Source: https://github.com/open-jarvis/openjarvis/blob/main/docs/downloads.md Step-by-step commands to manually install dependencies, start the Ollama service, and launch the backend and frontend servers. ```bash # Step 1: Clone and install git clone https://github.com/open-jarvis/OpenJarvis.git cd OpenJarvis uv sync --extra server cd frontend && npm install && cd .. # Step 2: Start Ollama ollama serve & ollama pull qwen3:0.6b # Step 3: Start backend uv run jarvis serve --port 8000 # Step 4: Start frontend cd frontend npm run dev ``` -------------------------------- ### OpenJarvis CLI: Serve Command Examples (Bash) Source: https://context7.com/open-jarvis/openjarvis/llms.txt Shows how to start an OpenAI-compatible API server using the `jarvis serve` command. Examples cover starting with default settings, customizing host, port, and model, and using an agent for agentic completions. ```bash # Start server with defaults jarvis serve # Custom host, port, and model jarvis serve --host 0.0.0.0 --port 8000 -m qwen3:8b # With agent for agentic completions jarvis serve --agent orchestrator -e ollama ``` -------------------------------- ### Quickstart Installation Script Source: https://github.com/open-jarvis/openjarvis/blob/main/docs/getting-started/installation.md Automated shell script to clone the repository and initialize the environment, including dependency checks and server startup. ```bash git clone https://github.com/open-jarvis/OpenJarvis.git cd OpenJarvis ./scripts/quickstart.sh ``` -------------------------------- ### Install and Start OpenJarvis Server Source: https://github.com/open-jarvis/openjarvis/blob/main/docs/getting-started/quickstart.md Instructions for installing the server dependencies and launching the API server with custom configurations. ```bash uv sync --extra server jarvis serve --port 8000 jarvis serve --host 0.0.0.0 --port 8000 --engine ollama --model qwen3:8b --agent orchestrator ``` -------------------------------- ### Manual Environment Setup Source: https://github.com/open-jarvis/openjarvis/blob/main/docs/getting-started/installation.md Step-by-step manual configuration for cloning, installing Python and Rust dependencies, and building the local backend. ```bash git clone https://github.com/open-jarvis/OpenJarvis.git cd OpenJarvis uv sync --extra server uv run maturin develop -m rust/crates/openjarvis-python/Cargo.toml cd frontend && npm install && cd .. ``` -------------------------------- ### Setup Development Environment Source: https://github.com/open-jarvis/openjarvis/blob/main/docs/development/contributing.md Commands to clone the repository and install dependencies using uv. This includes standard development dependencies and optional extras for specific backends. ```bash git clone https://github.com/open-jarvis/OpenJarvis.git cd OpenJarvis uv sync --extra dev # Optional extras uv sync --extra dev --extra memory-faiss --extra memory-colbert --extra memory-bm25 uv sync --extra dev --extra inference-cloud --extra inference-google uv sync --extra dev --extra server uv sync --extra dev --extra docs ``` -------------------------------- ### Install and Start OpenJarvis API Server Source: https://github.com/open-jarvis/openjarvis/blob/main/docs/deployment/api-server.md Commands to clone the repository, install server dependencies, and launch the API server with custom configurations. ```bash git clone https://github.com/open-jarvis/OpenJarvis.git cd OpenJarvis uv sync --extra server jarvis serve jarvis serve --host 0.0.0.0 --port 8000 --engine ollama --model qwen3:8b --agent orchestrator ``` -------------------------------- ### Setting Up vLLM Inference Backend Source: https://github.com/open-jarvis/openjarvis/blob/main/docs/getting-started/installation.md Instructions for setting up the vLLM inference backend. It involves installing vLLM following their guide and starting the server with a specified model. It's auto-detected at http://localhost:8000. ```bash vllm serve Qwen/Qwen2.5-7B-Instruct ``` -------------------------------- ### Ollama Inference Backend Setup Source: https://github.com/open-jarvis/openjarvis/blob/main/docs/getting-started/installation.md Commands to start the Ollama service and pull the required starter model for local inference. ```bash ollama serve & ollama pull qwen3:0.6b ``` -------------------------------- ### Setting Up Ollama Inference Backend Source: https://github.com/open-jarvis/openjarvis/blob/main/docs/getting-started/installation.md Provides commands to install Ollama, start the server, and pull a model. This is the recommended inference backend for ease of use. ```bash ollama serve ollama pull qwen3:0.6b ``` -------------------------------- ### Install Optional Extras for OpenJarvis Source: https://github.com/open-jarvis/openjarvis/blob/main/docs/getting-started/installation.md Demonstrates how to install optional extras for OpenJarvis using 'uv sync --extra'. Examples include installing 'inference-cloud', 'memory-faiss', and combining multiple extras. ```bash uv sync --extra inference-cloud uv sync --extra memory-faiss uv sync --extra server --extra memory-faiss --extra inference-cloud ``` -------------------------------- ### Initialize and Run NativeOpenHandsAgent Source: https://github.com/open-jarvis/openjarvis/blob/main/docs/architecture/agents.md Shows the setup for the NativeOpenHandsAgent, which supports both tool invocation and direct Python code execution. This example includes configuration for token limits and turn constraints. ```python from openjarvis.agents.native_openhands import NativeOpenHandsAgent agent = NativeOpenHandsAgent( engine, model="qwen3:8b", tools=[CalculatorTool(), WebSearchTool()], max_turns=3, max_tokens=2048, ) result = agent.run("Summarize https://example.com/article") ``` -------------------------------- ### Setup Development Environment for Contributors Source: https://github.com/open-jarvis/openjarvis/blob/main/README.md Commands to install development dependencies, configure pre-commit hooks, and run the test suite for the OpenJarvis project. ```bash git clone https://github.com/open-jarvis/OpenJarvis.git cd OpenJarvis uv sync --extra dev uv run pre-commit install uv run pytest tests/ -v ``` -------------------------------- ### Full Jarvis Workflow Example Source: https://github.com/open-jarvis/openjarvis/blob/main/docs/user-guide/python-sdk.md A comprehensive example demonstrating initialization, document indexing, standard and full queries with tools, memory searching, and final resource cleanup. ```python from openjarvis import Jarvis j = Jarvis(model="qwen3:8b") result = j.memory.index("./docs/") response = j.ask("What are the main features?") full_result = j.ask_full("Calculate the square root of 256 and add 10", agent="orchestrator", tools=["calculator"]) results = j.memory.search("configuration") j.close() ``` -------------------------------- ### Complete Working Example (Python SDK) Source: https://github.com/open-jarvis/openjarvis/blob/main/docs/getting-started/quickstart.md A comprehensive Python example demonstrating indexing, searching, asking questions, using agents, listing models, and cleaning up with the OpenJarvis SDK. ```APIDOC ## Complete Working Example Here is a complete end-to-end session combining multiple features: ```python from openjarvis import Jarvis # Initialize with defaults (auto-detect hardware and engine) j = Jarvis() # 1. Index some documentation index_result = j.memory.index("./docs/", chunk_size=512) print(f"Indexed {index_result['chunks']} chunks from {index_result['path']}") # 2. Search memory results = j.memory.search("how to configure engines") for r in results: print(f" [{r['score']:.3f}] {r['source']}") # 3. Ask a question (memory context is injected automatically) answer = j.ask("How do I configure the Ollama engine host?") print(f"\nAnswer: {answer}") # 4. Use an agent with tools calc_result = j.ask_full( "Calculate the compound interest on $10,000 at 5% for 10 years", agent="orchestrator", tools=["calculator", "think"], ) print(f"\nCalculation: {calc_result['content']}") print(f"Tools used: {[t['tool_name'] for t in calc_result['tool_results']]}") print(f"Agent turns: {calc_result['turns']}") # 5. List available models models = j.list_models() print(f"\nAvailable models: {models}") # 6. Clean up j.close() ``` ``` -------------------------------- ### Python SDK Quick Example Source: https://github.com/open-jarvis/openjarvis/blob/main/docs/downloads.md A simple example demonstrating how to use the Jarvis class for basic queries. ```APIDOC ## OpenJarvis Python SDK Quick Example ### Description Demonstrates the basic usage of the `Jarvis` class to ask questions. ### Method Python ### Endpoint N/A ### Parameters N/A ### Request Example ```python from openjarvis import Jarvis j = Jarvis() print(j.ask("Explain quicksort in two sentences.")) j.close() ``` ### Response ``` Output of the question asked. ``` ``` -------------------------------- ### Starting the OpenJarvis API Server Source: https://github.com/open-jarvis/openjarvis/blob/main/docs/getting-started/quickstart.md Instructions on how to start the OpenJarvis API server, including default and custom configurations. ```APIDOC ## Starting the API Server OpenJarvis provides an OpenAI-compatible API server for integration with existing tools and frontends. !!! note "Requires the `server` extra" ```bash uv sync --extra server ``` ### Start the Server ```bash jarvis serve --port 8000 ``` With custom options: ```bash jarvis serve --host 0.0.0.0 --port 8000 --engine ollama --model qwen3:8b --agent orchestrator ``` ``` -------------------------------- ### OpenJarvis CLI: Chat Command Examples (Bash) Source: https://context7.com/open-jarvis/openjarvis/llms.txt Illustrates how to use the `jarvis chat` CLI command for interactive multi-turn conversations. Examples include starting a basic chat, specifying models and agents, using custom system prompts, and lists in-chat commands for session management. ```bash # Start interactive chat jarvis chat # With specific model and agent jarvis chat -m qwen3:8b -a orchestrator --tools calculator,web_search # With custom system prompt jarvis chat --system "You are a helpful coding assistant" # In-chat commands: # /quit, /exit - end session # /clear - clear conversation history # /model - show current model # /history - show conversation # /help - available commands ``` -------------------------------- ### Install and Load launchd Service Source: https://github.com/open-jarvis/openjarvis/blob/main/docs/deployment/launchd.md Copies the OpenJarvis launchd plist file to the user's LaunchAgents directory and loads it, enabling the service to start automatically at login and upon loading. It also includes verification steps. ```bash cp deploy/launchd/com.openjarvis.plist ~/Library/LaunchAgents/ launchctl load ~/Library/LaunchAgents/com.openjarvis.plist launchctl list | grep openjarvis curl http://localhost:8000/health ``` -------------------------------- ### OpenJarvis Configuration Example (TOML) Source: https://github.com/open-jarvis/openjarvis/blob/main/docs/architecture/intelligence.md An example TOML configuration file demonstrating how to set the default engine, default model, and a preferred engine for specific models. ```toml [engine] default = "ollama" [intelligence] default_model = "llama3.2:3b" model_path = "./models/llama-3.2-3b.Q4_K_M.gguf" quantization = "gguf_q4" preferred_engine = "llamacpp" ``` -------------------------------- ### CLI Installation and Verification Source: https://github.com/open-jarvis/openjarvis/blob/main/docs/getting-started/installation.md Commands to install the CLI tool, verify the version, and execute initial diagnostic or interaction commands. ```bash git clone https://github.com/open-jarvis/OpenJarvis.git cd OpenJarvis uv sync uv run maturin develop -m rust/crates/openjarvis-python/Cargo.toml jarvis --version jarvis ask "What is the capital of France?" jarvis doctor ``` -------------------------------- ### OpenJarvis Configuration Example Source: https://github.com/open-jarvis/openjarvis/blob/main/docs/user-guide/channels.md Example TOML configuration file for OpenJarvis, showing how to enable channels and set platform-specific bot tokens for Telegram, Discord, and Slack. ```toml [channel] enabled = true default_channel = "" default_agent = "simple" [channel.telegram] bot_token = "YOUR_TELEGRAM_BOT_TOKEN" [channel.discord] bot_token = "YOUR_DISCORD_BOT_TOKEN" [channel.slack] bot_token = "YOUR_SLACK_BOT_TOKEN" app_token = "YOUR_SLACK_APP_TOKEN" ``` -------------------------------- ### Implement ReadyScreen Component Source: https://github.com/open-jarvis/openjarvis/blob/main/docs/superpowers/plans/2026-03-26-deep-research-phase2b-frontend.md The ReadyScreen component serves as the final confirmation view once data indexing is complete. It provides a welcoming interface and suggests example queries to help the user get started. ```tsx import { Sparkles } from "lucide-react"; interface Props { connectedSources: string[]; onStart: (query?: string) => void; } const SUGGESTIONS = [ "What were the key decisions from last week's team threads?", "Find the proposal doc shared about the roadmap", "Summarize my unread emails from today", "What meetings do I have this week?", "What topics came up in recent meetings?", ]; export function ReadyScreen({ connectedSources, onStart }: Props) { return (

You're All Set!

{connectedSources.length} source{connectedSources.length !== 1 ? "s" : ""} connected and indexed. Ask anything across your data.

); } ``` -------------------------------- ### Initialize and Run OpenJarvis Quick Start Source: https://github.com/open-jarvis/openjarvis/blob/main/README.md Steps to initialize the environment, set up the Ollama inference backend, and execute a query using the Jarvis CLI. ```bash git clone https://github.com/open-jarvis/OpenJarvis.git cd OpenJarvis uv sync uv run jarvis init curl -fsSL https://ollama.com/install.sh | sh ollama serve & ollama pull qwen3:8b uv run jarvis ask "What is the capital of France?" ``` -------------------------------- ### Build and Serve Documentation Source: https://github.com/open-jarvis/openjarvis/blob/main/docs/development/contributing.md Commands to install documentation dependencies, serve the site locally with hot-reloading, or build the static site. ```bash uv sync --extra docs uv run mkdocs serve --dev-addr 127.0.0.1:8001 uv run mkdocs build ``` -------------------------------- ### Initialize OpenJarvis Environment Source: https://github.com/open-jarvis/openjarvis/blob/main/docs/downloads.md Clones the repository and executes the quickstart script to set up the local backend and dependencies. ```bash git clone https://github.com/open-jarvis/OpenJarvis.git && cd OpenJarvis ./scripts/quickstart.sh ``` -------------------------------- ### System Health Check Source: https://github.com/open-jarvis/openjarvis/blob/main/docs/deployment/api-server.md Examples of healthy and unhealthy responses for the GET /health endpoint. ```json {"status": "ok"} ``` ```json {"detail": "Engine unhealthy"} ``` -------------------------------- ### Retrieve Available Models Source: https://github.com/open-jarvis/openjarvis/blob/main/docs/deployment/api-server.md Example response for the GET /v1/models endpoint, listing all models available on the inference engine. ```json { "object": "list", "data": [ { "id": "qwen3:8b", "object": "model", "created": 1740100800, "owned_by": "openjarvis" }, { "id": "llama3.1:8b", "object": "model", "created": 1740100800, "owned_by": "openjarvis" } ] } ``` -------------------------------- ### Project Setup with uv Source: https://github.com/open-jarvis/openjarvis/blob/main/CONTRIBUTING.md Clones the OpenJarvis repository and sets up the development environment using uv, including development dependencies. ```bash git clone https://github.com/open-jarvis/OpenJarvis.git cd OpenJarvis uv sync --extra dev ``` -------------------------------- ### Initialize BM25 Retrieval Backend Source: https://github.com/open-jarvis/openjarvis/blob/main/docs/user-guide/memory.md Demonstrates how to install the necessary dependencies and initialize the BM25 memory-based retrieval backend for keyword-based search. ```bash uv sync --extra memory-bm25 ``` ```python backend = MemoryRegistry.create("bm25") backend.store("Python is a programming language", source="intro.txt") results = backend.retrieve("programming language") ``` -------------------------------- ### OpenJarvis CLI: Ask Command Examples (Bash) Source: https://context7.com/open-jarvis/openjarvis/llms.txt Provides examples of using the `jarvis ask` CLI command to send queries to the assistant. It covers basic questions, specifying models and engines, using agents with tools, controlling generation parameters like temperature and max tokens, outputting as JSON, disabling context, and viewing telemetry profiles. ```bash # Basic question jarvis ask "What is the capital of France?" # Specify model and engine jarvis ask -m qwen3:8b -e ollama "Explain quantum entanglement" # Use agent with tools jarvis ask --agent orchestrator --tools calculator,think "What is 2^10?" # Control generation parameters jarvis ask -t 0.2 --max-tokens 2048 "Write a poem about AI" # Output as JSON jarvis ask --json "Hello world" # Disable memory context injection jarvis ask --no-context "Hello" # Show inference telemetry profile jarvis ask --profile "What is machine learning?" # Output includes: latency, tokens, throughput, energy consumption, GPU metrics ``` -------------------------------- ### Setup System User and Environment Source: https://github.com/open-jarvis/openjarvis/blob/main/docs/deployment/systemd.md Commands to create a dedicated system user, set up a virtual environment, and clone the OpenJarvis repository for deployment. ```bash sudo useradd --system --create-home --home-dir /opt/openjarvis openjarvis sudo -u openjarvis python3 -m venv /opt/openjarvis/.venv sudo -u openjarvis git clone https://github.com/open-jarvis/OpenJarvis.git /opt/openjarvis/OpenJarvis cd /opt/openjarvis/OpenJarvis && sudo -u openjarvis uv sync --extra server ``` -------------------------------- ### OpenJarvis Scheduler Python API Example Source: https://github.com/open-jarvis/openjarvis/blob/main/docs/user-guide/scheduler.md Example demonstrating the usage of the OpenJarvis Python API for the task scheduler. It covers setting up storage, initializing the scheduler with a Jarvis system, creating tasks, listing active tasks, managing task states (pause, resume, cancel), and starting the background execution thread. ```python from openjarvis.scheduler.store import SchedulerStore from openjarvis.scheduler.scheduler import TaskScheduler # Set up storage store = SchedulerStore(db_path="~/.openjarvis/scheduler.db") # (1)! # Wire in a JarvisSystem for task execution from openjarvis import Jarvis jarvis = Jarvis() scheduler = TaskScheduler( store=store, system=jarvis, # (2)! poll_interval=60, # (3)! ) # Create tasks daily_summary = scheduler.create_task( prompt="Summarize the latest news headlines", schedule_type="cron", schedule_value="0 8 * * *", agent="simple", ) print(f"Created task {daily_summary.id}, next run: {daily_summary.next_run}") # List active tasks for task in scheduler.list_tasks(status="active"): print(f" {task.id}: {task.prompt} @ {task.next_run}") # Manage task state scheduler.pause_task(daily_summary.id) scheduler.resume_task(daily_summary.id) # next_run recomputed from now scheduler.cancel_task(daily_summary.id) # permanent # Start the background thread scheduler.start() # (4)! ``` -------------------------------- ### Setting Up llama.cpp Inference Backend Source: https://github.com/open-jarvis/openjarvis/blob/main/docs/getting-started/installation.md Details on setting up the llama.cpp inference backend. This includes building the project from source and starting the llama server with a model file and port. It's auto-detected at http://localhost:8080. ```bash llama-server -m /path/to/model.gguf --port 8080 ``` -------------------------------- ### Configure Ngrok Tunnel for Webhooks Source: https://github.com/open-jarvis/openjarvis/blob/main/docs/user-guide/channels.md Provides the shell commands required to install and start an ngrok tunnel, which is necessary for exposing the local OpenJarvis webhook endpoint to external services like SendBlue. ```bash brew install ngrok ngrok config add-authtoken YOUR_TOKEN ngrok http 8222 ``` -------------------------------- ### Tauri Development Setup and Build Commands Source: https://github.com/open-jarvis/openjarvis/blob/main/desktop/README.md Commands to set up the development environment for the OpenJarvis desktop application using Node.js and Cargo. Includes installation, running in development mode with hot-reloading, and building for production. ```bash # Prerequisites: Node.js 22+, Rust stable, system deps (see below) cd desktop npm install cargo tauri dev # Hot-reload development mode cargo tauri build # Production build ``` -------------------------------- ### Build and Execute System with OpenJarvis (Python) Source: https://context7.com/open-jarvis/openjarvis/llms.txt Demonstrates how to build a custom OpenJarvis system by specifying the engine, model, agent, and tools. It also shows how to execute queries through the system, retrieve results, and handle tool outputs. Finally, it includes closing the system connection. ```python system = ( SystemBuilder() .engine("ollama") .model("qwen3:8b") .agent("orchestrator") .tools(["calculator", "web_search", "think", "file_read"]) .telemetry(True) .sessions(True) .build() ) result = system.ask( "Search the web for recent AI news and summarize", agent="orchestrator", tools=["web_search", "think"], temperature=0.7 ) print(result["content"]) print(result["tool_results"]) system.close() ``` -------------------------------- ### Get Max ROWID from Chat Database (Python) Source: https://github.com/open-jarvis/openjarvis/blob/main/docs/superpowers/plans/2026-03-27-channel-gateway-deep-research.md Retrieves the maximum ROWID from the 'message' table in the SQLite chat database. This is used to determine the starting point for polling new messages. Handles operational errors by returning 0. ```Python def _get_max_rowid(db_path: str) -> int: """Get the current max ROWID from chat.db.""" try: conn = sqlite3.connect(f"file:{db_path}?mode=ro", uri=True) row = conn.execute("SELECT MAX(ROWID) FROM message").fetchone() conn.close() return row[0] or 0 except sqlite3.OperationalError: return 0 ``` -------------------------------- ### Initialize Test Environment and Run Tests Source: https://github.com/open-jarvis/openjarvis/blob/main/docs/superpowers/plans/2026-03-26-deep-research-agent-v2.md Commands to prepare the test directory and execute the test suite for the newly implemented SQL tool. ```bash touch tests/tools/__init__.py uv run pytest tests/tools/test_knowledge_sql.py -v --tb=short ``` -------------------------------- ### Verify OpenJarvis CLI Installation Source: https://github.com/open-jarvis/openjarvis/blob/main/docs/downloads.md Checks the installed version of the OpenJarvis CLI. ```bash jarvis --version ``` -------------------------------- ### Python SDK Installation Source: https://github.com/open-jarvis/openjarvis/blob/main/docs/downloads.md Instructions to clone the repository and install the OpenJarvis Python SDK. ```APIDOC ## Install OpenJarvis Python SDK ### Description Clone the repository and install the OpenJarvis package for programmatic access. ### Method Shell commands ### Endpoint N/A ### Parameters N/A ### Request Example ```bash git clone https://github.com/open-jarvis/OpenJarvis.git cd OpenJarvis pip install . ``` ### Response N/A ``` -------------------------------- ### OpenJarvis CLI Verification Source: https://github.com/open-jarvis/openjarvis/blob/main/docs/downloads.md Verify the installation by checking the installed version of the jarvis CLI. ```APIDOC ## Verify OpenJarvis CLI Installation ### Description Check the installed version of the jarvis CLI to confirm successful installation. ### Method Shell command ### Endpoint N/A ### Parameters N/A ### Request Example ```bash jarvis --version ``` ### Response ``` jarvis, version 0.1.0 ``` ``` -------------------------------- ### OpenJarvis CLI Installation Source: https://github.com/open-jarvis/openjarvis/blob/main/docs/downloads.md Instructions to clone the repository and install OpenJarvis using pip. ```APIDOC ## Install OpenJarvis CLI ### Description Clone the repository and install the OpenJarvis package. ### Method Shell commands ### Endpoint N/A ### Parameters N/A ### Request Example ```bash git clone https://github.com/open-jarvis/OpenJarvis.git cd OpenJarvis pip install . ``` ### Response N/A ``` -------------------------------- ### Initialize and Use FAISS Memory Backend Source: https://github.com/open-jarvis/openjarvis/blob/main/docs/user-guide/memory.md Shows how to install dependencies and initialize the FAISS backend for semantic vector-based retrieval. ```bash uv sync --extra memory-faiss ``` ```python backend = MemoryRegistry.create("faiss") doc_id = backend.store("Neural networks are computational models") results = backend.retrieve("deep learning architectures") ``` -------------------------------- ### Enable and Disable OpenJarvis Service on Boot Source: https://github.com/open-jarvis/openjarvis/blob/main/docs/deployment/systemd.md Configure whether the OpenJarvis service should automatically start when the system boots up. Use `systemctl enable` to ensure it starts on boot and `systemctl disable` to prevent it from starting automatically. ```bash # Enable automatic start on boot sudo systemctl enable openjarvis # Disable automatic start on boot sudo systemctl disable openjarvis ``` -------------------------------- ### Verify Installation Source: https://github.com/open-jarvis/openjarvis/blob/main/docs/development/contributing.md Commands to verify the OpenJarvis installation by checking the version and displaying help documentation. ```bash uv run jarvis --version uv run jarvis --help ``` -------------------------------- ### Example OpenJarvis Configuration Source: https://github.com/open-jarvis/openjarvis/blob/main/docs/getting-started/configuration.md Sample TOML configuration files for Apple Silicon and NVIDIA Datacenter environments. ```toml [engine] default = "ollama" [engine.ollama] host = "http://localhost:11434" [intelligence] default_model = "qwen3:8b" fallback_model = "llama3.2:3b" temperature = 0.7 max_tokens = 1024 ``` -------------------------------- ### Install OpenJarvis CLI Source: https://github.com/open-jarvis/openjarvis/blob/main/docs/downloads.md Installs the OpenJarvis CLI by cloning the repository and synchronizing dependencies using uv. ```bash git clone https://github.com/open-jarvis/OpenJarvis.git cd OpenJarvis uv sync ``` -------------------------------- ### Discover and List Models with OpenJarvis Engines Source: https://github.com/open-jarvis/openjarvis/blob/main/docs/architecture/engine.md Demonstrates how to initialize the engine discovery process and retrieve a mapping of available models across all healthy engines. This requires a loaded configuration object. ```python from openjarvis.engine import discover_engines, discover_models from openjarvis.core.config import load_config config = load_config() engines = discover_engines(config) models = discover_models(engines) # Output: {"ollama": ["qwen3:8b", "llama3.2:3b"], "vllm": ["mistral:7b"]} ``` -------------------------------- ### Initialize and Use SQLite Memory Backend Source: https://github.com/open-jarvis/openjarvis/blob/main/docs/user-guide/memory.md Demonstrates how to initialize the default SQLite FTS5 backend and perform basic storage and retrieval operations. ```python from openjarvis.core.registry import MemoryRegistry backend = MemoryRegistry.create("sqlite", db_path="./memory.db") doc_id = backend.store("Hello world", source="test.txt") results = backend.retrieve("hello") backend.close() ``` -------------------------------- ### Configure OpenJarvis to Start After Ollama Source: https://github.com/open-jarvis/openjarvis/blob/main/docs/deployment/systemd.md Ensure the OpenJarvis service starts only after the Ollama service is running by adding `After=ollama.service` and `Requires=ollama.service` to the `[Unit]` section of the systemd service file. `Requires` ensures OpenJarvis won't start if Ollama fails. ```ini [Unit] Description=OpenJarvis API Server After=network.target ollama.service Requires=ollama.service ``` -------------------------------- ### Single-Run Configuration with Full Options Source: https://github.com/open-jarvis/openjarvis/blob/main/docs/user-guide/evaluations.md An advanced configuration example showing all available options for meta-information, default parameters, judge configuration, run settings, and detailed model and benchmark specifications. ```APIDOC ## Single-Run Configuration with Full Options ### Description This configuration showcases a comprehensive setup for a single evaluation run, including metadata, default generation parameters, judge configuration, execution settings, and detailed specifications for the model and benchmark. ### Method N/A (Configuration File) ### Endpoint N/A (Configuration File) ### Parameters #### Meta - **name** (str) - Optional - Suite name shown in CLI output. - **description** (str) - Optional - Human-readable description of the evaluation. #### Defaults - **temperature** (float) - Optional - Default sampling temperature (0.0). - **max_tokens** (int) - Optional - Default maximum output tokens (2048). #### Judge - **model** (str) - Optional - Judge model identifier (default: `"gpt-4o"`). - **provider** (str) - Optional - Provider override for the judge model (e.g., `"openai"`). - **temperature** (float) - Optional - Judge sampling temperature (0.0). - **max_tokens** (int) - Optional - Maximum judge output tokens (1024). #### Run - **max_workers** (int) - Optional - Number of parallel evaluation threads (4). - **output_dir** (str) - Optional - Directory for output files (default: `"results/"`). - **seed** (int) - Optional - Random seed for dataset shuffling (42). - **telemetry** (bool) - Optional - Enable GPU telemetry capture (false). - **gpu_metrics** (bool) - Optional - Enable GPU metric polling (false). #### Models (per model) - **name** (str) - Required - Model identifier (e.g., `"qwen3:8b"`). - **engine** (str) - Optional - Engine key (e.g., `"ollama"`). - **provider** (str) - Optional - Provider override for cloud models. - **temperature** (float) - Optional - Override default temperature for this model. - **max_tokens** (int) - Optional - Override default max tokens for this model. - **param_count_b** (float) - Optional - Model parameter count in billions (0.0). - **active_params_b** (float) - Optional - Active parameters per token in billions (defaults to `param_count_b`). - **gpu_peak_tflops** (float) - Optional - GPU peak FP16 TFLOPS (0.0). - **gpu_peak_bandwidth_gb_s** (float) - Optional - GPU peak memory bandwidth in GB/s (0.0). - **num_gpus** (int) - Optional - Number of GPUs used (1). #### Benchmarks (per benchmark) - **name** (str) - Required - Benchmark key (e.g., `"supergpqa"`). - **backend** (str) - Optional - Inference backend (`"jarvis-direct"` or `"jarvis-agent"`). - **max_samples** (int) - Optional - Limit number of samples (None evaluates full dataset). - **split** (str) - Optional - Override default dataset split. - **agent** (str) - Optional - Agent name for `jarvis-agent` backend. - **tools** (list[str]) - Optional - Tool names for `jarvis-agent` backend ([]). - **judge_model** (str) - Optional - Override `[judge].model` for this benchmark. - **temperature** (float) - Optional - Override temperature for this benchmark. - **max_tokens** (int) - Optional - Override max tokens for this benchmark. ### Request Example ```toml [meta] name = "single-run-example" description = "Evaluate SuperGPQA with a single model and full configuration" [defaults] temperature = 0.0 max_tokens = 2048 [judge] model = "gpt-4o" temperature = 0.0 max_tokens = 1024 [run] max_workers = 4 output_dir = "results/" seed = 42 [[models]] name = "qwen3:8b" engine = "ollama" temperature = 0.3 max_tokens = 4096 [[benchmarks]] name = "supergpqa" backend = "jarvis-direct" max_samples = 100 split = "train" ``` ### Response N/A (This is a configuration file, not an API endpoint.) ``` -------------------------------- ### Start API Server Source: https://github.com/open-jarvis/openjarvis/blob/main/docs/user-guide/cli.md Launches an OpenAI-compatible API server. Requires the 'server' extra dependencies and supports custom host, port, model, and agent configurations. ```bash uv sync --extra server jarvis serve jarvis serve --port 8000 jarvis serve --host 0.0.0.0 --port 9000 jarvis serve --model qwen3:8b jarvis serve --agent orchestrator ```