Hey HN. I built DriftOS because I kept running into the same problem with multi-topic conversations: only a small part of the chat is relevant, but the whole history gets fed into the model anyway.
DriftOS routes each message into a semantic branch and assembles only the context needed for the current turn. The idea is to treat conversations as graphs instead of flat logs.
Sub-100ms routing using local embeddings (384-dim, no external API calls). Three routing decisions: STAY, BRANCH, or ROUTE. Optional structured fact extraction with provenance. REST API, JS client, and MCP server for tool integration. MIT-licensed core.
DriftOS routes each message into a semantic branch and assembles only the context needed for the current turn. The idea is to treat conversations as graphs instead of flat logs.
Sub-100ms routing using local embeddings (384-dim, no external API calls). Three routing decisions: STAY, BRANCH, or ROUTE. Optional structured fact extraction with provenance. REST API, JS client, and MCP server for tool integration. MIT-licensed core.
Playground: https://playground.driftos.dev Repo: https://github.com/DriftOS Website: https://driftos.dev
Happy to answer questions or hear where this approach breaks.