Integrate SimbaKit PetKit service into Docker stack and LangChain agent

Adds simbakit/ as a subfolder service that polls PetKit smart devices
(litter box, fountain, feeder) and exposes pet weight, litter activity,
and device health data via three new LangChain tools.

Also fixes stale alerts bug where cleared conditions (e.g. waste bin
full) persisted because the query used max alert time instead of the
device's last_seen_at timestamp.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-12 10:24:59 -04:00
parent add9946bc2
commit 01969b2d24
19 changed files with 3362 additions and 0 deletions
+19
View File
@@ -0,0 +1,19 @@
FROM python:3.14-slim
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
WORKDIR /app
COPY pyproject.toml uv.lock ./
RUN uv sync --frozen --no-dev --no-install-project
COPY src/ src/
RUN uv sync --frozen --no-dev
VOLUME /app/data
ENV DB_PATH=/app/data/simbakit.db
ENV WEB_HOST=0.0.0.0
EXPOSE 8585
CMD ["uv", "run", "python", "-m", "simbakit"]