个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Open edge-AI platform for greenhouse and hydroponic agriculture: MQTT sensor ingest, SQLite, compact reasoners (tomato, irrigation, nutrient/pH-EC), deterministic safety checks, and a read-only dashboard.
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Open edge AI platform for agriculture — MQTT ingest, reasoning, deterministic safety checks, and dashboards for greenhouse and hydroponic systems.
Anyone can clone, use, fork, and contribute — free under Apache-2.0.
Website · GitHub · Hugging Face · Automation API · Quickstart · Contribute
🌱 Try the guarded greenhouse & hydroponic demo in your browser — no install, no login.
🎯 Try to fool Pomona — break a sensor in a pretend greenhouse and see if Pomona catches it. No install, no login.
Early MVP. Simulated sensors → SQLite-backed API → guarded reasoner pipeline → monitoring dashboard with manual suggestion decisions. No actuator execution. Docker remains the recommended deployment path; local validation also works without Docker. What to expect →
git clone https://github.com/okyanu/pomona.git
cd pomona
cp .env.example .env
./scripts/setup.sh # optional first-time check
./scripts/up.sh
./scripts/sim.sh # new terminal
curl http://localhost:8080/health
python3 examples/tomato_risk_quickstart.py # real sensor JSON -> risk labels
Requirements: Docker Desktop Optional: Python 3.9+ for simulator/tests
| Service | URL |
|---|---|
| Core API | http://localhost:8080 |
| Model router | http://localhost:8081 |
| MQTT | localhost:1883 (login from .env, see SECURITY.md) |
Full guide: docs/INSTALL.md Target: one-command full stack (UI + DB in Docker) — docs/PLUG_AND_PLAY.md Local validation details: docs/LOCAL_VALIDATION.md
When Docker Desktop is unavailable, run the four-service smoke test with the local Python environments:
./scripts/run_local_validation.sh
# or
make local-validation
Run the complete local service test suite with:
make test-local
Run tests and the full local service smoke test together with:
make local-check
It uses temporary SQLite and audit state, verifies both high-risk and routine paths, checks the dedicated Safety Checker, and removes temporary processes and files when it finishes.
Sensor / Simulator → MQTT → pomona-core → DB → model-router
→ reasoner / advisor LLM → safety-checker → automation-engine → dashboard
Hard rule: the LLM advises — it never directly controls actuators. Deterministic rules make every decision, and there is no actuator execution path: automation only raises suggestions for a person to approve or reject. The rules are tested but not field-calibrated.
More detail: docs/architecture.md
| License | Apache-2.0 — free to use and modify |
| Contributing | CONTRIBUTING.md — PRs welcome |
| Code of conduct | CODE_OF_CONDUCT.md |
| Current work | docs/PROJECT_STATUS.md |
| Roadmap | docs/ROADMAP.md |
| Website | Project documentation → |
Good first contributions: tests, docs, simulators, crop templates, dashboard polish.
Fork → branch → make test → open PR.
| Repo | Purpose |
|---|---|
| Pomona website | Main documentation, architecture, roadmap, and guides |
| pomona (this) | Platform — run with Docker |
| Automation API | Live suggestion-only automation service and API documentation |
| Okyanus on Hugging Face | Models, datasets, collection, and browser demo |
pomona-agronomist-llm (not yet published) | Agronomist ML training |
| HF Collection | All published models + dataset in one place |
| HF agronomist | Advisor LoRA weights |
| HF tomato reasoner | Tomato risk-label LoRA (v0.1.7) |
| HF water/irrigation reasoner | Moisture-risk LoRA release candidate (v0.1.8) |
| HF actuator command gate | Advisory research preview; deterministic gate remains final |
| HF greenhouse sensor dataset | Published greenhouse sensor dataset |
Model catalog and release status: docs/MODEL_CATALOG.md
Pomona keeps platform code, routing, deterministic safety logic, and metadata in GitHub. Model weights and published datasets live on Hugging Face.
| Model | Current status | Use now? |
|---|---|---|
Tomato risk reasoner v0.1.7 | Published on Hugging Face, experimental: learned a training shortcut and answers [] on 146 of 153 varied benchmark cases (details) | ⚠️ Research only; the guarded route uses deterministic rules |
Water/irrigation reasoner v0.1.8 | Published release candidate; evaluated only on synthetic, rule-derived cases | ⚠️ Advisory only, behind deterministic validation |
Sensor quality reasoner v0.1.1-boundary | Local candidate, not published | ⚠️ Owner's local integration tests only; not available publicly |
Safety triage reasoner v0.1 | Local candidate, not published | ⚠️ Owner's local integration tests only; not available publicly |
Actuator command gate v0.1 | Published research preview, below standalone release gate | ⚠️ Advisory only; deterministic checker required |
Actuator command gate v0.1.1-hardcases | Regression in local eval | ❌ Do not use |
Actuator command gate v0.1.2-correction | Regression on a held-out (mostly generated) eval | ❌ Do not use |
Nutrient / pH-EC reasoner v0.1.1-correction | LoRA, GGUF, and MLX published; evaluated only on synthetic, rule-generated cases | ⚠️ Only through the deterministic guarded route; the rules make the decision |
Near-term integration chain:
sensor-quality
-> tomato-risk
-> safety-triage
-> deterministic actuator-command gate
-> dashboard / human approval
Future model families are tracked in docs/ROADMAP.md and docs/SMALL_MODEL_FACTORY.md.
Platform v0.1.0-alpha.1 · 11 phases · 2 completed · 8 active/partial · Phase 2 is the primary product focus
| Phase | Name | Status |
|---|---|---|
| 0 | Project setup & open source | ✅ |
| 1 | Local MVP (Docker, core, simulator) | ✅ |
| 2 | Dashboard + database | ⏳ partial — local SQLite, dashboard, audit, Docker, simulation, and backup validation complete; optional sensor-ingestion auth added; broader hardening remains |
| 3 | Tomato reasoner | ⏳ partial — published adapter + guarded API route |
| 4 | Safety checker | ⏳ partial — deterministic tomato/actuator gates |
| 5 | LLM advisor | ⏳ partial — published adapter + router contract |
| 6 | Automation engine | ⏳ partial — YAML rules, dashboard evaluate/approve/reject, bounded SQLite history in local Compose; public API demo remains ephemeral |
| 7 | Public demo | ⏳ partial — static guarded demo and Try to fool Pomona game live |
| 8 | ESP32 devices | ⬜ — logger firmware compiles; not yet bench-tested, no field data |
| 9 | Model registry | ⏳ partial — public YAML registry + lifecycle metadata |
| 10 | Fine-tune pipeline | ⏳ partial — builders, validators, Colab, clean eval |
Details & update rules: docs/PHASES.md · PROJECT_STATUS.md · VERSIONING.md
Copyright 2026 Pomona Contributors. Licensed under Apache-2.0.