TreeMap
무료 오픈소스 디스크 사용량 시각화 도구로, 사각형 트리맵·중복 파일 탐색·디스크 가득 예측·정리 시 파일을 휴지통으로만 이동한다
AI 비서가 가격 알림·주간 계획·명세서 기반 스프레드시트·아침 브리핑 등을 실시간 제공
An AI assistant for everyone that gets things done while you live your life: price alerts, weekly plans, spreadsheets from your statements, a briefing every morning. Ready in a minute.
생산성Python · JavaScriptGitHub @SoaOaoS온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
Self-hosted, proactive AI assistant: chat, autonomous routines, long-term memory and push notifications. Runs on your machine, with your own model.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Your everyday AI assistant — proactive, private, on your own machine, with your own model.
Chat like ChatGPT. Then let it work for you: routines that run on their own,
pages and prices it keeps an eye on, and a memory of what matters to you.
No server? Start your Mav in the cloud —
MyMav (9 €/month, your own model key) or CloudMav (19 €/month, model
included). Compare the plans.
Or run it yourself, free: curl -fsSL https://raw.githubusercontent.com/SoaOaoS/mav/main/get.sh | sudo bash
Try it in your browser: live demo (sample data, nothing to install) ·
Website & docs: ·
documentationREADME 전문 보기 ↗Your everyday AI assistant — proactive, private, on your own machine, with your own model.
Chat like ChatGPT. Then let it work for you: routines that run on their own, pages and prices it keeps an eye on, and a memory of what matters to you.
No server? Start your Mav in the cloud — MyMav (9 €/month, your own model key) or CloudMav (19 €/month, model included). Compare the plans.
Or run it yourself, free: curl -fsSL https://raw.githubusercontent.com/SoaOaoS/mav/main/get.sh | sudo bash
Try it in your browser: live demo (sample data, nothing to install) · Website & docs: https://getmav.dev/ · documentation
/ for commands./remember … in a chat. Stored in Postgres on your machine./routine, or just say
it in a chat and confirm (English, French or Spanish). Schedules can be
daily, weekly, monthly (a day, or the last day of the month), every few
hours, or triggered by an incoming event (a webhook). A routine can also be
conditional — "only if it's going to rain". Each routine has its own chat
you can open and follow up in, and you get a push when it has something for
you./brief.Chat · Mav on a phone · Routines · Memory. Shown with sample data.
git clone https://github.com/SoaOaoS/mav.git && cd mav
cp .env.example .env # optional: port, database password, time zone, model
docker compose up -d
Open http://<your machine>:8787. You choose a password, then a short
welcome connects your model and sets up your first routines. Everything Mav
keeps lives in two volumes (mav-data, pgdata) and survives restarts and
updates.
docker compose pull && docker compose up -d.docker compose logs -f.http://host.docker.internal:11434/v1
as its address.ghcr.io/soaoaos/mav (amd64
and arm64, so a Raspberry Pi 4/5 works too). Without a published image,
Compose builds one locally.sudo ./scripts/migrate-to-docker.sh
moves everything to Docker: chats, memory, routines, model, keys and
password. See Moving to Docker.On Debian, Ubuntu, Arch (Omarchy, Manjaro…) or Fedora — a home server, a mini PC, a VPS:
curl -fsSL https://raw.githubusercontent.com/SoaOaoS/mav/main/get.sh | sudo bash
or
git clone https://github.com/SoaOaoS/mav.git && cd mav && sudo ./install.sh
The setup asks only what it must:
Everything else gets sensible defaults (an Advanced settings? prompt lets
you change the user, ports and quiet hours). Then it installs and starts
everything; details go to /var/log/mav-install.log. Open the address it
prints, and say hello.
mav status # what's running, the address, the model
mav doctor # check everything, with a hint for each problem
mav update # install the latest release, keep your settings
# --check · --local (no download) · --channel main · --force
mav version # installed and latest version
mav restart [engine|worker|web]
mav logs [engine|worker|web|install] [-n 50]
mav backup # memory, routines and settings → /var/backups/mav/
mav password # set or reset the password of the web app
mav reconfigure # change the model, or re-run the setup
mav uninstall # remove the services (your data is kept)
Updates can also be installed from the web app (sidebar → Update to vX.Y.Z).
Unattended install: sudo ./install.sh --yes with MAV_PROVIDER
(anthropic, openai, ollama, ollama-cloud-api, openrouter),
MAV_PROVIDER_APIKEY, MAV_OPENCODE_MODEL, and optionally
MAV_PROVIDER_BASEURL, MAV_VAPID_EMAIL. --dry-run shows what would happen.
Browser / phone (PWA)
│
▼
┌──────────────────┐ ┌──────────────────────┐
│ mav-dashboard │ ───► │ mav-server │
│ web app + API │ │ opencode agent │
└──────────────────┘ │ engine (:4096) │
│ └──────────────────────┘
│ ▲
▼ │
┌──────────────────┐ ┌──────────────────────┐
│ Postgres │ ◄─── │ mav-worker │
│ memory, alerts │ │ routines, watching, │
└──────────────────┘ │ push notifications │
└──────────────────────┘
| Service | Role |
|---|---|
mav-dashboard | the web app and its API |
mav-server | the agent engine (opencode) |
mav-worker | runs routines and "keep an eye on", sends notifications |
The web app is protected by a password you choose on your first visit. Everything runs on your machine. The only thing that leaves it is what you send to the model provider you chose — or nothing at all with a local Ollama.
Static analysis (CodeQL) and a supply-chain posture check
(OpenSSF Scorecard) run on every push to main; secret scanning and push
protection are enabled. To report a vulnerability privately, see
SECURITY.md.
Every push to main is tagged with a semantic version
and published as a GitHub release (.github/workflows/release.yml). The bump
comes from the commit messages, written as
Conventional Commits:
| Commit | Release |
|---|---|
feat!: … or a BREAKING CHANGE: footer | major — v1.4.2 → v2.0.0 |
feat: … | minor — v1.4.2 → v1.5.0 |
anything else (fix:, docs:, chore:, merges…) | patch — v1.4.2 → v1.4.3 |
get.sh, mav update and the update button install the latest release,
from the mav-vX.Y.Z.tar.gz archive attached to it. GitHub counts how many
times these archives are downloaded (installs and updates, anonymously), and
the downloads badge above shows the total. Nothing is sent from your
machine: this is GitHub's own download count. CI
(.github/workflows/ci.yml) runs shellcheck, syntax checks and the tests in
tests/ on every pull request.
mav/
├── get.sh # "curl | bash" bootstrap
├── install.sh # the setup wizard
├── docker-compose.yml # the Docker install (Dockerfile, docker/entrypoint.sh)
├── agents/ # the everyday helpers (Assistant, Researcher, …)
├── bot/ # mav-worker: routines, watching, memory, notifications
├── dashboard/ # the web app (front-end + server/)
├── scripts/mav # the mav command
├── scripts/ # database schema, version helper
├── tests/ # unit and script tests (run by CI)
├── systemd/ # service templates
└── docs/ # website, docs, roadmap (ROADMAP.md), brand (BRAND.md), screenshots
Hacking on the web app without a model: run
python3 dashboard/tools/fake_engine.py and point the dashboard at it with
OPENCODE_URL=http://127.0.0.1:4096 (see dashboard/README.md).
MIT — see LICENSE.