Metadata-Version: 2.4
Name: chatixia
Version: 0.1.0
Summary: Deploy and run AI agents locally
Project-URL: Homepage, https://github.com/Chatixia-AI/chatixia-agent
Project-URL: Repository, https://github.com/Chatixia-AI/chatixia-agent
Project-URL: Issues, https://github.com/Chatixia-AI/chatixia-agent/issues
License-Expression: MIT
Keywords: agent,ai,automation,chatbot,llm
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.12
Requires-Dist: openai>=1.40.0
Requires-Dist: prompt-toolkit>=3.0.0
Requires-Dist: python-dotenv>=1.2.1
Requires-Dist: pyyaml>=6.0
Requires-Dist: rich>=14.0.0
Requires-Dist: structlog>=25.0.0
Requires-Dist: tiktoken>=0.7.0
Provides-Extra: all
Requires-Dist: azure-ai-documentintelligence>=1.0.0; extra == 'all'
Requires-Dist: azure-search-documents>=11.6.0; extra == 'all'
Requires-Dist: beautifulsoup4>=4.13.0; extra == 'all'
Requires-Dist: mcp>=1.26.0; extra == 'all'
Requires-Dist: opencv-python>=4.13.0.90; extra == 'all'
Requires-Dist: pandas>=3.0.0; extra == 'all'
Requires-Dist: pillow>=11.0.0; extra == 'all'
Requires-Dist: playwright>=1.40.0; extra == 'all'
Requires-Dist: psycopg[binary]>=3.2.0; extra == 'all'
Requires-Dist: pymupdf>=1.25.0; extra == 'all'
Requires-Dist: requests>=2.32.0; extra == 'all'
Requires-Dist: slack-bolt>=1.20.0; extra == 'all'
Provides-Extra: dev
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Requires-Dist: ruff>=0.15.0; extra == 'dev'
Description-Content-Type: text/markdown

# Chatixia SDK

Deploy and run AI agents locally with a single command.

## Installation

```bash
pip install chatixia
```

Or from source (development):

```bash
pip install -e "./sdk[dev]"
```

## Quick Start

### 1. Create an agent manifest

```bash
chatixia init my-agent
```

This creates `agent.yaml` and `.env.example` in the current directory.

### 2. Configure credentials

```bash
cp .env.example .env
# Edit .env with your API keys
```

### 3. Run

```bash
# Interactive REPL
chatixia run

# Autonomous mode (goal-driven loop)
chatixia run --daemon

# One-shot (pipe-friendly)
chatixia run --once "Summarize today's new purchase requisitions"

# Validate manifest before running
chatixia validate
```

## Agent Manifest (`agent.yaml`)

```yaml
name: procurement-assistant
description: "Monitors and classifies purchase requisitions"

# LLM provider: azure | openai | ollama
provider: azure
model: gpt-5.2

# System prompt — defines the agent's persona
prompt: |
  You are a procurement specialist.
  Use available tools to analyze documents and query databases.

# Skills
skills:
  builtin:                           # Names of built-in skills to enable
    - analyze_document
    - postgres_readonly_query
    - get_ariba_data
  dirs:                              # Additional skill directories
    - ./custom-skills
  disabled:                          # Skills to exclude
    - echo

# Goals (activated with --daemon)
goals:
  - name: monitor_prs
    sensor: "Check Ariba for new purchase requisitions in the last 15 minutes"
    action: "Classify with UNSPSC and post summary to Slack"
    interval: 900                    # seconds
    autonomy: auto                   # auto | notify | approve

# MCP servers
mcp_servers:
  playwright:
    command: npx
    args: [-y, "@playwright/mcp@latest"]

# Environment
env:
  file: .env
  required:
    - AZURE_OPENAI_ENDPOINT
    - AZURE_OPENAI_API_KEY
    - AZURE_OPENAI_DEPLOYMENT

# Runtime tuning
max_turns: 10
context_window: 120000
data_dir: .chatixia
```

## CLI Reference

| Command | Description |
|---------|-------------|
| `chatixia run [manifest]` | Interactive REPL (default: `./agent.yaml`) |
| `chatixia run --daemon` | Autonomous goal loop |
| `chatixia run --once "msg"` | Single message, then exit |
| `chatixia run --tick 60` | Set daemon tick interval (seconds) |
| `chatixia init [name]` | Scaffold a new `agent.yaml` |
| `chatixia validate [manifest]` | Validate manifest and check env vars |
| `chatixia -V` | Show version |

## LLM Providers

| Provider | Required env vars |
|----------|-------------------|
| `azure` | `AZURE_OPENAI_ENDPOINT`, `AZURE_OPENAI_API_KEY`, `AZURE_OPENAI_DEPLOYMENT` |
| `openai` | `OPENAI_API_KEY` |
| `ollama` | None (defaults to `localhost:11434`) |

Set `provider` in `agent.yaml` and configure the corresponding env vars.

## Building for Distribution

```bash
cd sdk
make build      # Vendors core modules + builds wheel
make clean      # Remove vendored files and build artifacts
```

## License

MIT
