Skip to main content

A smart CLI friend

Project description

kalle

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

kalle-0.0.3.tar.gz (26.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kalle-0.0.3-py3-none-any.whl (27.3 MB view details)

Uploaded Python 3

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

Hashes for kalle-0.0.3.tar.gz
Algorithm Hash digest
SHA256 0c6cbe4d02e1de73c2d8f350e50c659cd88fd1491d2141a1273a1dba7735c3e8
MD5 f537b21e3ada3010bcf9187d4965e38e
BLAKE2b-256 8433997e856d38f34a4ebb669da6d64b9512839405dfb134f7baae462eac4785

See more details on using hashes here.

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

Hashes for kalle-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 2090c11e1d68b9800d1335edf5da0c8735cf8343c53d861be5f1dfa280c87612
MD5 83be08d70d79fca719fd95ac1fedc5e1
BLAKE2b-256 bb7392c9bd8986d935dcba3c84809b2b990da808f040b67b813e7abec7732bf8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page