mirror of
https://github.com/open-jarvis/OpenJarvis.git
synced 2026-07-30 19:02:16 +00:00
- Rewrite .github/workflows/desktop.yml: 2-job pipeline (validate + build-and-release) with rolling desktop-latest pre-release on push to main and stable desktop-v* releases - Add UpdateChecker component: checks for updates on startup + every 30 min, background download with progress bar, one-click relaunch - Configure Tauri updater: endpoints pointing to desktop-latest release, pubkey placeholder - Add tauri-plugin-process for relaunch support (Cargo.toml, lib.rs, package.json) - Add macOS Entitlements.plist for notarization (network + file access, no sandbox) - Add scripts/bump-desktop-version.sh for atomic version bumps across 3 config files - Add desktop/README.md with dev setup, auto-update architecture, signing docs - Update .gitignore for desktop/node_modules, dist, target - Configure macOS minimumSystemVersion, Windows timestampUrl - Include all Phase 14-21 work: agent hardening, RBAC, taint tracking, workflows, skills, knowledge graph, sessions, A2A, MCP templates, WASM sandbox, TUI dashboard, production tools, CLI expansion, API expansion, learning productionization, Tauri desktop app, and 10 new channels Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
6.9 KiB
6.9 KiB
OpenJarvis Roadmap Progress
Last updated: 2026-02-27
Phase 17: Production Tool Parity
Core Tools
FileWriteTool—src/openjarvis/tools/file_write.py+tests/tools/test_file_write.py(16 tests)ApplyPatchTool—src/openjarvis/tools/apply_patch.py+tests/tools/test_apply_patch.py(13 tests)ShellExecTool—src/openjarvis/tools/shell_exec.py+tests/tools/test_shell_exec.py(19 tests)GitTool(4 ops) —src/openjarvis/tools/git_tool.py+tests/tools/test_git_tool.py(41 tests)HttpRequestTool—src/openjarvis/tools/http_request.py+tests/tools/test_http_request.py(21 tests)DatabaseQueryTool—src/openjarvis/tools/db_query.py+tests/tools/test_db_query.py(26 tests)
Inter-Agent Tools
AgentSpawnTool—src/openjarvis/tools/agent_tools.py+tests/tools/test_agent_tools.pyAgentSendTool— (same file)AgentListTool— (same file)AgentKillTool— (same file, 22 tests total)
Browser Automation
BrowserNavigateTool—src/openjarvis/tools/browser.py+tests/tools/test_browser.pyBrowserClickTool— (same file)BrowserTypeTool— (same file)BrowserScreenshotTool— (same file)BrowserExtractTool— (same file, 71 tests total)
Media Tools
ImageGenerateTool—src/openjarvis/tools/image_tool.py+tests/tools/test_image_tool.py(12 tests)AudioTranscribeTool—src/openjarvis/tools/audio_tool.py+tests/tools/test_audio_tool.py(17 tests)PDFExtractTool—src/openjarvis/tools/pdf_tool.py+tests/tools/test_pdf_tool.py(19 tests)
Security Hardening
- SSRF protection —
src/openjarvis/security/ssrf.py+tests/security/test_ssrf.py(18 tests) - Subprocess sandbox —
src/openjarvis/security/subprocess_sandbox.py+tests/security/test_subprocess_sandbox.py(11 tests) - Prompt injection scanner —
src/openjarvis/security/injection_scanner.py+tests/security/test_injection_scanner.py(10 tests) - Rate limiting —
src/openjarvis/security/rate_limiter.py+tests/security/test_rate_limiter.py(12 tests) - Security headers middleware —
src/openjarvis/server/middleware.py+tests/server/test_middleware.py(4 tests)
Config & Integration
- New extras in
pyproject.toml:browser,media,pdf, channel extras for Phase 21 ToolsConfig.browsersection added toconfig.py(BrowserConfig: headless, timeout_ms, viewport)SecurityConfig.ssrf_protection,rate_limit_enabled,rate_limit_rpm,rate_limit_burstfields
Phase 18: CLI & API Expansion
CLI Commands
jarvis start/stop/restart/status—src/openjarvis/cli/daemon_cmd.py+tests/cli/test_daemon_cmd.py(7 tests)jarvis chat—src/openjarvis/cli/chat_cmd.py+tests/cli/test_chat_cmd.py(6 tests)jarvis agent—src/openjarvis/cli/agent_cmd.py+tests/cli/test_agent_cmd.py(3 tests)jarvis workflow—src/openjarvis/cli/workflow_cmd.py+tests/cli/test_workflow_cmd.py(4 tests)jarvis skill—src/openjarvis/cli/skill_cmd.py+tests/cli/test_skill_cmd.py(4 tests)jarvis vault—src/openjarvis/cli/vault_cmd.py+tests/cli/test_vault_cmd.py(6 tests)jarvis add—src/openjarvis/cli/add_cmd.py+tests/cli/test_add_cmd.py(5 tests)
API Endpoints
- Agent API endpoints —
src/openjarvis/server/api_routes.py - Workflow API endpoints — (same file)
- Memory API endpoints — (same file)
- Traces API endpoints — (same file)
- Telemetry API endpoints — (same file)
- Skills API endpoints — (same file)
- Sessions API endpoints — (same file)
- Budget API endpoints — (same file)
- Prometheus metrics — (same file)
- Security headers middleware wired into app —
src/openjarvis/server/app.py - All routes tested —
tests/server/test_api_routes.py(11 tests) - WebSocket streaming endpoint —
WS /v1/chat/stream+tests/server/test_websocket.py(9 tests)
Phase 19: Learning System Productionization
- GRPO Router —
src/openjarvis/learning/grpo_policy.py(replaced stub) +tests/learning/test_grpo_policy.py(13 tests) - Multi-Armed Bandit Router —
src/openjarvis/learning/bandit_router.py+tests/learning/test_bandit_router.py(13 tests) - Closed-Loop Skill Discovery —
src/openjarvis/learning/skill_discovery.py+tests/learning/test_skill_discovery.py(10 tests) - Auto-Apply ICL Updates — modified
src/openjarvis/learning/icl_updater.py+tests/learning/test_icl_updates.py(13 tests) - Learning Dashboard API —
GET /v1/learning/stats,GET /v1/learning/policy+tests/learning/test_learning_api.py(8 tests)
Phase 20: Desktop App (Tauri 2.0)
- Tauri scaffold in
desktop/—src-tauri/,package.json,vite.config.ts,tsconfig.json - Tauri Rust backend —
src-tauri/src/lib.rswith 11 commands (health, energy, telemetry, traces, learning, memory, agents, jarvis CLI) - Tauri plugins — notification, shell, global-shortcut, autostart, updater, single-instance
- Energy dashboard —
src/components/EnergyDashboard.tsx(recharts line chart, auto-refresh) - Trace debugger —
src/components/TraceDebugger.tsx(dual-panel, color-coded step timeline) - Learning curve visualization —
src/components/LearningCurve.tsx(GRPO/bandit/ICL stats) - Memory browser —
src/components/MemoryBrowser.tsx(search + stats) - Admin panel —
src/components/AdminPanel.tsx(health, agents, server control) - Build successful —
.deb,.rpm,.AppImagebundles produced - CI workflow —
.github/workflows/desktop.yml(Linux/macOS/Windows matrix)
Phase 21: Channels
- LINE —
src/openjarvis/channels/line_channel.py - Viber —
src/openjarvis/channels/viber_channel.py - Facebook Messenger —
src/openjarvis/channels/messenger_channel.py - Reddit —
src/openjarvis/channels/reddit_channel.py - Mastodon —
src/openjarvis/channels/mastodon_channel.py - XMPP —
src/openjarvis/channels/xmpp_channel.py - Rocket.Chat —
src/openjarvis/channels/rocketchat_channel.py - Zulip —
src/openjarvis/channels/zulip_channel.py - Twitch —
src/openjarvis/channels/twitch_channel.py - Nostr —
src/openjarvis/channels/nostr_channel.py - All channels tested —
tests/channels/test_channels_phase21.py(103 tests)
Test Summary
| Phase | New Tests | Cumulative |
|---|---|---|
| Pre-existing | ~2,447 | 2,447 |
| Phase 17 | ~300 | ~2,747 |
| Phase 18 | ~56 | ~2,803 |
| Phase 19 | ~49 | ~2,852 |
| Phase 21 | ~103 | ~2,923 |
| WebSocket + Learning API | ~17 | ~2,940 |
| Verified total | 2,997 passed, 42 skipped |
CLAUDE.md
- Updated with all new tools, CLI commands, API endpoints, channels, learning policies, desktop app, config fields, and phase table