Vibeharness banner
jeanlag1 jeanlag1

Vibeharness

AI community

Description

Hackable, interactive LLM agent harness for the terminal — streaming REPL, tool-using agent loop, persistent PTY shells, sub-agents, planning, hooks, prompt caching, rate-limit-aware retry, mid-turn-checkpointed sessions. Anthropic + OpenAI.

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

🌀 vibeharness

**An interactive, tool-using LLM agent harness for the terminal** — the hackable middle ground between a 100-line ReAct toy and a closed-source product like Claude Code or Copilot CLI. ~2.4k lines of Python you can actually read end-to-end.

What you get when you launch `vibe`:

  • A stateful REPL that holds a multi-turn conversation with the model and renders it live: streaming token-by-token output, a thinking spinner, rich diff/grep/bash panels, and a magenta ◆ vibe / green ❯ you speaker layout you can scan at a glance.
  • A tool-using agent loop that the model drives autonomously inside each turn: read/write/edit files (with strict-match diffs), grep, glob, list, run bash in persistent PTY sessions (and background processes), spawn isolated sub-agents for self-contained subtasks, and update an externalized planning checklist as it works.
  • A provider abstraction over Anthropic and OpenAI with token streaming, prompt caching (cache_control breakpoints on the system prompt + tool defs → ~90% discount on repeated turns), and a rate-limit-aware retry layer that honors Retry-After, falls back to exponential backoff with full jitter, and surfaces each retry in the UI.
  • A policy + extensibility surface: three-mode permission policy (auto / ask / deny) with per-tool approval memory, plus user-defined before_tool / after_tool hooks in ~/.vibe/hooks.py that can mutate args, deny calls, or post-process results (auto-format, gate commands, log to disk).
  • A session layer that JSON-serializes the conversation after every tool call (mid-turn checkpointing — Ctrl-C never loses progress) and re-renders the full transcript on resume so you pick up exactly where you left off.
  • Context management that token-counts every turn and triggers an auto-summarization compactor when the window crosses 75% so long sessions don't blow out the model's context lim