# HaimiDB

## One memory.
Two ways to work.

You work in a table. Your AI works through tools. Both use the same Git-backed notebook, on your own computer.



### A table for you

Browse models, search records and edit scalar or structured values in your browser. Changes stay in tab memory until you push them.

### Tools for your AI

Eleven MCP tools run locally over stdio. Your AI can inspect models, find records, save changes and work with the same notebook you see.

### Readable Git history

Each notebook is a deterministic memory.v2.jsonl file. Commits show what changed; Git history is the recovery source after hard deletion.

### Models that explain themselves

Everything is a node. Models carry example values and descriptions; records and linked fields share the same structure.

### Repository protection

Memory writes and notebook deletion require a valid .haimidb.json marker. An empty repository is initialized only with your confirmation; an existing project is not silently adopted.

### Local-first processing

The browser or local engine processes notebook data and talks directly to GitHub. The small authentication service only exchanges and renews credentials, never notebook content.

## Getting started

HaimiDB is a shared memory interface, not a hosted database service. The human table and local AI tools work with the same model and records. GitHub supplies storage and access control; local clones support offline work.



### 1. Connect GitHub

Open the application, choose Connect with GitHub and approve HaimiDB. Manual personal access tokens remain an advanced alternative.

### 2. Create and authorize a memory repository

Create a private, empty GitHub repository without a README, license or gitignore. In the GitHub App installation settings, add it under Only select repositories and save. Refresh alone cannot grant access.

### 3. Initialize and choose a notebook

Return to the app, refresh the repository list, select the empty repository and confirm Initialize memory repository. Name your first notebook; there is no default notebook.

### 4. Connect your local AI

Install the release archive with npm install --global https://github.com/olerhan/haimidb/releases/latest/download/haimidb-engine.tgz, run haimidb login, then copy the app's MCP configuration into your desktop client. Browser and local sessions are independent.

### 5. Push and keep history

Push browser changes before closing the tab. Local clones can commit offline and synchronize when connected. If an offline edit conflicts with a deletion, deletion wins and the dropped change is reported.

### A table for you

Browse models, search records and edit scalar or structured values in your browser. Changes stay in tab memory until you push them.

### Tools for your AI

Eleven MCP tools run locally over stdio. Your AI can inspect models, find records, save changes and work with the same notebook you see.

### Readable Git history

Each notebook is a deterministic memory.v2.jsonl file. Commits show what changed; Git history is the recovery source after hard deletion.

### Models that explain themselves

Everything is a node. Models carry example values and descriptions; records and linked fields share the same structure.

### Repository protection

Memory writes and notebook deletion require a valid .haimidb.json marker. An empty repository is initialized only with your confirmation; an existing project is not silently adopted.

### Local-first processing

The browser or local engine processes notebook data and talks directly to GitHub. The small authentication service only exchanges and renews credentials, never notebook content.

## Support & FAQ

team@beyondend.dev



### My new repository is missing

The GitHub App only lists repositories you have authorized. Open Edit access on GitHub, add the new repository to the installation's selected repositories, save, and refresh the app.

### Why does HaimiDB refuse my repository?

Writes require the repository-root .haimidb.json purpose marker. Missing, malformed or foreign markers block writing and deletion. Only an empty repository can be initialized automatically with confirmation. Existing memory repositories require owner review and an explicit marker commit.

### What happens when I delete a record?

Hard deletion removes the current record and its owned fields and cleans incoming references. There is no recycle-bin database or permanent tombstone list. Review or recover earlier data through Git history.

### Can I use it offline?

A local Git clone can work and commit offline after setup. Browser changes live in tab RAM; do not close an unpushed tab. Network connectivity is required for GitHub access and authentication.

### Are there database size limits?

HaimiDB does not impose a notebook byte quota in browser/local operation. Available device memory and GitHub's own file/API limits still apply; unlimited data does not imply unlimited device capacity.

### Can a cloud-only AI client connect?

There is no shared hosted MCP endpoint. Use a client that can launch the local stdio engine on your computer. Never send notebook contents or tokens to support.

## Open HaimiDB

Use the browser interface, install the local engine, or inspect the open-source code.



### Browser application

The app runs on GitHub Pages. Connect GitHub and select an authorized, signed memory repository.

### Local MCP engine

Requires Node.js 20 or later. Install the GitHub Release archive with npm; run haimidb login for GitHub App credentials. For an empty local folder use haimidb init /absolute/path. The app provides the desktop MCP configuration.

### Source and data contract

Format 2 uses finite doubles, strings, UTC date-times, booleans, enums, lists, maps, sets, tuples and file-type slots. See the specification for recursive shape rules and hard-delete semantics.

## Privacy

Notebook data is processed in your browser or local engine and written to your selected GitHub repository.



### Connections and local storage

GitHub access and refresh tokens and app preferences are stored in your browser. The local engine stores a separate session on your computer. Forget or haimidb logout removes only that device’s connection; revoke HaimiDB in GitHub settings to remove authorization across devices. Manual tokens remain an optional alternative.

### Authentication service and hosting

HaimiDB runs no shared notebook-processing server. A small authentication service at beyondend.dev/haimidb-auth exchanges authorization codes and refreshes GitHub sessions. It handles credentials transiently, does not persist user sessions, and receives no notebook content. Application access logging is disabled for this authentication route; hosting infrastructure may retain operational metadata. GitHub Pages serves the static application; GitHub handles requests under its own service and logging policies. The Beyondend website may keep ordinary web access logs.

### This product website

This informational site is hosted on Beyondend's self-hosted Appwrite Sites. It has no account or payment flow and does not request your GitHub credentials or notebook data. Your explicit EN/TR preference is stored locally as haimidb.web.language. English is the default; no location lookup is used. If you email support, the address and message you choose to send are used to respond.

## Open-source license

The HaimiDB product source is published under Apache License 2.0. The authoritative license and notices are in the public repository; this page is not a replacement license or a new terms-of-use agreement.



### Read the license and notices

Consult the repository's LICENSE and NOTICE for the actual permissions, conditions, attribution requirements and warranty disclaimer. No App Store EULA is applied to this project.
