Skip to main content

Universal LLM Native Harness — drives all models with discipline

Project description

Yoke — Universal LLM Native Harness

CI PyPI version Python 3.11+ License: MIT

Yoke is a disciplined coding harness that drives any LLM — Claude, GPT, Gemini, DeepSeek, and more — through a unified interface with built-in context guards, skill system, and web UI.

Think of it as your own Claude Code, but model-agnostic and self-hosted.


Quick Start

pip install yoke-harness

yoke setup        # pick your provider, enter API key
yoke serve        # open http://localhost:8765 in your browser

Or run in the terminal:

yoke              # interactive TUI (Textual-based)

Supported Providers

Provider Models
Anthropic Claude 3.5 Sonnet, Claude 3 Opus, …
OpenAI GPT-4o, GPT-4 Turbo, …
Google Gemini 1.5 Pro, Gemini Flash, …
DeepSeek deepseek-chat, deepseek-coder
Qwen (Alibaba) qwen-max, qwen-plus
Zhipu (GLM) glm-4, glm-4-flash
MiniMax abab6.5-chat
Ollama Any local model (llama3, mistral, …)

Features

  • 40+ built-in tools — file read/write, shell exec, web fetch, grep, git, and more
  • Skill system — install reusable prompt workflows from GitHub with yoke skill install <url>
  • DisciplineEngine — enforces context budget, call limits, and session guards automatically
  • Web UI — chat interface at localhost:8765 with file browser and session history
  • TUI — full terminal UI with vim keybindings, syntax highlighting, and diff view
  • MCP support — connect any MCP server (stdio / SSE / WebSocket)
  • Voice input — local Whisper STT via sounddevice
  • LSP bridge — integrate with VS Code and JetBrains via the bundled extension
  • Multi-agent — orchestrate parallel sub-agents for large tasks

Installation Options

# Core only (CLI + TUI)
pip install yoke-harness

# With web server
pip install "yoke-harness[serve]"

# With LSP support
pip install "yoke-harness[lsp]"

# Everything
pip install "yoke-harness[serve,lsp]"

Bundled Skills

Skill What it does
export-excel Convert CSV / JSON / data to formatted .xlsx
fill-report Fill templates → .docx / .md / .txt
generate-ppt Outline → PowerPoint .pptx
bi-chart Data → interactive Chart.js HTML
query-data Natural language query over workspace files
read-pdf Extract text, tables, keywords from PDF
review-pr Review a PR or branch diff
commit Generate and apply a conventional git commit
simplify Review changed code for reuse and quality
install-skill Install a new skill from GitHub URL

Install a community skill:

yoke skill install https://github.com/KKingsley/yoke-skills/tree/main/skills/my-skill

Configuration

All config lives in ~/.yoke/.env:

YOKE_PROVIDER=claude          # claude | openai | gemini | deepseek | qwen | zhipu | minimax | ollama
ANTHROPIC_API_KEY=sk-...
YOKE_DEFAULT_MODE=restricted  # full | restricted | readonly
YOKE_MODEL=claude-sonnet-4-5

Run yoke setup to configure interactively.


Contributing

See CONTRIBUTING.md to write your own skills or providers.


License

MIT © KKingsley

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yoke_harness-0.18.0.tar.gz (417.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

yoke_harness-0.18.0-py3-none-any.whl (352.5 kB view details)

Uploaded Python 3

File details

Details for the file yoke_harness-0.18.0.tar.gz.

File metadata

  • Download URL: yoke_harness-0.18.0.tar.gz
  • Upload date:
  • Size: 417.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for yoke_harness-0.18.0.tar.gz
Algorithm Hash digest
SHA256 95b9b9054521d2ffdee17a3b84c7aa2349a85949ff14b900d2148ee2a9b5f15c
MD5 aa35b7274280c11395c0bf30a5e8498d
BLAKE2b-256 1ec7e5390e994544334775947c4caec87a2b5014ba5e0f2ecc2a2d8d6dd3fb61

See more details on using hashes here.

File details

Details for the file yoke_harness-0.18.0-py3-none-any.whl.

File metadata

  • Download URL: yoke_harness-0.18.0-py3-none-any.whl
  • Upload date:
  • Size: 352.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for yoke_harness-0.18.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f7e605ba294febb11eda8a235e4535427084a9577517321005029a521cac5165
MD5 cb5f9a76011d8a3f7ab5f809f9cb3fd8
BLAKE2b-256 d943e660b5e6abd6a4565802a9d054171b82759e1a5e84a787a0e7f35064fdc0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page