Skip to main content

A Python framework for building structured, controllable AI bots.

Project description

Cogniconsole

A Python framework for building structured, controllable AI bots

Installation and Usage

Run pip install cogniconsole.
This is the main library. It is the core that allows developers to create their own cartridges using its utilities.

After installing it, visit: https://github.com/WillFranceschi/cogniconsole

Download the cartridges/investigation-game/ directory.

Inside the investigation game directory, you will find a .env file with the necessary environment variables.
This file contains:

# Choose your default model api. It can be "ollama" or "openai"
export COGNICONSOLE_DEFAULT_MODEL_API="openai"

# If on COGNICONSOLE_DEFAULT_MODEL_API you chose "ollama"...
# export COGNICONSOLE_OLLAMA_DEFAULT_MODEL="deepseek-r1:latest"
# export COGNICONSOLE_OLLAMA_DEFAULT_API_URL="http://192.168.8.126:11435/api/generate"

# If on COGNICONSOLE_DEFAULT_MODEL_API you chose "openai"...
export OPENAI_API_KEY="<your-open-ai-key>"

# Uncomment the following envvar if you want to save the chats.
# export COGNICONSOLE_LOG_CHATS=1

Alternatively, you can export these variables one by one depending on your operating system.

After adding the environment variables to your terminal:

  • If you are using "ollama", you will need to install requests as a dependency: pip install requests
  • If you are using "openai", you will need to install openai as a dependency: pip install openai

After that setup, run:
cogniconsole <path-to-investigation-game-dir-you-downloaded-from-github>

If everything is set up correctly, the game will start.

This is a simple text-based game in which the main goal is to demonstrate Cogniconsole's capabilities and serve as an example for developers to create their own cartridges.
In it, you will find prompt examples, how to utilize each resource, and common examples of logic handling.

What is Cogniconsole?

Cogniconsole is a Python library for building structured, controllable AI bots.

It provides developers with a framework to manage prompts, interact with multiple models, enforce execution constraints, and organize bot behavior in a predictable and reusable way.

Instead of treating AI interactions as loose prompt chains, Cogniconsole introduces a disciplined architecture inspired by video games:

  • The console (the library) provides the runtime, tools, and rules.
  • Developers build cartridges — self-contained modules that define specific bot behaviors, tasks, and constraints.
  • Each cartridge can run multiple bots, which are execution instances following the cartridge’s logic.

In standard AI terminology, bots are often called agents. We use the term bot to emphasize that multiple bots can run per cartridge.

Each cartridge follows a predefined structure, making bots easier to develop, test, reuse, and share.

Why Cogniconsole?

This approach allows developers to:

  • Precisely control how and when models are used.
  • Combine multiple models within a single workflow.
  • Encapsulate logic into modular, portable units.
  • Avoid the chaos of unstructured prompt engineering.

Cogniconsole is designed for developers who want fine-grained control over AI systems, without sacrificing flexibility.

Project Structure

/project-folder
│
├── cogniconsole/        # Core library
├── cartridges/          # Example cartridges
│   └── investigation-game/
├── docs/                # Documentation
├── README.md
└── LICENSE

Documentation

Full documentation is available in the /docs directory on github:

Contributing

Contributions are welcome. Please open an issue or submit a pull request.

License

This project is licensed under the MIT License.

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

cogniconsole-0.1.0b1.tar.gz (8.3 kB view details)

Uploaded Source

Built Distribution

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

cogniconsole-0.1.0b1-py3-none-any.whl (10.1 kB view details)

Uploaded Python 3

File details

Details for the file cogniconsole-0.1.0b1.tar.gz.

File metadata

  • Download URL: cogniconsole-0.1.0b1.tar.gz
  • Upload date:
  • Size: 8.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.5

File hashes

Hashes for cogniconsole-0.1.0b1.tar.gz
Algorithm Hash digest
SHA256 19b735e1a92a9e42331bf85b94a032db7a62b51ba189f9cf10d7dbea93f65a5c
MD5 866308de40cffe69ddf9a58d4891a559
BLAKE2b-256 5e8883a953382f017dfe72bdc696ccab0bd30d05391b99e3de2faddc58394245

See more details on using hashes here.

File details

Details for the file cogniconsole-0.1.0b1-py3-none-any.whl.

File metadata

  • Download URL: cogniconsole-0.1.0b1-py3-none-any.whl
  • Upload date:
  • Size: 10.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.5

File hashes

Hashes for cogniconsole-0.1.0b1-py3-none-any.whl
Algorithm Hash digest
SHA256 efb09594e35654c3b4f4b80b68646ad65df16840764cb8087767782254720c3e
MD5 7e8823841f4267c8983fc34c98acf30b
BLAKE2b-256 c714276a66b5c65320435ed43129442a51dfdeb46a7c3aefea16f5fb240d5584

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