███
█████ ████████
███████ ██████████
███████ ████████████
████ ██████████
█████ ████████
███████████ ██████
█████████████ ███████████ ███
██████████████ ███████████████ ████████
███████████████████████ ██████████████████
█████████████████████████████ ██████████████████
█████████████████████████████ █ █████████████████
███████ █████████ ███████ ███ ████ ███████
████ ██ ██████ ███ █
█████
████
██ ███
███████
█████████
█████████
███████
█████████
█████████████
███████████████
███████████████
█████████████
█████████
Absorb is a terminal-first AI orchestrator that combines up to three Large Language Models into a single planning engine capable of generating massive technical specifications, schedules, architectures, roadmaps and long-form project documentation.
- 🧠 Single Model Generation
- 🎼 Multi-Model Orchestra Mode
- 📋 Technical Specifications (TZ)
- 🗂️ Task Breakdown
- 📅 Development Schedules
- 📚 Comprehensive Project Plans
- 📄 Export to TXT, DOCX and PDF
- 🔌 OpenAI, Anthropic and OpenAI-Compatible APIs
- ⚡ Rich Terminal Interface
- 🧩 Provider Agnostic Architecture
- 💾 Local File Generation
git clone https://github.com/shell-windon/absorb
cd absorb
pip install -r requirements.txtGenerate a document:
python main.py generate -t "Website for online courses"Generate a PDF:
python main.py generate -t "Website for online courses" -f pdfGenerate with Orchestra Mode:
python main.py generate -t "Website for online courses" -p comprehensive -f pdf -opython main.py generate \
-t "<project description>" \
-p <plan type> \
-f <format> \
[-o]| Argument | Description |
|---|---|
-t |
Project description or prompt |
-p |
Plan type |
-f |
Output format |
-o |
Enable Orchestra Mode |
tz Technical Specification
tasks Task Breakdown
schedule Development Schedule
comprehensive Full Project Documentation
Examples:
python main.py generate -t "FPS Game" -p tz -f pdf
python main.py generate -t "AI Startup" -p schedule -f docx
python main.py generate -t "Trading Platform" -p comprehensive -f pdf -o┌──────────────────────────────────────────────────────────────┐
│ main.py │
│ CLI (click) + Interactive Mode (questionary) │
└──────────┬──────────────────────────────────┬────────────────┘
│ │
┌─────▼──────┐ ┌──────▼─────────┐
│ interactive│ │ generate ... │
└─────┬──────┘ └──────┬─────────┘
│ │
└──────────┬───────────────────────┘
│
┌────────────▼────────────┐
│ Orchestrator │
│ generate_single() │
│ generate_orchestrated() │
└────┬───────────┬────────┘
│ │
┌───────▼───┐ ┌───▼────────────┐
│ LLMClient │ │ LLMClient x N │
│ (1 model) │ │ ThreadPool │
└───────────┘ └──────┬─────────┘
▼
Conductor / Synthesizer
▼
TXT / DOCX / PDF Generator
▼
User Output File
Configuration is stored inside:
~/.absorb/config.json
Example:
{
"models": [
{
"name": "GPT-4o-mini",
"provider": "openai-compatible",
"api_key": "sk-...",
"model": "openai/gpt-4o-mini",
"base_url": "https://openrouter.ai/api/v1"
}
],
"default_output_format": "txt",
"smartest_model_index": 0
}Represents a single model:
- name
- provider
- api_key
- model
- base_url
- loads configuration
- saves configuration
- manages models
- limits orchestra to three models
| Provider | Supported |
|---|---|
| OpenAI | ✅ |
| Anthropic | ✅ |
| OpenAI-Co. | ✅ |
| DeepSeek | ✅ |
| Groq | ✅ |
| OpenRouter | ✅ |
| LM Studio | ✅ |
| Ollama | ✅ |
src/llm.py
Unified interface:
client.chat.completions.create(...)client.messages.create(...)Universal API:
generate(system_prompt, user_prompt, max_tokens=16000)src/templates.py
System prompts:
SYSTEM_EXPERTSYSTEM_SYNTHESIZER
Plan templates:
- comprehensive
- tz
- tasks
- schedule
The core feature of Absorb.
User
↓
Template
↓
Model
↓
Final Plan
User
↓
Template
↓
GPT
Claude
DeepSeek
↓
Conductor
↓
Super Plan
Workflow:
- Run up to three models in parallel.
- Collect all generated plans.
- Send plans to the smartest model.
- Synthesize a final document.
Example:
GPT writes Plan A.
DeepSeek writes Plan B.
GPT analyzes A+B and produces a superior plan.
absorb/
│
├── main.py
├── src/
│ ├── config.py
│ ├── llm.py
│ ├── templates.py
│ ├── orchestrator.py
│ ├── ui.py
│ └── generators/
│ ├── txt.py
│ ├── docx.py
│ └── pdf.py
1. Generate Plan (Single Model)
2. Generate Plan (Orchestrator)
3. Manage Models
4. Settings
5. About
0. Exit
Features:
- ASCII logo
- Rich tables
- Model manager
- Loading spinner
- Markdown preview
- About page
output/
├── project.txt
├── project.docx
└── project.pdf
Files are automatically saved to the user's directory.
Example:
Website_Online_Courses.pdf
Telegram_Bot_Finances.docx
python main.py- Add Model.
- Configure API.
- Generate Plan.
- Export.
Or:
python main.py generate \
-t "Telegram finance bot" \
-p comprehensive \
-f pdf \
-o- Single Model Generation
- Orchestra Mode
- TXT Export
- DOCX Export Improvements
- PDF Templates
- Mermaid Diagrams
- UML Generation
- RAG Support
- Local Models
- GitHub Integration
- Jira Export
- Trello Export
- AI Memory
MIT License
Created by Shell Windon
One model gives an answer. Several models give perspective. Absorb turns perspectives into a plan.