Dev

🧠 Developer Notes

ATOM is fully open-source and locally hosted. It’s built for customization, extension, and hacking.

This page covers the internal architecture for contributors and power users.


🧱 Project Structure

ATOM is split into two core directories:

πŸ”™ /backend

  • FastAPI server
  • Handles chat, memory, file upload, tool calls
  • Exposes RESTful API routes (e.g. /api/chat, /api/memory)

πŸ–₯ /frontend

  • Vite + React frontend
  • Sidebar UI, chat panel, file uploads, terminal log output
  • Live sync with backend via REST + streaming (coming soon)

βš™οΈ Backend Key Files

FileDescription
main.pyMounts all routes + starts FastAPI app
embedding_engine.pyControls local/OpenAI embedding
file_ingestion.pyChunks files and tags memory
memory.pyShort-term memory (SQLite)
vector_memory.pyLong-term memory (ChromaDB)
tool_registry.pyRegisters local Python tools
routes/*.pyAPI routes for all backend functions

🧩 Frontend Key Files

FileDescription
App.tsxApp shell wrapper
ChatPanel.tsxChat UI
DropZone.tsxFile upload drag-and-drop
MemoryDashboard.tsxView/search memory chunks
SettingsPanel.tsxToggle embedder, model, sliders
Sidebar.tsxModel select + persona config

πŸ“¦ Install Dev Requirements

# backend
pip install -r requirements.txt
 
# frontend
npm install
npm run dev

πŸ›  Things You Can Modify

  • Add new tools to tool_registry.py
  • Change tone in persona.yaml
  • Create new routes in /routes
  • Customize frontend panels in /components
  • Replace embedder model in embedding_engine.py

πŸ’‘ Want to Contribute?

PRs welcome. Issues welcome.
This system is meant to be forked, extended, and run entirely offline.

Main repo: get-atom.dev (opens in a new tab)


Build your own AI copilot.
No one’s watching. No one’s stopping you.


---