https://github.com/yarenty/kowalski

High performance Rust based AI Agent.

https://github.com/yarenty/kowalski

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.7%) to scientific vocabulary

Keywords

agent agentic-ai ai high-performance high-performance-computing llm rust
Last synced: 5 months ago · JSON representation

Repository

High performance Rust based AI Agent.

Basic Info
  • Host: GitHub
  • Owner: yarenty
  • Language: Rust
  • Default Branch: main
  • Homepage:
  • Size: 42.4 MB
Statistics
  • Stars: 12
  • Watchers: 1
  • Forks: 0
  • Open Issues: 13
  • Releases: 5
Topics
agent agentic-ai ai high-performance high-performance-computing llm rust
Created 12 months ago · Last pushed 7 months ago
Metadata Files
Readme Changelog Roadmap

README.md

Kowalski

"AI agents are like pets – they're cute, but they make a mess."
"The future is modular, and so is Kowalski. Want a feature? Open an issue or submit a PR!"

A sophisticated Rust-based multi-agent framework for interacting with various LLM providers, with built-in support for federation, secure multi-party computation, and extensible tooling architecture.


🌟 Vision & Architecture

Kowalski is designed as a foundational framework for building intelligent, distributed agent systems that can collaborate securely and efficiently. The architecture supports both standalone operation and federated deployments with advanced privacy-preserving capabilities.

Architecture

kowalski/ ├── kowalski-core/ # Core agent abstractions, conversation, roles, config, toolchain ├── kowalski-tools/ # Pluggable tools (code, data, web, document, etc.) ├── kowalski-agent-template/ # Agent builder, base agent, and templates ├── kowalski-federation/ # Multi-agent orchestration (WIP) ├── kowalski-academic-agent/ # Academic research agent ├── kowalski-code-agent/ # Code analysis agent ├── kowalski-data-agent/ # Data analysis agent ├── kowalski-web-agent/ # Web research agent ├── kowalski-cli/ # Command-line interface ├── resources/ # Configs, tokenizer, etc. └── ... # Examples, docs, etc.


📦 Module Overview

kowalski-core

  • Foundational types, agent abstractions, conversation, roles, configuration, error handling, toolchain logic.
  • Designed for extensibility and async-first operation.
  • See details

kowalski-tools

  • Pluggable tools for code, data, web, and document analysis.
  • Includes CSV, code (Java/Python/Rust), web search, web scraping, PDF tools, and more.
  • Upcoming: Will be refactored into even more granular, independent tool modules for easier extension and maintenance.
  • See details

kowalski-agent-template

  • Agent builder, base agent, and ready-to-use templates (general, research, etc.).
  • Makes it easy to compose new agents with custom tools and prompts.
  • See details

kowalski-federation

  • Work in Progress: Multi-agent orchestration, registry, and protocols.
  • Current focus: agent registration, task delegation, message passing.
  • Decisions to make: Protocol selection (A2A, ACP, MCP, or custom), security, scalability, and extensibility.
  • See details

Specific Agents

  • kowalski-academic-agent: Academic research, PDF analysis, citation extraction.
  • kowalski-code-agent: Code analysis, metrics, suggestions for Java/Python/Rust.
  • kowalski-data-agent: Data/CSV analysis, statistics, summaries.
  • kowalski-web-agent: Web search, scraping, and research.
  • Each agent is a separate crate with its own README and examples.

🚀 Installation & Setup

"Installation is like cooking – it's easy until you burn something." – A Frustrated Developer

1. Prerequisites

  • Rust (latest stable, install via rustup.rs)
  • Ollama (for local LLMs, e.g., llama3.2)
  • (Optional) Other LLM providers (OpenAI, etc.)

2. Clone & Build

bash git clone https://github.com/yarenty/kowalski.git cd kowalski cargo build --release

3. Install & Run Ollama

```bash

Install Ollama (see https://ollama.com/download)

ollama serve &

Download a model (llama3.2 runs on CPU)

ollama pull llama3.2 ```

4. Run Kowalski

```bash cargo run --release --bin kowalski-cli

Or use the CLI directly after building

./target/release/kowalski chat "Hello, world!" ```


🛠️ Usage

CLI Examples

```bash

Chat with an LLM

kowalski chat "What's the best way to learn Rust?"

Analyze a PDF

kowalski academic --file research.pdf

Web search

kowalski tool search "rust async programming"

Code analysis

kowalski tool code ./src/main.rs ```

Rust API Example

rust use kowalski_core::{Agent, BaseAgent, Config}; let config = Config::default(); let mut agent = BaseAgent::new(config, "Demo Agent", "A test agent").await?; let conv_id = agent.start_conversation("llama3.2"); agent.add_message(&conv_id, "user", "Hello, world!").await;


🤖 Existing Agents & How to Run

Academic Agent

  • Location: kowalski-academic-agent/
  • Run:
    bash cargo run --release --bin kowalski-academic-agent -- --file paper.pdf
  • Features: PDF analysis, citation extraction, academic summarization.

Code Agent

  • Location: kowalski-code-agent/
  • Run:
    bash cargo run --release --bin kowalski-code-agent -- --file main.rs
  • Features: Code metrics, suggestions, multi-language support.

Data Agent

  • Location: kowalski-data-agent/
  • Run:
    ```bash cargo run --release

create data chat data-agent using csv tool could you investigate content and give me insight about domain_structure.csv file? ``` - Features: CSV analysis, statistics, summaries.

