Skip to content

Releases: tesseractai-lab/TesseractCLI-Agent

Release list

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 01 Aug 02:27
f791399

TesseractCLI-Agent v1.0.0

The first stable release. TesseractCLI is a terminal-native, multi-provider coding agent —
the ReAct loop, tool-execution sandbox, LLM dispatcher, config system, and Textual TUI are
all hand-built on thin primitives (langchain-core message types, pydantic, textual)
rather than a high-level agent framework.

This release closes out Phase 1 of the project roadmap — and goes considerably further
than the original MVP scope called for.

Highlights

Agent loop & tools

  • Hand-built ReAct loop (run_inner_loop) with no LangGraph/LangChain agent framework
  • 5 tools: read_file, list_directory (no approval needed), write_file, edit_file,
    run_command (approval-gated)
  • Lazy tool-schema loading via a search_tools meta-tool, ready for the tool count to grow
    without bloating every request's context

Safety model — defense in depth

  • Structural workspace-boundary check (path_guard) on every file path
  • Content-class denylist for secrets/credentials (sensitive_files), independent of the
    boundary check, symlink-safe
  • Command policy: shell-interpreter block → dangerous-pattern denylist → default-deny
    allowlist for auto-approved read-only commands
  • Human approval gate on every mutating tool call, with diff/command preview

Multi-provider LLM dispatcher

  • 11 providers: Anthropic, OpenAI, Groq, Mistral, Cerebras, Cohere, Together AI, HuggingFace,
    OpenRouter, GitHub Models, and local GGUF models via llama-cpp-python
  • Pool-shuffle + fixed-order-fallback routing per "pack," with rate-limit/size-error
    truncate-and-retry
  • 7 packs shipped by default, including a fully free-tier free pack requiring no API key

Config & persistence

  • ConfigManager/PacksManager: dot-path get/set, full-schema validation before commit,
    automatic chmod 600 backups
  • Both a rich TUI settings grammar and a headless tesseract settings ... CLI, sharing one
    global_config.yaml
  • Per-workspace SQLite persistence (normalized sessions / messages / model_meta / tools
    tables), written on every message append so a crash never loses history

Everything else

  • Optional LangSmith tracing (LLM calls auto-traced, tool calls and full turns explicitly
    traced), no-op when disabled
  • CI/CD: lint + type-check + cross-OS test matrix, a dedicated security workflow
    (bandit + pip-audit), and a tag-triggered release workflow that builds/smoke-tests the
    wheel across OSes

Installation

git clone https://github.com/zeyadusf/TesseractCLI-Agent.git
cd TesseractCLI-Agent
cp .env.example .env   # add at least one provider API key
uv tool install .
tesseract

What's next

Phase 2 (hierarchical memory summarization, pgvector semantic search fallback, explicit
context-token budgeting, session resume) and beyond are tracked in the README's
Roadmap and in PROJECT_VISION.md.

Full changelog

This is the first tagged release — no prior tag to diff against.