π§ 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
File | Description |
---|---|
main.py | Mounts all routes + starts FastAPI app |
embedding_engine.py | Controls local/OpenAI embedding |
file_ingestion.py | Chunks files and tags memory |
memory.py | Short-term memory (SQLite) |
vector_memory.py | Long-term memory (ChromaDB) |
tool_registry.py | Registers local Python tools |
routes/*.py | API routes for all backend functions |
π§© Frontend Key Files
File | Description |
---|---|
App.tsx | App shell wrapper |
ChatPanel.tsx | Chat UI |
DropZone.tsx | File upload drag-and-drop |
MemoryDashboard.tsx | View/search memory chunks |
SettingsPanel.tsx | Toggle embedder, model, sliders |
Sidebar.tsx | Model 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.
---