
adrianco/the-goodies
Developer tools이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기
스마트 홈 지식 그래프 분산 MCP Swift iOS 및 Python 백업을위한 라이브러리
개요
Goodies는 집이 - 객실, 장치, 매뉴얼, 사진, 자동화 - 그래프로 저장하고 AI 에이전트에 봉사합니다. 두 가지는 전형적인 스마트 홈 데이터 저장소와 서로 다른, 모두 같은 결정에서 온다: 대부분의 가정 자동 매장은 "이 thermostat는 어디에 있습니까?" Goodies는 "3 월에 어디 있었는지?" Entities는 immutable 버전 행이고, 가장자리는 시작과 끝을 가진 간격 줄입니다 - 그래서 다른 방에 장치를 이동하는 것은 그것을 파괴하기 보다는 오히려 역사를 추가합니다. 과거에 대한 질문은 아카이브 프로젝트가 아닌 쿼리입니다. 클라이언트는 전체적인 그래프를 잡고 유용한 오프라인을 유지합니다. 두 개가 같은 것을 편집 할 때, 서버 arbitrates, 그리고 잃어버린 쓰기 - 버전 행으로 저장, 인정, 및 복구. 동시 쓰기는 prominence를 잃을 수 있습니다; 그것은 결코 존재를 잃을 수 없습니다. Replicas 그때 그들은 실제로 동의를 확인, 오히려 assuming 그것보다.
개요(AI 번역)
의 개요
Goodies는 집 is - 객실, 장치, 매뉴얼, 사진, 자동화를 저장합니다. 그래프로, **Model Context Protocol (MCP)**에 AI Agent에 봉사합니다.
두 가지는 일반적인 스마트 홈 데이터 저장소와 다릅니다, 모두 와서 같은 결정에서:nothing은 이제 overwritten.
** 기억합니다. ** 대부분의 가정 자동 매장은 “이 thermostat는 어디에 있습니까?” Goodies는 “3 월에 어디 있었는지?” 필수 항목 버전 행, 가장자리는 *interval * 행이 시작과 끝 - 그래서 이동 다른 방에 장치는 파괴 보다는 오히려 역사를 추가합니다. 자주 묻는 질문 과거는 아카이브 프로젝트가 아닌 쿼리입니다.
** 쓰기없이 복제합니다. ** 클라이언트는 전체적인 그래프를 잡고 체재 유용한 오프라인. 두 개가 같은 것을 편집 할 때, 서버 arbitrates, 과 잃는 쓰기는 kept - 버전 행으로 저장, 인정, 그리고 복구. 동시 쓰기는 prominence를 잃을 수 있습니다; 그것은 결코 존재를 잃을 수 없습니다. Replicas 그때 그들은 실제로 동의를 확인, 오히려 assuming 그것보다.
디자인은 아래로 썼습니다: datastore를 덮는 23의 ADRs
이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요.
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 가이드부터 시작하세요 →