A smart CLI friend
Project description
kalle
kalle -x "Briefly describe yourself for the README.md for your project. $(kalle -h)"
Hey there! I'm Kalle, your friendly personal assistant. I'm here to help you
with any questions or tasks you might have. I'm a smart CLI friend, which means
I can understand and respond to your messages in a conversational way. Think of
me as your go-to buddy for getting things done!
Hello!
kalle is useful for anyone who wants a quick and easy way to get answers or complete tasks without having to leave the command line. It's perfect for developers, researchers, and anyone who wants to automate their workflow.
With kalle, you can:
- Get answers to common questions
- Have focused discussions on specific topics
- Incorporate documents from your local filesystem or web pages into your conversations
- Recall previous conversations
- Summarize content, create and edit files and more to get things done
Getting Started
To get started with kalle, simply install it with pipx:
pipx install kalle
kalle -h
``
Run for the first time!
kalle hi
*NOTE: When running for the first time, the a default model will be downloaded
(SmolLM-1.7b) for use with the llamacpp connector. This may take a few minutes.*
More information can be found in [the installation instructions](installation.md).
Detailed information on how to work with kalle be found in the [documentation](docs/README.md).
---
## Usage
Here are some simple examples of how to use kalle:
- **Simple example**: `kalle "hi"`
- **No conversation history**: `kalle -x "What's the capital of California?"`
- **Custom conversation**: `kalle -c partyplanning "Lets plan a party."`
- **Using a different profile**: `kalle -P ollama "Hello, world!"`
***For more examples, check out the [usage guide](docs/usage.md).***
---
## Features
**Profiles**: connect to any number of different endppints and language models
- Local and self hosted models are supported via llama.cpp and Ollama and TabbyAPI
- Vendor managed models can be accessed via Anthropic, OpenAI, Grok and Google VertexAI APIs
**Conversations**: kalle supports multiple conversations, so you can have focused discussions on specific topics.
- Create a new conversation: `kalle -c my_conversation "Hello, world!"`
- List all conversations: `kalle -l`
- Have a different conversation: `kalle -c my_other_conversation "Hello, other conversation!"`
**Piped input**: information can be piped into kalle on the command line.
- Reference command output: `git diff | kalle -x "Review this git diff, determine why the changes were made and generated a well formed git commit comment." `
**Document references**: kalle can incorporate documents from your local filesystem or web pages into your conversations.
- Reference a local file: `kalle -f "Tell me about this document: file://test.pdf"`
- Reference a web page: `kalle -f "What is this webpage about: https://www.fsf.org"`
**Tools**: tools can be invoked to accomplish various tasks
- Create a file: `kalle -t "Create a file containing the text 'Hello World'."`
- Send a desktop notification: `kalle -t "Send a desktop notification with a haiku about turtles."`
**Constrained generation**: (limited to TabbyAPI currently) constrain generation with regex and json-schema
- Constrain with regex: `kalle -S $(date "+%s") -x -R "HEADS|TAILS" "Flip a coin and tell me if its heads or tails."`
- Constrain with json-schema: `kalle -x -J schema.json -f "Reformat this content into json: file://data.md"`
**Patterns**: create building blocks of agentic functionality
- Combine a set of system prompt tempalte, prompt template, constrainer and profile
- Pipe output from one pattern to the input of another
- Create streamlined workflows
***For more examples, check out the [usage guide](docs/usage.md).***
---
## Resources
Similar projects or alternatives include:
- [AIChat](https://github.com/sigoden/aichat)
- [Elia](https://github.com/darrenburns/elia)
- [Fabric](https://github.com/danielmiessler/fabric)
- [Mods](https://github.com/charmbracelet/mods)
- [oterm](https://github.com/ggozad/oterm)
- [Terminal GPT](https://github.com/aandrew-me/tgpt)
---
## Copyright & License
**Copyright (C) 2024-2025 Wayland Holdings, LLC**
This software is licensed under the GNU Affero GPL
(see [LICENSE.md](LICENSE.md))
This software uses a number of third party libraries. See
[3RDPARTY.licenses](3RDPARTY.licenses) for details. NOTE: This may be out of
date. See the section below "Updating license data".
---
*Copyright (C) 2024-2025 Wayland Holdings, LLC*
<img src="https://fe2.net/static/fe2_logo_kc.png" width="24" alt="fe2">
<img src="https://gc.fe2.net/count?p=/c/kalle/README.md" width="1" alt="fe2">
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kalle-0.0.3.tar.gz.
File metadata
- Download URL: kalle-0.0.3.tar.gz
- Upload date:
- Size: 26.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0c6cbe4d02e1de73c2d8f350e50c659cd88fd1491d2141a1273a1dba7735c3e8
|
|
| MD5 |
f537b21e3ada3010bcf9187d4965e38e
|
|
| BLAKE2b-256 |
8433997e856d38f34a4ebb669da6d64b9512839405dfb134f7baae462eac4785
|
File details
Details for the file kalle-0.0.3-py3-none-any.whl.
File metadata
- Download URL: kalle-0.0.3-py3-none-any.whl
- Upload date:
- Size: 27.3 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2090c11e1d68b9800d1335edf5da0c8735cf8343c53d861be5f1dfa280c87612
|
|
| MD5 |
83be08d70d79fca719fd95ac1fedc5e1
|
|
| BLAKE2b-256 |
bb7392c9bd8986d935dcba3c84809b2b990da808f040b67b813e7abec7732bf8
|