# OWLEN > Terminal-native assistant for running local language models with a comfortable TUI. ![Status](https://img.shields.io/badge/status-alpha-yellow) ![Version](https://img.shields.io/badge/version-0.1.9-blue) ![Rust](https://img.shields.io/badge/made_with-Rust-ffc832?logo=rust&logoColor=white) ![License](https://img.shields.io/badge/license-AGPL--3.0-blue) ## What Is OWLEN? OWLEN is a Rust-powered, terminal-first interface for interacting with local large language models. It provides a responsive chat workflow that runs against [Ollama](https://ollama.com/) with a focus on developer productivity, vim-style navigation, and seamless session management—all without leaving your terminal. ## Alpha Status This project is currently in **alpha** and under active development. Core features are functional, but expect occasional bugs and breaking changes. Feedback, bug reports, and contributions are very welcome! ## Screenshots ![OWLEN TUI Layout](images/layout.png) The OWLEN interface features a clean, multi-panel layout with vim-inspired navigation. See more screenshots in the [`images/`](images/) directory. ## Features - **Vim-style Navigation**: Normal, editing, visual, and command modes. - **Streaming Responses**: Real-time token streaming from Ollama. - **Advanced Text Editing**: Multi-line input, history, and clipboard support. - **Session Management**: Save, load, and manage conversations. - **Theming System**: 10 built-in themes and support for custom themes. - **Modular Architecture**: Extensible provider system (currently Ollama). ## Getting Started ### Prerequisites - Rust 1.75+ and Cargo. - A running Ollama instance. - A terminal that supports 256 colors. ### Installation #### Linux & macOS The recommended way to install on Linux and macOS is to clone the repository and install using `cargo`. ```bash git clone https://github.com/Owlibou/owlen.git cd owlen cargo install --path crates/owlen-cli ``` **Note for macOS**: While this method works, official binary releases for macOS are planned for the future. #### Windows The Windows build has not been thoroughly tested yet. Installation is possible via the same `cargo install` method, but it is considered experimental at this time. ### Running OWLEN Make sure Ollama is running, then launch the application: ```bash owlen ``` If you built from source without installing, you can run it with: ```bash ./target/release/owlen ``` ## Using the TUI OWLEN uses a modal, vim-inspired interface. Press `?` in Normal mode to view the help screen with all keybindings. - **Normal Mode**: Navigate with `h/j/k/l`, `w/b`, `gg/G`. - **Editing Mode**: Enter with `i` or `a`. Send messages with `Enter`. - **Command Mode**: Enter with `:`. Access commands like `:quit`, `:save`, `:theme`. ## Documentation For more detailed information, please refer to the following documents: - **[CONTRIBUTING.md](CONTRIBUTING.md)**: Guidelines for contributing to the project. - **[CHANGELOG.md](CHANGELOG.md)**: A log of changes for each version. - **[docs/architecture.md](docs/architecture.md)**: An overview of the project's architecture. - **[docs/troubleshooting.md](docs/troubleshooting.md)**: Help with common issues. - **[docs/provider-implementation.md](docs/provider-implementation.md)**: A guide for adding new providers. ## Configuration OWLEN stores its configuration in `~/.config/owlen/config.toml`. This file is created on the first run and can be customized. You can also add custom themes in `~/.config/owlen/themes/`. See the [themes/README.md](themes/README.md) for more details on theming. ## Roadmap We are actively working on enhancing the code client, adding more providers (OpenAI, Anthropic), and improving the overall user experience. See the [Roadmap section in the old README](https://github.com/Owlibou/owlen/blob/main/README.md?plain=1#L295) for more details. ## Contributing Contributions are highly welcome! Please see our **[Contributing Guide](CONTRIBUTING.md)** for details on how to get started, including our code style, commit conventions, and pull request process. ## License This project is licensed under the GNU Affero General Public License v3.0. See the [LICENSE](LICENSE) file for details.