Jarvis Ai Assistant
C 61 completed
Bot
web_app / python · medium
749
Files
195,063
LOC
7
Frameworks
13
Languages
Pipeline State
completedRun ID
#306071Phase
doneProgress
1%Started
Finished
2026-04-13 01:31:02LLM tokens
0Pipeline Metadata
Stage
CatalogedDecision
proceedNovelty
84.40Framework unique
—Isolation
—Last stage change
2026-05-10 03:34:46Deduplication group #55009
Member of a group with 1 similar repo(s) — this repo is canonical view group →
Top concepts (12)
RepositoryProject DescriptionLayered ArchitectureSingletonObserver/Event Emitterapibusiness_logicdata_accessinfrastructuretestingWeb FrontendFactory
Repobility's GitHub App fixes findings like these · https://github.com/apps/repobility-bot
🧪 Code Distillation
Browse all specs →Sample distilled functions (click for full spec)
RelationshipClassifier.classify_contactClassifies a contact's relationship type using a provided chat identifier and an optional display name. It first checks a time-to-live cache using the chat ID to potentially return a stored result immediately. If the result is not cached or has expired, it retrieves all messages for the chat and the
RelationshipClassifier.classify_messagesClassifies the relationship type from a list of message objects, optionally using provided chat and display identifiers. It first checks if enough messages are present, then extracts features and computes initial scores, subsequently adjusting these scores using a bonus derived from the display name
RelationshipClassifier._score_display_nameCalculates a dictionary of bonus scores for relationship categories based on the provided contact display name. It accepts a single string representing the display name as input and returns a dictionary mapping category names to a float score. The function checks if any predefined relationship keywo
AI Prompt
Create a local-first AI assistant, similar to Jarvis, designed for macOS users that integrates with iMessage. The system needs a core pipeline handling intent routing, retrieval-augmented generation, and reliability gates. It should use local message retrieval and feature a desktop application communicating via socket-based IPC. Please structure the architecture to include components for SQLite vector indexing and a metrics/health monitoring system. The backend should be built using FastAPI, and the frontend/desktop client should leverage SvelteKit.
python fastapi sveltekit tauri macos ai-assistant local-first messaging web-app ipc
Generated by gemma4:latest
Catalog Information
Jarvis is a local-first AI assistant designed for macOS users, integrating seamlessly with iMessage.
Description
Jarvis is an artificial intelligence-powered personal assistant that runs locally on your macOS device. It integrates with iMessage to provide a convenient and intuitive way to interact with the AI. Jarvis can perform various tasks, such as answering questions, setting reminders, and providing information on a wide range of topics.
الوصف
يوريس هو مساعد ذكاء اصطناعي يعمل محليا على جهاز ماكنتوش الخاص بك، ويدمج مع تطبيق iMessage لتقديم طريقة سهلة ومريحة للتفاعل مع الذكاء الاصطناعي. يمكن يوريس تنفيذ العديد من المهام مثل الإجابة عن الأسئلة والترتيب للذكرى وتقديم المعلومات حول مجموعة واسعة من المواضيع.
Novelty
7/10Tags
ai-assistant local-first macos imessage-integration task-management information-provision question-answering
Technologies
fastapi huggingface matplotlib numpy openai pandas pydantic pytorch rich scikit-learn scipy typer uvicorn
Claude Models
claude-opus-4.6
Quality Score
C
61.3/100
Structure
68
Code Quality
62
Documentation
79
Testing
75
Practices
44
Security
25
Dependencies
90
Strengths
- CI/CD pipeline configured (github_actions)
- Good test coverage (35% test-to-source ratio)
- Code linting configured (ruff (possible))
- Consistent naming conventions (snake_case)
Weaknesses
- No LICENSE file \u2014 legal ambiguity for contributors
- 4 files with critical complexity need refactoring
- Potential hardcoded secrets in 1 files
- 15687 duplicate lines detected \u2014 consider DRY refactoring
- 72 'god files' with >500 LOC need decomposition
Recommendations
- Add a LICENSE file (MIT recommended for open source)
- Move hardcoded secrets to environment variables or a secrets manager
- Address 54 TODO/FIXME items \u2014 consider tracking them as issues
Security & Health
57.1h
Tech Debt (A)
High
DORA Rating
A
OWASP (100%)
Repobility — same analyzer, your code, free for public repos · /scan/
FAIL
Quality Gate
A
Risk (13)
MIT
License
5.0%
Duplication
Languages
Frameworks
FastAPI Svelte SvelteKit Tauri pytest Vitest Vite
Symbols
variable3,606
method1,815
function1,466
constant1,113
class782
interface230
property120
type_alias33
protocol21
struct11
enum2
extension2
API Endpoints (126)
| Method | Path | Handler | Framework | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| All rows above produced by Repobility · https://repobility.com | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | | list_templates | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | | get_priority_inbox | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| POST | | create_task | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| POST | | create_experiment | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | | list_experiments | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| POST | | get_suggestions | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| POST | | create_template | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | | list_tasks | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | | list_attachments | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | | get_settings | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | | list_calendars | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| PUT | | update_settings | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | | get_prometheus_metrics | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | | list_conversations | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | / | root | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| POST | /backup | export_full_backup | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| DELETE | /cache | clear_analytics_cache | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /{chat_id} | get_conversation_stats | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| DELETE | /{chat_id}/cache | invalidate_stats_cache | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /{chat_id}/messages | get_messages | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| POST | /{chat_id}/send | send_message | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| POST | /{chat_id}/send-attachment | send_attachment | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /{chat_id}/threads | get_threaded_view | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| POST | /{chat_id}/threads/analyze | analyze_threads | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /{chat_id}/threads/{thread_id} | get_thread_messages | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| POST | /clear-handled | clear_handled | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /clusters | get_clusters | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| DELETE | /completed/clear | clear_completed_tasks | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /contact/{contact_id} | get_contact_profile | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /contacts/{chat_id}/stats | get_contact_stats | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| POST | /contacts/important | mark_contact_important | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /contacts/leaderboard | get_contacts_leaderboard | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | Content-Disposition | headers.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| POST | /conversation/{chat_id} | export_conversation | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /debug/status | get_system_status | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /debug/traces | get_traces | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| DELETE | /debug/traces | clear_traces | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /debug/traces/summary | get_trace_summary | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| POST | /detect | detect_events_in_text | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| POST | /detect/messages | detect_events_in_messages | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /ego/{contact_id} | get_ego_graph | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| POST | /evaluate | evaluate_response | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| POST | /events | create_event | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /events | get_events | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| POST | /events/from-detected | create_event_from_detected | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /events/search | search_events | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /evolution | get_graph_evolution | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /export | export_analytics | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| POST | /export | export_templates | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| POST | /export | batch_export | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Showing 50 of 126
Concepts (22)
| Category | Name | Description | Confidence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Generated by Repobility's multi-pass static-analysis pipeline (https://repobility.com) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| design_pattern | Repository | Found repository-named files | 80% | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| auto_description | Project Description | Local-first AI assistant for iMessage workflows on macOS. | 80% | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| arch_pattern | Layered Architecture | Found API/routes, service, and data layers | 70% | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| design_pattern | Singleton | Found get_instance/instance patterns | 70% | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| design_pattern | Observer/Event Emitter | Found event emission/subscription patterns | 70% | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| arch_layer | api | Detected api layer | 70% | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| arch_layer | business_logic | Detected business_logic layer | 70% | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| arch_layer | data_access | Detected data_access layer | 70% | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| arch_layer | infrastructure | Detected infrastructure layer | 70% | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| arch_layer | testing | Detected testing layer | 70% | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| auto_category | Web Frontend | web-frontend | 70% | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| design_pattern | Factory | Found factory/create_ naming patterns | 60% | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| business_logic | Search | Detected from 32 related files | 50% | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| business_logic | Testing | Detected from 181 related files | 50% | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| business_logic | User Management | Detected from 10 related files | 50% | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| business_logic | Analytics | Detected from 27 related files | 50% | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| business_logic | Authentication | Detected from 3 related files | 50% | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| business_logic | Caching | Detected from 12 related files | 50% | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| business_logic | Configuration | Detected from 25 related files | 50% | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| business_logic | Database | Detected from 49 related files | 50% | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| business_logic | Logging | Detected from 11 related files | 50% | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| business_logic | File Management | Detected from 11 related files | 50% | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Powered by Repobility — scan your code at https://repobility.com
Embed Badge
Add to your README:
BinComp Dependency Hardening
All packages →23 of this repo's dependencies have been scanned for binary hardening. Grade reflects RELRO / stack canary / FORTIFY / PIE coverage.
Ntransformers5.5.3 · 0 gadgets · risk 10146.5Ftorch2.11.0 · 1,257 gadgets · risk 5116.6Nstarlette1.0.0 · 0 gadgets · risk 1608.0Dorjson3.11.8 · 215 gadgets · risk 336.6Nargcomplete3.6.3 · 0 gadgets · risk 0.0Nasyncio4.0.0 · 0 gadgets · risk 0.0Nfastapi0.135.3 · 0 gadgets · risk 0.0Njoblib1.5.3 · 0 gadgets · risk 0.0Nnetworkx3.6.1 · 0 gadgets · risk 0.0Fnumpy2.4.4 · 6,596 gadgets · risk 0.0Bonnxruntime1.24.4 · 1 gadgets · risk 0.0Nopenai2.31.0 · 0 gadgets · risk 0.0Fpandas3.0.2 · 6,381 gadgets · risk 0.0Fpsutil7.2.2 · 19 gadgets · risk 0.0Npydantic2.12.5 · 0 gadgets · risk 0.0Nrich14.3.4 · 0 gadgets · risk 0.0Dsafetensors0.7.0 · 421 gadgets · risk 0.0Fscipy1.17.1 · 21,805 gadgets · risk 0.0Dtokenizers0.22.2 · 1,441 gadgets · risk 0.0Ntqdm4.67.3 · 0 gadgets · risk 0.0Nuvicorn0.44.0 · 0 gadgets · risk 0.0Dwatchfiles1.1.1 · 370 gadgets · risk 0.0Fwebsockets16.0 · 4 gadgets · risk 0.0