Web Agent

  • Location: kowalski-web-agent/
  • Run:
    bash cargo run --release --bin kowalski-web-agent -- --query "latest AI news"
  • Features: Web search, scraping, summarization.

  • See each agent's README for more details and output examples.


📖 Documentation & Links


🤝 Contributing

"Contributing is like dating – it's fun until someone suggests changes." – An Open Source Maintainer

  • PRs, issues, and feature requests are welcome!
  • Please add tests and update docs.
  • See CONTRIBUTING.md if available.

📝 License

"Licenses are like prenuptial agreements – they're boring until you need them." – A Lawyer

MIT License. See LICENSE.


🙏 Acknowledgments

"Acknowledgments are like thank you notes – they're nice but nobody reads them." – A Grateful Developer

  • Thanks to the Ollama team and all open source contributors.
  • Thanks to my coffee machine for keeping me awake during development.
  • Thanks to everyone who opens an issue, even if it's just to say "it doesn't work".

📈 Activity

Alt


For the latest features, roadmap, and future plans, see ROADMAP.md.

Owner

  • Name: Jaroslaw Nowosad
  • Login: yarenty
  • Kind: user
  • Location: Ireland
  • Company: SkyCorp Limited

GitHub Events

Total
  • Create event: 7
  • Issues event: 19
  • Release event: 3
  • Watch event: 15
  • Issue comment event: 2
  • Push event: 77
  • Gollum event: 1
  • Pull request event: 6
Last Year
  • Create event: 7
  • Issues event: 19
  • Release event: 3
  • Watch event: 15
  • Issue comment event: 2
  • Push event: 77
  • Gollum event: 1
  • Pull request event: 6

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 16
  • Total pull requests: 8
  • Average time to close issues: 1 day
  • Average time to close pull requests: 7 minutes
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 0.13
  • Average comments per pull request: 0.0
  • Merged pull requests: 8
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 16
  • Pull requests: 8
  • Average time to close issues: 1 day
  • Average time to close pull requests: 7 minutes
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 0.13
  • Average comments per pull request: 0.0
  • Merged pull requests: 8
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • yarenty (16)
Pull Request Authors
  • yarenty (12)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 10
  • Total downloads:
    • cargo 4,555 total
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 0
    (may contain duplicates)
  • Total versions: 12
  • Total maintainers: 1
crates.io: kowalski-tools

Kowalski Tooling: A Rust-based agent for interacting with Ollama models

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 380 Total
Rankings
Dependent repos count: 21.1%
Dependent packages count: 27.9%
Forks count: 39.3%
Average: 47.7%
Stargazers count: 55.4%
Downloads: 94.7%
Maintainers (1)
Last synced: 6 months ago
crates.io: kowalski-agent-template

Kowalski Template of Agent: A Rust-based agent for interacting with Ollama models

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 374 Total
Rankings
Dependent repos count: 21.1%
Dependent packages count: 27.9%
Forks count: 39.3%
Average: 47.7%
Stargazers count: 55.4%
Downloads: 94.7%
Maintainers (1)
Last synced: 6 months ago
crates.io: kowalski-web-agent

Kowalski Web Agent: A Rust-based agent for interacting with Ollama models

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 352 Total
Rankings
Dependent repos count: 21.1%
Dependent packages count: 27.9%
Average: 47.9%
Downloads: 94.7%
Maintainers (1)
Last synced: 6 months ago
crates.io: kowalski-code-agent

Kowalski Code Agent: A Rust-based agent for interacting with Ollama models

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 338 Total
Rankings
Dependent repos count: 21.1%
Dependent packages count: 27.9%
Average: 47.9%
Downloads: 94.7%
Maintainers (1)
Last synced: 6 months ago
crates.io: kowalski-cli

Kowalski CLI Interface: A Rust-based agent for interacting with Ollama models

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 313 Total
Rankings
Dependent repos count: 21.1%
Dependent packages count: 27.9%
Average: 47.9%
Downloads: 94.7%
Maintainers (1)
Last synced: 6 months ago
crates.io: kowalski-federation

Kowalski Federation: A Rust-based agent for interacting with Ollama models

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 340 Total
Rankings
Dependent repos count: 21.1%
Dependent packages count: 27.9%
Average: 47.9%
Downloads: 94.7%
Maintainers (1)
Last synced: 6 months ago
crates.io: kowalski-data-agent

Kowalski Date Agent: A Rust-based agent for interacting with Ollama models

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 337 Total
Rankings
Dependent repos count: 21.1%
Dependent packages count: 27.9%
Average: 47.9%
Downloads: 94.7%
Maintainers (1)
Last synced: 6 months ago
crates.io: kowalski-academic-agent

Kowalski Academic Agent: A Rust-based agent for interacting with Ollama models

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 340 Total
Rankings
Dependent repos count: 21.1%
Dependent packages count: 27.9%
Average: 47.9%
Downloads: 94.7%
Maintainers (1)
Last synced: 6 months ago
crates.io: kowalski-core

Kowalski Core Module: A Rust-based agent for interacting with Ollama models

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 397 Total
Rankings
Dependent repos count: 21.1%
Dependent packages count: 27.9%
Average: 47.9%
Downloads: 94.7%
Maintainers (1)
Last synced: 6 months ago
crates.io: kowalski

Kowalski: A Rust-based agent for interacting with Ollama models

  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 1,384 Total
Rankings
Dependent repos count: 22.8%
Dependent packages count: 30.3%
Average: 49.8%
Downloads: 96.2%
Maintainers (1)
Last synced: 6 months ago

Dependencies

Cargo.toml cargo