
adrianco/the-goodies
Developer toolsЭта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал
График знаний Smart Home MCP Библиотека для Swift iOS и Python Backend
Обзор
Goodies хранит то, что представляет собой дом — комнаты, устройства, руководства, фотографии, автоматизацию — в виде графика и обслуживает его агентами ИИ. Две вещи отличают его от типичного хранилища данных «умного дома», и обе они основаны на одном и том же решении: Большинство магазинов домашней автоматизации отвечают: «Где этот термостат?» На вопрос «Где он был в марте?» Сущности — это неизменные строки версий, а края — интервальные строки с началом и концом, поэтому перемещение устройства в другую комнату добавляет историю, а не разрушает ее. Вопрос о прошлом — это вопрос, а не археологический проект. Клиенты удерживают весь график и остаются полезными в автономном режиме. Когда два из них редактируют одно и то же, сервер арбитражирует, и запись, которая проигрывает, сохраняется — хранится в виде строки версии, признается и восстанавливается. Параллельное письмо может потерять известность; оно никогда не может потерять существование. Затем реплики проверяют, действительно ли они согласны, а не предполагают это.
Обзор (машинный перевод)
Обзор
Goodies хранит то, чем является дом - комнаты, устройства, руководства, фотографии, автоматика - как граф, и служит для агентов ИИ по протоколу Model Context Protocol (MCP).
Две вещи делают его отличным от типичного хранилища данных для умного дома, и обе приходят. Из того же решения: ** ничего никогда не переписывается. **
Вспоминается. Большинство магазинов домашней автоматизации отвечают: «Где этот термостат?» На вопрос «Где он был в марте?» Сущности неизменны Ряды версий, а края — это интервал ряды с началом и концом — так что перемещение Устройство в другой комнате добавляет историю, а не разрушает ее. Вопрос о Прошлое — это вопрос, а не археологический проект.
** Он воспроизводится без потери записей.** Клиенты держат весь график и остаются Полезный оффлайн. Когда два из них редактируют одно и то же, сервер принимает решения. Запись, которая проигрывает, сохраняется — хранится в виде строки версии, признается и Восстановим. Параллельное письмо может потерять известность; оно никогда не может потерять существование. Затем реплики проверяют, действительно ли они согласны, а не предполагают это.
Дизайн записывается: 23 ADR, охватывающие хранилище данных
Эта страница переведена автоматически. Технические детали смотрите в оригинале.
README
Показан фрагмент оригинального README. Открыть оригинал.
The Goodies — a temporal, replicated knowledge graph for a house
🏠 Overview
The Goodies stores what a house is — rooms, devices, manuals, photos, automations — as a graph, and serves it to AI agents over the Model Context Protocol (MCP).
Two things make it different from a typical smart-home data store, and both come from the same decision: nothing is ever overwritten.
It remembers. Most home-automation stores answer “where is this thermostat?” The Goodies is built to answer “where was it in March?” Entities are immutable version rows, and edges are interval rows with a start and an end — so moving a device to another room adds history rather than destroying it. A question about the past is a query, not an archaeology project.
It replicates without losing writes. Clients hold the whole graph and stay useful offline. When two of them edit the same thing, the server arbitrates, and the write that loses is kept — stored as a version row, acknowledged, and recoverable. A concurrent write can lose prominence; it can never lose existence. Replicas then verify they actually agree, rather than assuming it.
The design is written down: 23 ADRs covering the datastore, the temporal model, the sync protocol, and the domain abstraction, each with the alternatives that were rejected and why.
Current status: installed and running in a real house since March 2026,
with a second install at another house. Authenticated data endpoints, a
protocol-correct sync engine (see inbetweenies/PROTOCOL.md),
MCP tools (18 engine tools plus each domain’s own — 23 for the house), backup/restore, and data-migration + upgrade tooling. The Python
blowing-off client also runs as an MCP server, mirroring the TypeScript port
(KittenKong). CI runs the test suites on Linux and macOS across Python
3.11–3.14. Latest release: v0.6.0 — inbetweenies-v3, the temporal cutover
described below, with MCP as the only client interface
(ADR-015).
⚠️ Authentication is enforced: every data endpoint (
/graph,/mcp,/sync,/sync-metadata,/backup) requires a bearer token. Only/healthand/api/v1/auth/*are public. Configure it withfunkygibbon setup-auth.
Related Projects: adrianco/consciousness is an early prototype of the backend server that will be rewritten from scratch later. adrianco/c11s-house-ios is a native Swift iOS app that is the front end for the system. This repo is the knowledge graph protocol that interfaces the app to the backend, and includes the Blowing-Off Python client (a reference implementation, and now also an MCP server). The maintained port of the client is KittenKong (TypeScript, adrianco/the-goodies-typescript). An earlier Swift port (adrianco/the-goodies-swift / WildThing) is untested and has been abandoned.
Установка
This server does not publish a one-line install command.
Open the repository installation guide Новичок в MCP? Начните с руководства на mcpskill.org →