Metadata-Version: 2.4
Name: ai-boss
Version: 0.1.0
Summary: AI BOSS (Brain-Operating Support System) — a local AI mentor and life-assistant powered by any OpenAI-compatible LLM.
Author-email: backup64 <backup.64.back@gmail.com>
Maintainer-email: backup64 <backup.64.back@gmail.com>
License-Expression: Apache-2.0
Project-URL: Homepage, https://github.com/backup64back-afk/Ai-Boss
Project-URL: Repository, https://github.com/backup64back-afk/Ai-Boss
Project-URL: Issues, https://github.com/backup64back-afk/Ai-Boss/issues
Project-URL: Changelog, https://github.com/backup64back-afk/Ai-Boss/blob/main/CHANGELOG.md
Keywords: ai,assistant,llm,mentor,coach,productivity,boss,brain-operating-support-system,openai,chatgpt,local-llm,ollama,lm-studio
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: End Users/Desktop
Classifier: Natural Language :: English
Classifier: Natural Language :: Russian
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Office/Business :: Scheduling
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Terminals
Classifier: Topic :: Utilities
Classifier: Typing :: Typed
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: openai>=1.30.0
Requires-Dist: httpx<1.0.0,>=0.24.0
Requires-Dist: rich>=13.7.0
Requires-Dist: plyer>=2.1.0
Provides-Extra: dev
Requires-Dist: build>=1.2; extra == "dev"
Requires-Dist: twine>=5.0; extra == "dev"
Dynamic: license-file

# AI BOSS (Brain-Operating Support System)

[![License: Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
[![Python 3.10+](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://www.python.org/downloads/)
[![Status: Alpha](https://img.shields.io/badge/status-alpha-orange.svg)](#)

[English](README.md) | [Русский](https://github.com/backup64back-afk/Ai-Boss/blob/master/README.ru.md)

**AI BOSS** is a local AI mentor and life-assistant that runs entirely in your terminal.  
It connects to any OpenAI-compatible LLM (local or remote) and helps you manage tasks, plans, diary, reminders, and personal growth through a structured workspace.

> **Note:** This project is in active alpha development. APIs and file formats may change.

## Features

- **Local & Private** – Works with local LLMs (Ollama, LM Studio, vLLM, llama.cpp) or any OpenAI-compatible API.
- **Persistent Workspace** – Keeps your profile, plans (today/tomorrow), diary, and custom files in a dedicated folder.
- **AI Tools** – The assistant can create/update/delete files, set timers, send system notifications, update your profile, and more.
- **Preprocessors & Postprocessors** – Background tasks that run before/after the main conversation (e.g., morning routine, evening reflection).
- **Timer Manager** – Set reminders; the AI wakes up automatically and notifies you.
- **Rich Terminal UI** – Beautiful markdown rendering, syntax highlighting, reasoning display, and usage/timings.
- **Multilingual** – Russian and English interfaces (more can be added via locale files).
- **Debugging & Transparency** – Optional logging of all LLM traffic, tool calls, and pre/postprocessor snapshots.

## Installation

```bash
pip install ai-boss
```

Requires **Python 3.10** or newer.

## Quick Start

After installation, simply run:

```bash
ai-boss
```

On first launch, an onboarding wizard will guide you through:

1. Choosing the interface language.
2. Selecting a workspace directory (where state files are stored).
3. Configuring the LLM connection (API base URL, API key, model name).
4. Advanced options (logging, reasoning effort, postprocessor quiet mode, etc.).

The wizard creates `config.json` and a `workspace/` folder with template files.

## Usage

Once running, you can chat with the AI naturally. Commands start with `!` (e.g., `!help`).  
The AI can also use tools autonomously to manage your workspace.

### Common Commands

| Command | Description |
|---------|-------------|
| `!help` | Show all available commands |
| `!status` | List files managed by the AI |
| `!profile` | View or edit your user profile |
| `!system_prompt` | View or edit the system prompt |
| `!model` | Change the LLM model |
| `!language` | Switch interface language (ru/en) |
| `!reset` | Clear conversation history |
| `!redo` | Regenerate the last assistant response |
| `!exit` | Quit the application |

To view a file from the `files/` folder directly in the terminal, type:

```
/files/path/to/file.md
```

Without a path, it lists all files.

## How It Works

AI BOSS maintains a workspace with the following structure:

```
workspace/
├── system_prompt.txt      # Core instructions for the AI
├── user_profile.txt       # Information about you
├── chat_history.json      # Conversation history
├── plan_today.txt         # Today's plan (read-only after morning reset)
├── plan_tomorrow.txt      # Tomorrow's plan (editable)
├── diary.txt              # Success diary
├── timers.json            # Active reminders
└── files/                 # Custom files created by the AI
```

Before each LLM call, the system assembles context from these files and injects it as tool results.  
The AI can call tools to modify the workspace.  
After the main response, **postprocessors** run in background threads to perform tasks like updating plans or reflecting on the conversation.  
**Preprocessors** run before the main call (e.g., morning actualization).

## Configuration

Configuration is stored in `config.json` in the current working directory.  
You can edit it manually or use interactive commands.

Key settings include:

- `llm`: API base, key, model, context window, max tokens, reasoning effort.
- `workspace_dir`: Where state files are stored.
- `preprocessors` / `postprocessors`: Background task definitions.
- `language`: Interface language (`ru` or `en`).
- `debug_traffic`: Enable detailed logging to `logs/`.

## Contributing

Contributions are welcome!  
Please open an issue or pull request on [GitHub](https://github.com/backup64back-afk/Ai-Boss).

## License

This project is licensed under the **Apache License 2.0** – see the [LICENSE](LICENSE) file for details.

## Links

- **GitHub:** https://github.com/backup64back-afk/Ai-Boss
- **Issues:** https://github.com/backup64back-afk/Ai-Boss/issues
- **Changelog:** https://github.com/backup64back-afk/Ai-Boss/blob/main/CHANGELOG.md

---

*Made with ❤️ for personal growth and productivity.*

🇷🇺 [Русская версия](https://github.com/backup64back-afk/Ai-Boss/blob/main/README.ru.md)
