Dulus
An AI agent for your desktop and terminal, on any model you choose. Hosted models run on Fuel, paid in $DULUS.
翻译准备中
尚未收集仓库信息。
尚未检测到更新。GitHub 发布版本后会显示在这里。
Zahavan'ia — Top 6 project at the 2026 FANILO Hackathon (IFM).
翻译准备中
正在加载完整 README。
查看完整 README ↗**"You look — the AI looks with you."**
Zahavan'ia is the translation, in the southern dialect of Madagascar, of the Malagasy expression meaning "you look" — the gesture of paying attention to something, of looking together. Within the project's nomenclature, this name carries its full meaning: Zahavan'ia: "You look — the AI looks with you." The journalist stays in control; the AI helps them see further, faster, and above all with evidence to back it up.
Zahavan'ia helps journalists go from a raw piece of news they received (often via WhatsApp or Facebook) to verified, documented, and usable content. This is not a chatbot: it is a pipeline of Monitor → Verify (text/link, image) → Contextualize (figures) → Contact an expert → Find an angle.
| Screen | What it does |
|---|---|
| Verify | Breaks a text or link down into individual claims and cross-checks them through web search; per-claim report with status, explainable confidence, and clickable sources. |
| Image / Video | EXIF metadata, visual clues, reverse-image search links; for video, 6 key frames extracted in the browser (no server-side ffmpeg). |
| Monitor | Groups articles together and raises alerts (P2). |
| Translate | Malagasy ⇄ French ⇄ English, with automatic checks (output language, sentence splitting). |
| Experts | Directory of consenting people, filterable by field, region, and language (fictional data in demo mode). |
| Stats | Dated, sourced World Bank indicators (data/stats.json). |
| Angles | Story-angle suggestions based only on confirmed claims. |
| My Dossiers | Local saving of reports (localStorage) — nothing leaves the device. |
git clone zahavania cd zahavania
npm ci
cp .env.example .env.local
npm run dev
In development, you can set USE_MOCK=true in .env.local to run without an API key (demo outputs are flagged with a "Demonstration" badge). This mode is ignored in production: npm run build && npm start requires real API calls.
Build and run in real conditions:
npm run build npm start
cp .env.example .env.local
docker compose up --build
The Dockerfile is multi-stage: npm ci → npm run build → minimal runtime image (Node 24 Alpine, standalone output, non-root user, port 3000). The db service (PostgreSQL) is not published on the host by default: the app reaches it at db:5432 on the Compose network. To access it with an external client, uncomment the ports block in docker-compose.yml.
Useful commands:
docker compose logs -f app # application logs docker compose down # stop docker compose down -v # stop + delete the PostgreSQL data
Secrets live in .env.local (git-ignored); .env.example contains no real values. The most important ones:
以上为 README 的开头部分。其余内容请阅读原文。 查看完整 README ↗