kunji

skill
Security Audit
Warn
Health Warn
  • License — License: Apache-2.0
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 5 GitHub stars
Code Pass
  • Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
  • Permissions — No dangerous permissions requested

No AI report is available for this listing yet.

SUMMARY

Every AI model in one terminal, with your own API keys. See what every answer costs, set daily budgets, switch models mid-chat. Free and open source.

README.md

kunji (कुंजी)

Every AI model in one terminal, with your own keys. See what every answer costs.

pip install kunji

PyPI
CI
License
Python
Providers
Platforms

Website · Documentation · Install · Commands · Kunji (कुंजी) means "key" in Hindi.

Kunji is a terminal app for chatting with any AI model using your own API keys.
You pay each provider directly. Kunji never sees your bill, your keys or your prompts.

Why kunji

  • One tool, every provider. OpenAI, Anthropic, Google Gemini, Groq, OpenRouter,
    DeepSeek, Mistral, xAI, Together, Ollama (local), plus any OpenAI-compatible server.
  • Switch models mid-conversation with /model — the conversation carries over.
  • Live cost meter. Every reply shows tokens and cost. /cost and kunji usage
    show totals, in your currency.
  • Daily budgets. Warns at 80%, blocks at 100%, per provider or overall.
  • Compare mode. One prompt, several models, side by side — fastest and cheapest highlighted.
  • Automatic fallback. Rate-limited or down? Kunji retries on your next model.
  • Keys in your OS keychain (Windows Credential Manager, macOS Keychain, Secret Service),
    never in a plain-text file.
  • Pipes. npm test 2>&1 | kunji ask "why is this failing?"
  • Saved prompts. kunji @commit writes a commit message from your staged changes;
    @explain, @review, @fix, @summarize, @translate, @tests — or make your own.
  • Chat history. Every chat is saved on your computer. Continue with kunji chat -c,
    search with kunji history search.
  • Attach files. /file app.py in chat, or kunji ask -f app.py "what does this do?".
  • Menu or commands. Run kunji for an arrow-key menu that stays open until you exit;
    every action is also a command for scripts.
  • Looks professional. Minimal monochrome design, responsive to any terminal size.

Install

Requires Python 3.11+.

pip install kunji

If pip isn't found or shows an error, run it through Python instead:

System Command
Windows python -m pip install kunji (or py -m pip install kunji)
macOS python3 -m pip install kunji
Linux python3 -m pip install --user kunji (if it says "externally managed", use pipx install kunji)

No Python on Windows? Download kunji-windows-x64.exe from the
latest release and run it from a terminal.
Linux: kunji-linux-x64.

Update later with pip install -U kunji. If the kunji command isn't found after installing,
python -m kunji always works.

winget, Scoop and Homebrew packages are on the roadmap.

Quick start

kunji                     # opens the menu: add a provider, then start a chat

Prefer commands? kunji keys add, then kunji chat.

Free and local? Install Ollama, then kunji keys add ollama.

Commands

Command What it does
kunji Interactive menu (stays open until you choose Exit)
kunji chat Chat (-m provider:model, -s "system prompt", -c continue last, --resume <id>)
kunji ask "…" One-shot answer. Reads piped input. -f file to attach, --raw for scripts
kunji @name "…" Run a saved prompt, e.g. kunji @commit, git diff | kunji @review
kunji prompts List prompts; add, edit, show, remove your own
kunji history Saved chats; search, show, export, delete
kunji compare "…" -m a -m b Same prompt to several models, side by side
kunji keys add [provider] Add or replace a key (verified, then saved to the keychain)
kunji keys list / test / remove Manage keys (always masked)
kunji models [provider] Live model list with prices
kunji use provider:model Set your default model
kunji providers Supported providers; providers add for custom servers
kunji usage Tokens and cost per model (stored locally only)
kunji budget set <provider|all> <amount> Daily spending limit
kunji config show / set / path Settings
kunji doctor Check Python, config, keychain and providers

In chat

Input Action
/help Show commands and shortcuts
/model provider:model Switch model (tab completes)
/models [filter] List models of the current provider
/cost Session and today's cost
/file path Attach a text file to your next message (tab completes paths)
@name text Use a saved prompt, e.g. @explain this error
/prompts · /history List saved prompts · recent chats
/system … Set the system prompt
/retry · /new / /clear · /save [file] Regenerate · new conversation · export markdown
/copy Copy the latest assistant response to the clipboard
/exit · /quit · /q Leave the chat
enter · alt+enter / ctrl+j Send · new line
ctrl+c · ctrl+d Stop the reply · quit

Providers

ID Provider Key env variable
openai OpenAI OPENAI_API_KEY
anthropic Anthropic ANTHROPIC_API_KEY
gemini Google Gemini GEMINI_API_KEY / GOOGLE_API_KEY
groq Groq GROQ_API_KEY
openrouter OpenRouter OPENROUTER_API_KEY
deepseek DeepSeek DEEPSEEK_API_KEY
mistral Mistral MISTRAL_API_KEY
xai xAI XAI_API_KEY
together Together AI TOGETHER_API_KEY
ollama Ollama (local) none

Any OpenAI-compatible server (LM Studio, vLLM, LiteLLM proxy…):

kunji providers add lmstudio --base-url http://localhost:1234/v1 --no-key

Security and privacy

  • API keys are stored only in your operating system's credential store, or read from
    environment variables. They are sent only to the provider they belong to.
  • Kunji's config file never contains keys. Errors are scrubbed so keys never appear on screen.
  • Usage and cost history stay on your machine (kunji config path).
  • Network calls kunji makes on its own: the public model price list (OpenRouter, plus this
    repo's catalog/pricing.json) and the PyPI version check. Neither sends anything about you.
    Turn them off with kunji config set network.catalog false and
    kunji config set updates.check false.
  • Found a vulnerability? Please follow SECURITY.md.

Details: docs/PRIVACY.md.

Configuration

kunji config set display.currency INR
kunji config set display.usd_rate 84          # your conversion rate
kunji budget set all 200                      # ₹200/day across every provider
kunji config set fallback '["groq:llama-3.3-70b-versatile", "ollama:qwen2.5"]'

All options: docs/CONFIG.md. Every command with examples: docs/COMMANDS.md. Full documentation: testwithsuraj.github.io/kunji/docs.

Free and Pro

Everything that runs on your machine is free and open source, forever — chat,
switching, keys, cost meter, budgets, compare, fallback, pipes. A future optional
Pro plan will add cloud features that need a server (sync across devices, shared team
keys with per-person budgets, a smart router). See ROADMAP.md.

Contributing

Bug reports, ideas and pull requests are welcome — start with
CONTRIBUTING.md. Architecture overview: docs/ARCHITECTURE.md.

Contributors

Thanks to everyone who has helped build kunji (emoji key):

testwithsuraj
Suraj

💻 🚧
Iman Rashidi
Iman Rashidi

🔣 ⚠️
Ayush
Ayush

💻 ⚠️
AlbertSabirzianov
Albert Sabirzianov

💻 ⚠️ 📖
Harsh Raj Singhania
Harsh Raj Singhania

📖
tushar22199
Tushar

💻

This project follows the all-contributors specification.
Contributions of any kind are welcome!

License

Apache-2.0. "kunji" and the kunji logo are not covered by the license; please
use a different name for forks.

Reviews (0)

No results found