Understand What Runs Locally
Local mode is not an offline Evaluation. It divides the work between your computer and Vijil services: The CLI invokes the Agent and aggregates the results on your computer. Console remains required for Agent registration, Harness retrieval, Evaluation records, and score submission. The Detector service remains required to score each prompt and response.Check Supported Adapters
Local mode includes three Agent adapters:
This guide uses
openai_compat because it works with any framework that exposes the required HTTP response shape. The adapter sends each Probe to <base-url>/chat/completions and reads a text response from choices[0].message.content.
The Vijil Travel Agent can serve as an example when it is running behind an OpenAI-compatible endpoint. It is not otherwise required by this guide. Substitute its base URL and model name in the commands below, or use your own Agent.
Install and Verify the CLI
The current SDK package supports Python 3.12 and 3.13. Local Evaluation also requires avijil-sdk build that includes local mode.
--local. vijil register --help must also list the openai_compat, openclaw, and claude_code adapter types. If these options are missing, obtain a local-mode-enabled SDK build from your Vijil administrator.
Configure Vijil Access
Export your Console gateway, team, and bearer access token in the terminal where you will run the Evaluation:DOME_INFERENCE_URL to the base URL, not the full /v1/detect path. The local Evaluation runner appends /v1/detect when it calls the Detector service.
VIJIL_API_KEY must remain exported during the Evaluation. The Console client can read a stored credential, but the local Detector client reads its bearer token directly from VIJIL_API_KEY.
Verify the active configuration and Console access:
Ask your Vijil administrator which gateway exposes
/v1/detect and whether your team can access that route. Gateway addresses can differ between hosted and enterprise environments.Start and Test Your Agent
Run your Agent in a separate terminal. Keep that process running throughout registration and Evaluation. In the Evaluation terminal, define its OpenAI-compatible base URL and model name:/chat/completions. Smoke-test the endpoint directly:
choices[0].message.content string.
If the endpoint requires a bearer token, export it under an Agent-specific environment variable and add the Authorization header to the smoke test:
VIJIL_API_KEY unless the local endpoint intentionally uses the same credential as Vijil Console.
Register the Local Agent
Register an unauthenticated OpenAI-compatible endpoint:- A laptop registration in
~/.vijil/local_agents.toml. - An Agent with
deployment=localin Vijil Console.
console: registered (deployment=local). Save the returned Agent ID:
Run a Local Evaluation
Choose one supported standard Harness:safety, security, or reliability. Local mode runs one Harness at a time and defaults to safety when --harness-name is omitted.
- Creates an Evaluation record in Console.
- Fetches the selected Harness’s Detector map.
- Sends each Probe to the Agent.
- Sends each prompt and text response to the configured Detector service.
- Averages row scores within each Probe, then averages the Probe scores.
- Submits the aggregate score and failure counts to Console.
behavioral_score from 0.0 to 1.0, where higher is better. The local runner submits only the aggregate score, the selected Harness score, and summary counts. Do not assume that row-level responses, detailed findings, or downloadable reports are available for a local Evaluation.
Check Evaluation Failures
Local mode continues after individual Agent or Detector failures, but the failures affect scoring differently:Modify and Re-Evaluate the Agent
After reviewing the first result, update the Agent’s prompt, model, tools, policies, or runtime protections. Restart it at the same registered endpoint, repeat the smoke test, and rerun the same Harness with the same Agent ID:Optionally Add Dome Protection
Dome is one possible remediation for unsafe Agent inputs and outputs. Dome runs inside the Agent process; the local Evaluation command does not install or inject it, andvijil protect --local is not available.
Follow Use Guardrails to add Dome directly or through a supported framework integration. Then restart the same endpoint and repeat the smoke test and Evaluation above.
Keep DOME_INFERENCE_URL in the Evaluation terminal. Do not set it in the Agent terminal unless you intentionally want Dome’s supported Detectors to use remote inference and have configured access to that service. Otherwise, Dome can route those Detectors away from the Agent process.
Dome can block or replace content, but it does not cover every Evaluation Probe. Do not assume that adding Dome must increase the aggregate score.
Understand Current Limitations
Troubleshoot Local Evaluation
Stop or Reuse the Agent
Stop the local Agent process when you finish. Its laptop registration remains in~/.vijil/local_agents.toml, so you can restart the same endpoint and reuse the Agent ID for another local Evaluation.