i've been running a private multi-agent system for a while now — multiple Claude and Codex instances coordinating through shared memory, session artifacts, and a telegram instruction loop. it started as a personal tool for managing tasks across projects. over time it turned into something closer to an autonomous research cluster.
today i started preparing it for open-source as [open north star](https://github.com/dtunai/OpenNorthStar). the repo is public but not yet open-source ready — still cleaning things up and stabilizing before a proper release.
## what open north star is
an autonomous multi-agent AI research cluster. agents decompose research problems, survey literature, run experiments, and synthesize knowledge — across sessions, with persistent memory, and minimal human intervention.
the system runs on codex and claude code CLI. you open terminals, start agent sessions, and they enter an autonomous loop: polling for instructions (from telegram or direct chat), executing tasks, logging everything to session artifacts, and saving learnings to long-term memory. when one session ends, the next agent picks up exactly where it left off through handoff prompts.
## day 1: the memory migration
the biggest piece of work today was replacing the old sqlite-based memory with a proper triple memory system:
**session artifacts** — obsidian-compatible markdown files, one per session. every action, decision, and learning gets logged here in real time. these sync to icloud so you can browse them in obsidian alongside your knowledge base.
**short-term memory (graph database)** — neo4j stores the last 50 memory entries as `Memory` nodes plus all `Session` nodes. graph-native queries for finding recent context.
**long-term memory (vector database)** — qdrant stores discoveries, lessons, and facts as embeddings. semantic search across everything the agents have ever learned.
migrating `session_artifact.py` meant rewriting six command functions from sqlite to cypher queries. every `INSERT INTO` became a `CREATE (s:Session {...})`, every `UPDATE` became a `MATCH ... SET`. the session index that used to live in `index.db` now lives as nodes in the graph.
## making it open-source ready
the codebase had grown organically for personal use, which meant hardcoded paths, personal vault names, product-specific references everywhere. today was a cleanup pass:
- removed all hardcoded values — usernames, vault names, container names. everything comes from `.env` now
- replaced "neo4j" and "qdrant" with "graph database" and "vector database" in all user-facing text
- restructured directories — `scripts/` moved into `autoresearch-system/scripts/`, renamed `autoresearch-v2` to `autoresearch-system`
- built an interactive TUI installer (`setup/install.py`) that walks through the full setup in 7 steps
- updated every reference across 20+ files — agents.md, skills, shell aliases, codex configs
then reset the git history to a single commit and pushed.
## what's next
the current system is a reactive task executor — you give it instructions, it executes them. the roadmap is to evolve it into a generative research system with research campaigns, typed agent roles (surveyor, hypothesizer, experimenter, validator, synthesizer), a sandboxed experiment framework, and an oversight layer.
the goal isn't just infrastructure for its own sake. i intend to use this system as a multi-agent research cluster to deepen understanding and development of AI fundamentals, autonomous research methodologies, and mechanistic interpretability — having agents that can survey papers, design experiments, and accumulate knowledge across sessions is the kind of tooling that makes serious independent research tractable.
today was about getting the foundation right. open-source release coming once the system is stable enough for others to run.
open north star — day 1: building the memory layer
Mar 21, 2026