the terminal client for LLMs
  • Python 99.7%
  • HTML 0.3%
Find a file
2026-06-08 11:56:25 +03:00
.github Build docs on pull request 2026-05-12 10:47:23 +03:00
docs Bind Ctrl+t for session-only thinking toggle 2026-06-08 11:41:54 +03:00
overrides tweaks 2026-05-11 23:04:26 +03:00
src/oterm Bind Ctrl+t for session-only thinking toggle 2026-06-08 11:41:54 +03:00
tests Bind Ctrl+t for session-only thinking toggle 2026-06-08 11:41:54 +03:00
.gitignore hero 2026-05-11 22:15:37 +03:00
.pre-commit-config.yaml Use ty/ruff 2026-04-15 12:50:20 +03:00
CHANGELOG.md vb 2026-06-08 11:52:56 +03:00
codecov.yml Reach 100% coverage by simplifying history rebuild and pragma-ing the regenerate inflight guard 2026-04-26 23:09:28 +03:00
LICENSE Fix linter errors 2025-04-06 10:49:33 +03:00
pyproject.toml vb 2026-06-08 11:52:56 +03:00
README.md tweaks 2026-05-11 23:04:26 +03:00
uv.lock Bump vulnerable transitive deps in uv.lock 2026-06-08 11:56:25 +03:00
zensical.toml tweaks 2026-05-11 23:04:26 +03:00

oterm

Tests codecov

The terminal client for Ollama, OpenAI, Anthropic, and any pydantic-ai-supported provider.

Splash

Install

uvx oterm

Full install methods, configuration, and usage: oterm Documentation.

What's new

  • Multi-provider, via pydantic-ai (breaking). oterm is no longer Ollama-only — it drives any pydantic-ai-supported provider: OpenAI, Anthropic, Google (AI / Vertex), Groq, Mistral, Cohere, AWS Bedrock, DeepSeek, Cerebras, Grok, Hugging Face, OpenAI-compatible endpoints (vLLM, LM Studio, llama.cpp, OpenRouter, LiteLLM, …), and Ollama. Set the matching API key and the provider appears in the new-chat dropdown.
  • Refreshed chat UI. Borderless accent-driven layout, auto-growing prompt, inline [Image #N] attachment tokens, a collapsing thinking section, and a live token-usage footer in place of the spinner.
  • Faster streaming. Markdown is now updated as deltas arrive instead of being re-rendered on every token, so long responses don't slow the terminal as they grow.
  • MCP rewrite (breaking). The mcpServers config block adopts pydantic-ai's standard schema (compatible with Claude Desktop / Cursor). See docs/mcp for the full migration notes.

License

MIT License.