AI terminal assistant powered by OpenRouter — minimal, fast, developer UX.
Source Code: https://github.com/ndugram/hitmos
Hitmos is a modern AI terminal assistant for developers, powered by OpenRouter. It brings a Claude Code–styled UX to your terminal — live markdown streaming, interactive model switching, project context injection, and Tab completion, all with zero latency overhead.
Key features:
- Streaming — responses stream token-by-token with live Markdown rendering via rich.
- Multi-model — switch between DeepSeek, Gemini, Claude, GPT-4o, Llama, and more with an interactive arrow-key picker.
- Project context — automatically injects your project files into the system prompt so the model can answer project-specific questions.
- Tab completion —
/model <Tab>lists all available models;/completes all commands. - Minimal UX — Claude Code–inspired welcome panel,
◆status lines, clean>prompt. - Fast — built on fasthttp-client with full async SSE streaming.
- Configurable — API key via env (
OPEN_TOKEN,OPENROUTER_API_KEY) or~/.hitmos/config.toml.
Python 3.13+
Hitmos depends on:
fasthttp-client— async HTTP transport with SSE streaming.rich— live Markdown rendering and styled console output.typer— CLI interface.orjson— fast JSON parsing.prompt-toolkit— async input with Tab completion (bundled with questionary).questionary— interactive model picker.pydantic-settings— config management.
$ pip install hitmos
---> 100%$ hitmos loginOr set an environment variable:
$ export OPEN_TOKEN=sk-or-...$ hitmosYou will see:
╭─────────────────────────────────────────────────────╮
│ │
│ ✻ Welcome to Hitmos │
│ │
│ /help for commands │
│ │
╰─────────────────────────────────────────────────────╯
◆ ~/my-project
◆ deepseek/deepseek-chat
◆ context 12 KB
>
Ask anything about your project:
> what does this project do?
> add error handling to client.py
> explain the streaming logic
| Command | Description |
|---|---|
/help |
Show available commands |
/model |
Interactive model picker (↑↓ + Enter) |
/model <name> |
Switch model directly |
/clear |
Clear conversation history |
/reset |
Reset context |
/exit |
Exit Hitmos |
Type /model and press Enter to open the arrow-key picker:
? Select model (↑↓ navigate, Enter confirm, Ctrl+C cancel)
❯ deepseek/deepseek-chat DeepSeek Chat · fast, cheap, great for code
deepseek/deepseek-r1 DeepSeek R1 · reasoning model
google/gemini-2.5-flash Gemini 2.5 Flash · fast multimodal
google/gemini-2.5-pro Gemini 2.5 Pro · powerful multimodal
anthropic/claude-3.5-haiku Claude 3.5 Haiku · fast Anthropic
anthropic/claude-sonnet-4-5 Claude Sonnet 4.5 · balanced Anthropic
openai/gpt-4o-mini GPT-4o Mini · OpenAI fast
openai/o4-mini o4-mini · OpenAI reasoning
meta-llama/llama-3.3-70b-instruct Llama 3.3 70B · open source
mistralai/mistral-small-3.2-24b-instruct Mistral Small 3.2 · lightweight
Or use Tab completion: type /model deep then press Tab.
Hitmos resolves the API key in this order:
OPEN_TOKENenvironment variableOPENROUTER_API_KEYenvironment variable~/.hitmos/config.toml
Config file format:
token = "sk-or-..."
model = "deepseek/deepseek-chat"Contributions are welcome! Please open an issue or pull request on GitHub.
This project is licensed under the terms of the MIT license.