Skip to content

iamlockon/shibainu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

shibainu

In remembrance of Kabosu, the famous shiba dog.

Kabosu

This SUPER helpful TUI helps you with any task you have in hand.

It runs as a ratatui/crossterm TUI and stores its config in ~/.config/shibainu/config.toml.

Features

  • Animated ASCII shiba avatar with mood-based states
  • Streaming chat responses in a terminal UI
  • Anthropic and OpenAI provider support
  • In-app provider and model switching with /provider
  • Automatic config file creation on first launch

Requirements

  • Rust toolchain with cargo
  • An Anthropic API key or OpenAI API key

Quickstart

Set one of the supported API keys:

export ANTHROPIC_API_KEY=your_key_here

or:

export OPENAI_API_KEY=your_key_here

Run the app:

cargo run --release

On first launch, shibainu creates:

~/.config/shibainu/config.toml

Configuration

Environment variables take precedence over values stored in the config file.

Example ~/.config/shibainu/config.toml:

[default]
provider = "anthropic"
model = "claude-sonnet-4-6"

[anthropic]
api_key = ""

[openai]
api_key = ""
model = "gpt-4o"

Supported providers:

  • anthropic
  • openai

Selectable models currently include:

  • Anthropic: claude-opus-4-7, claude-sonnet-4-6, claude-haiku-4-5-20251001
  • OpenAI: gpt-4o, gpt-4o-mini, gpt-4-turbo

Usage

Once the TUI is open:

  • Type a message and press Enter to send it
  • Use /provider to open the provider/model picker
  • Use /exit or Ctrl+C to quit
  • Use and to scroll chat history
  • Use PgUp and PgDn to jump through chat history
  • Use End to jump back to the latest messages

Inside the provider picker:

  • and change provider
  • and change model
  • Enter confirms
  • Esc cancels

Development

Build:

cargo build

Run tests:

cargo test

Run the optimized binary:

cargo run --release

Project Layout

src/
  app.rs                event loop and app state
  config.rs             config loading and saving
  prompt.rs             system prompt
  stream_processor.rs   streaming token handling
  providers/            Anthropic and OpenAI clients
  tui/                  ratatui widgets and shiba art

Notes

  • If the configured provider is missing an API key, the app opens with the provider menu so you can switch to a configured backend.
  • The app currently focuses on the interactive TUI experience rather than a non-interactive CLI mode.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages