openvibers/openvibe.vision STATUS.json

STATUS.json

main 6.5 KB · 102 lines · json

1{
2 "repository": "OpenVibers/OpenVibe.Vision",
3 "version": "0.1.0",
4 "stage": "product",
5 "code": true,
6 "wave": "W21",
7 "plan": "OpenVibe.Vision v1 (plan 2026-10-28 §5.8): ask a picture, compare models side by side, OCR with a local engine first, and the UI check as an API other services call; §5.8b adds faces with separate purpose-scoped consent; F1 (L24) adds a camera owner's own familiar-face libraries; wave 1 adds the six network tools",
8 "runtime": "node 22, express 4, PostgreSQL 18 (openvibe-sdk/db, async) + Valkey 9, Tesseract 5, sharp, onnxruntime-node (YuNet/SFace), Transformers.js (CLIP/DETR)",
9 "port": "5130",
10 "domain": "openvibe.vision",
11 "contracts": "openvibe-contracts v0.419.0",
12 "sdk": "openvibe-sdk v0.161.0",
13 "shared": "openvibe-shared v4.237.0",
14 "packages": [
15 "openvibe-contracts v0.419.0",
16 "openvibe-sdk v0.161.0",
17 "openvibe-shared v4.237.0"
18 ],
19 "capabilities": [
20 "vision.image.ask",
21 "vision.text.read",
22 "vision.model.compare",
23 "vision.ui.check",
24 "vision.face.cast.match",
25 "vision.alt.write",
26 "vision.media.find",
27 "vision.receipt.read",
28 "vision.product.match",
29 "vision.camera.watch",
30 "vision.video.moments",
31 "vision.face.detect",
32 "vision.face.blur",
33 "vision.face.consent.manage",
34 "vision.face.verify.self",
35 "vision.face.find.self",
36 "vision.face.library",
37 "vision.face.cast.read",
38 "vision.models.read",
39 "vision.benchmarks.read",
40 "vision.image.review",
41 "vision.review.read",
42 "vision.review.decide"
43 ],
44 "outboundCapabilities": [
45 "ai.run.create",
46 "network.consent.read",
47 "network.notifications.push"
48 ],
49 "capabilitiesRegistered": false,
50 "serviceManifestRegistered": false,
51 "summary": "OpenVibe.Vision reads images and checks UI faults, and its network tools produce alt text, owner-scoped private image search, receipt lines, product matches, camera detections and moments. Local face detection and blur use no identity; personal matching requires separately signed, purpose-scoped consent. General answers keep no image bytes. Opt-in face uploads and templates are encrypted, private and deletable. AI text never describes a person's looks.",
52 "works": [
53 "Ask a picture: multipart upload, data URL or public image URL; task ask/describe/identify/count/translate/ocr; auto/local/ai modes",
54 "Local-first OCR: Tesseract 5 on this host, word boxes and mean confidence, zero cost, an optional AI fallback only after an empty local pass",
55 "OpenVibe.AI gateway: first-party service token (ai.run.create, namespace ai.*), OpenAI-compatible image message, AI provenance, quota and cost, no direct provider",
56 "Compare: local OCR plus one AI run per model hint, requested vs answered model, measured latency and AI cost, sample rows",
57 "UI check: static HTML/CSS pass (overflow, cut-off, contrast, overlap, layering), public URL pass with SSRF guard, screenshot pass through OCR boxes and sharp pixels",
58 "No looks: public AI text is passed through noLooks; an answer that names looks is replaced by a neutral sentence",
59 "Local face detection and blur through YuNet without templates or tracking; detect/blur are open and rate-limited",
60 "Consent-scoped SFace matching: verify (1:1), self search in own Vision uploads, adult cast rosters and region-gated private library grouping",
61 "F1 familiar faces: a camera owner's own library (face_libraries, names, encrypted crops and templates); strict regions check Network's face.recognize registry before a template exists, a private link covers the rest, a match reads only that library, and delete removes templates and crops",
62 "Encrypted face templates, opt-in uploads and vectors (AES-256-GCM); immediate template/tag erasure on opt-out and a daily three-year retention job",
63 "Network tools: routed alt text, owner-scoped CLIP index/find, Tesseract-first receipts, product vectors, DETR watch and moments, each with a receipt",
64 "Unsafe-image review: exactly three categories (fine including nudity; sex acts or porn never public; sexual content involving a minor blocked, quarantined and reported to the operator), a staff queue page, an operator decision, and a plain-words API for Media, Live and Community",
65 "MCP on /mcp with RFC 9728 protected-resource metadata, token challenges and route-equivalent capability checks",
66 "vision.result.ready and vision.alert published through OpenVibe.Events when configured, through a durable outbox: a failed publish waits in event_outbox and is retried with backoff",
67 "Answers, compare samples, private index and UI checks stored without image bytes; account export/deletion over every table including faces and the private index",
68 "Network sign-in as OAuth client vision (PKCE S256, vision_at/vision_rt/vision_oauth), truthful readiness, loopback metrics",
69 "Server-rendered pages with stable vi- ids/classes, discovery artifacts, deploy unit and nginx vhost, CI"
70 ],
71 "notYet": [
72 "Public Vision Arena leaderboards and public test sets (v2); v1 stores aggregate compare samples and exposes them without subjects",
73 "Video and computer-use benchmarks (v2/v3)",
74 "OpenCV jobs placed on OpenVibe.Run; v1 uses Tesseract on this host and sharp for pixels",
75 "A real browser-rendered UI pass (JavaScript execution, getBoundingClientRect, computed styles); v1 is a documented static pass plus a screenshot pass",
76 "Search documents/outbox: v1 has no public records to index",
77 "A per-person history page; saved answers are reachable by id for their owner and staff",
78 "A tested liveness / presentation-attack detector: verify and cast enrolment return liveness \"not_checked\"",
79 "Media-object search through a source-owner grant: find yourself currently searches only the person's Vision uploads",
80 "The capability manifests and grants; the main session registers vision.* and grants them"
81 ],
82 "deployed": false,
83 "features": [
84 "ask a picture",
85 "familiar faces for a camera owner's own cameras",
86 "local-first OCR",
87 "OpenVibe.AI routed answers",
88 "model compare with cost and latency",
89 "UI check: overflow, cut-off, contrast, overlap, layering",
90 "noLooks and consent-scoped faces",
91 "network tools: alt, index/find, receipt, product, watch, moments",
92 "account export and deletion",
93 "Network sign-in",
94 "server-rendered pages",
95 "unsafe-image review queue and three-category API",
96 "discovery",
97 "deploy files"
98 ],
99 "deployment": "not deployed: the unit and nginx vhost are deploy/systemd/openvibe-vision.service and deploy/nginx/openvibe.vision.conf",
100 "updated": "2026-11-13"
101}
102