Daniel Wagner 15b595456a fix: modernize pydantic config to remove deprecation warning
- Replace deprecated class Config pattern with model_config = ConfigDict(...)
- Add ConfigDict import from pydantic
- Fixes PydanticDeprecatedSince20 warning in test output
- Maintains all existing functionality

All 73 tests pass without warnings.
2026-07-26 12:54:54 +10:00
2026-07-25 14:40:35 +00:00

Steward

Steward is a long-running, AI-assisted personal operations platform designed to reduce cognitive load by acting as a persistent, trustworthy steward of both digital infrastructure and delegated personal objectives.

Features

  • Telegram Bot: Group/channel support with thread-based conversations
  • Message Threads: Organized conversations with automatic summarization
  • Knowledge Base: Stores and retrieves conversation summaries
  • LLM Integration: OpenAI-compatible API support
  • Tool Calling: Optional MCP/OpenAPI tool server integration
  • Flexible Configuration: YAML + environment variables (Kubernetes-ready)

Quick Start

Prerequisites

  • Python 3.12+
  • Docker & Docker Compose
  • Telegram Bot Token (from @BotFather)
  • OpenAI API Key

Local Development

  1. Clone the repository:
git clone https://github.com/djw4/steward.git
cd steward
  1. Copy .env.example to .env and fill in your values:
cp .env.example .env
# Edit .env with your tokens and IDs
  1. Create the data directory:
mkdir -p data
  1. Start with Docker Compose:
docker compose -f docker-compose.dev.yml up --build

Configuration

See CONFIGURATION.md for detailed configuration options.

Running Tests

# Install dev dependencies
pip install -e ".[dev]"

# Run all tests
pytest tests/ -v

# Run with coverage
pytest tests/ --cov=steward

Pre-commit Hooks

Set up pre-commit hooks to run linting and tests automatically:

pip install pre-commit
pre-commit install

This will run:

  • ruff check for code style
  • pytest for tests

On every commit. You can skip with git commit --no-verify if needed.

Development

Deployment

For Kubernetes deployment, see examples in CONFIGURATION.md.

Production image: ghcr.io/djw4/steward:latest

License

See LICENSE file for details.

Description
No description provided
Readme 199 KiB
Languages
Python 99.5%
Dockerfile 0.5%