Skip to content

Bring Your Own Model — Ollama, OpenAI, Anthropic, OpenCode engines #11

@spboyer

Description

@spboyer

Migrated from spboyer/waza#290

Summary

Allow users to run evals against local models (Ollama) and direct API providers (OpenAI, Anthropic) plus OpenCode — instead of only through the Copilot SDK.

Motivation

Users want to evaluate skills against models running locally for privacy, cost, or speed. Also enables testing against providers not available through Copilot SDK.

Approach

New engine implementations in internal/execution/ — all implement existing AgentEngine interface:

Engine Provider API
ollama Ollama (local) REST /api/chat
openai OpenAI-compatible Chat Completions API (covers OpenAI, Azure OpenAI, any compatible endpoint)
anthropic Anthropic Messages API
opencode OpenCode TBD — research integration surface
  • Engine selection via eval.yaml engine: field or CLI flag --engine ollama
  • Model selection via model: field (e.g., llama3.2, gpt-4o, claude-sonnet-4)
  • Configuration: environment variables for API keys (OPENAI_API_KEY, ANTHROPIC_API_KEY), Ollama base URL, OpenCode config
  • Update schema: schemas/waza-config.schema.json to include new engine types
  • Build all four engines in parallel — no sequential dependencies

Key Files

  • internal/execution/ollama.go
  • internal/execution/openai.go
  • internal/execution/anthropic.go
  • internal/execution/opencode.go
  • internal/execution/engine.go — update engine factory/registry
  • schemas/waza-config.schema.json — add engine types
  • cmd/waza/cmd_run.go — wire up engine selection

Priority

P1 — Platform

Size

Large

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions