Skip to content

Releases: devdaviddr/itsaagent-cli

v0.1.0 — Initial Alpha Release

19 Jun 05:38

Choose a tag to compare

Pre-release

ItsAAgent v0.1.0 — Initial Alpha Release

⚠️ This is an early alpha. The CLI interface, config schema, and tool API may change before a stable release.

A local-first ReAct agent for the terminal. No cloud. No API keys. Runs entirely on your machine via Ollama.


What's included

Agent

  • ReAct loop: Thought → Action → Observation, repeating until <answer> or the step limit
  • Resilient 3-fallback response parser — handles <tool_call> XML, legacy TOOL: format, and bare JSON (scoped to post-</thought> text to avoid false positives)
  • Loop detection: same tool + args called 3× aborts the run
  • Context management: 24 576-token window, oldest-first eviction, system prompt and original task always pinned
  • OS-aware system prompt: injects platform/version at runtime so the model uses correct commands

Tools

  • bash — shell commands via execFile (no injection), 30s timeout
  • ssh — ControlMaster persistence, Wake-on-LAN auto-recovery, password from env only
  • read_file, write_file, glob, grep

CLI

  • ai run — one-shot task
  • ai chat — interactive multi-turn session
  • ai check — health check (provider + model)
  • ai models — list Ollama models
  • ai config — view/edit persistent config

TUI

  • Live Ink terminal UI: spinner, streaming tokens, per-step status
  • Auto-detects TTY; falls back to plain text in pipes/scripts

Provider abstraction

  • Ollama (NDJSON streaming) — default
  • OpenAI-compatible endpoints (SSE streaming)

Session logging

  • Markdown log per session written to ~/.config/ai-cli/logs/ with -v or -l

Tests

  • 40 unit tests: parser fallbacks, context trim, loop detection, tool execution, runtime events

Quick start

ollama pull qwen2.5-coder:7b
git clone https://github.com/devdaviddr/itsaagent-cli.git
cd itsaagent-cli
npm install && npm run build && npm install -g .
ai check
ai run "what files are on my desktop?" -v

Known limitations

  • No streaming to non-TTY (plain mode waits for full response before printing)
  • SSH password must be in SSH_PASS env var — no interactive prompt yet
  • Context trimming is FIFO; no tool-result summarisation
  • Windows is untested

Recommended model

qwen2.5-coder:7b — the entire tool chain is tuned for its output format. mistral:7b also works well.