Files
openhuman/docs/MVP.md
T
c2ff8b693b feat/openclaw (#128)
* feat: add initial project structure and documentation

- Introduced the GNU General Public License (GPL) v3 in LICENSE file.
- Added MCP configuration in .claude/mcp.json for server integration.
- Created architecture documentation in docs/ARCHITECTURE.md outlining the platform's design and components.
- Defined MVP specifications in docs/MVP.md for the Telegram-based Agent Assistant.
- Established API reference for team management in docs/teams-api-reference.md.
- Set up basic HTML structure in public/index.html and added logo image in public/logo.png.

* feat: add initial project documentation and HTML structure

- Introduced CODE_OF_CONDUCT.md to establish community guidelines and standards for behavior.
- Created CONTRIBUTING.md to outline contribution process, development setup, and project conventions.
- Added SECURITY.md to define the security policy, supported versions, and reporting procedures for vulnerabilities.
- Established basic HTML structure in index.html for the application interface.

* chore: remove hello-python skill files

- Deleted skill.json and skill.py files for the Hello Python example runtime skill, as they are no longer needed in the project.

* feat: port tinyhuman agent runtime from ZeroClaw into Tauri backend

Port daemon supervisor, health registry, security (policy, secrets, audit,
pairing), agent traits, and config modules from ZeroClaw (MIT) into a new
tinyhuman/ module under src-tauri/src/. The daemon auto-starts on desktop
and shuts down gracefully on app exit via CancellationToken.

- health: global HealthRegistry with component tracking and JSON snapshots
- security/policy: SecurityPolicy with command validation, risk levels, rate limiting
- security/secrets: ChaCha20-Poly1305 SecretStore with legacy XOR migration
- security/audit: AuditLogger with JSON-line events and log rotation
- security/pairing: PairingGuard with brute-force protection and SHA-256 hashing
- security/traits: Sandbox trait + NoopSandbox
- config: minimal DaemonConfig with autonomy, reliability, secrets, audit sub-configs
- daemon: supervisor with health state writer emitting Tauri events
- agent/traits: Provider, Tool, Memory, Observer, RuntimeAdapter traits + Noop impls
- commands/tinyhuman: Tauri commands for health, security policy, encrypt/decrypt
- 185 inline unit tests across all modules
- README updated with custom inference/tunneling/memory positioning

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat: update README to reflect AlphaHuman Mk1 branding and enhanced description

- Changed project title to "AlphaHuman Mk1" for clarity.
- Revised project description to emphasize user-friendly AI capabilities and the use of the Neocortex Mk1 model.
- Removed outdated sections on custom inference, tunneling, and memory, streamlining the content for better readability.

* update readme

* Port zeroclaw runtime into tinyhuman

* Replace CLI mentions with UI language

* Split gateway module into smaller units

* Split channels and config schema modules

* Fix tinyhuman build, tests, and tunnel integration

* feat(tinyhuman): add missing modules and ui-friendly services

* refactor: rename tinyhuman to alphahuman

* chore: remove bottom text from Welcome component

* feat(settings): add tauri command console

* feat(daemon): enhance daemon mode handling and integrate rustls with ring feature

* feat(settings): implement comprehensive configuration management in TauriCommandsPanel

* refactor(TauriCommandsPanel): streamline error handling and enhance async function usage

* feat(settings): add skill management functionality to TauriCommandsPanel

* style(TauriCommandsPanel): update input styles for improved readability and user experience

* feat(settings): add Skills and Agent Chat panels with navigation and integration management

* feat(settings): implement browser access management in SkillsPanel and enhance AgentChatPanel with local storage functionality

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 13:03:15 +04:00

7.8 KiB


# Cross-Platform Tauri Agent Assistant — MVP Specification

## Overview

This MVP defines a **Telegram-based Agent Assistant** built with **Tauri (Rust + Web UI)** targeting:

- Windows
- macOS
- Android
- iOS

The assistant:
- Interacts with users via a **Telegram bot (DM-first)**
- Processes Telegram channel data **locally on device**
- Uses a **minimal backend** only for:
  - identity & login
  - payments & entitlements
  - push notifications (especially for iOS)
- Avoids storing Telegram message content on servers

---

## Core Platform Behavior Summary

| Platform | Listening Model                 | Trigger to Respond         |
| -------- | ------------------------------- | -------------------------- |
| Windows  | Continuous (background)         | Bot DM or channel activity |
| macOS    | Continuous (background)         | Bot DM or channel activity |
| Android  | Continuous (foreground service) | Bot DM or channel activity |
| iOS      | On-demand only                  | Bot DM → push → tap → sync |

---

## Architectural Pillars

- **UI-first development**
- **Single Rust agent runtime**
- **Telegram bot as the user interface**
- **Privacy-first local processing**
- **Backend as infrastructure, not intelligence**

---

# PHASED MVP PLAN

---

## Phase 0 — Project Skeleton & Tooling

### Goals

- Prepare repo structure
- Establish documentation and contribution rules
- No business logic yet

### Deliverables

- Monorepo structure
- Tauri project scaffold
- Mobile targets enabled (Tauri v2)
- CI hooks (optional)

### Repo Structure

/apps /desktop /mobile /core /agent-runtime (Rust) /storage /telegram /backend /docs


### Documentation Commands (Required)

```bash
/docs/architecture.md        # high-level system design
/docs/decisions/ADR-000.md   # initial architecture decision record

Exit Criteria

  • App builds and runs (blank UI)
  • Docs folder initialized
  • ADR process agreed upon

Phase 1 — UI-First MVP (No Logic)

Goals

Build the entire UI flow before implementing logic.

UI Screens

  • Login / Signup
  • Telegram Connect (bot instructions)
  • Channel Selection
  • Sync Status Screen
  • Settings (background, privacy, storage)
  • Plan & Billing (stub)
  • Logs / Activity View (local only)

Platforms

  • All platforms (desktop + mobile)

Deliverables

  • Responsive UI
  • Navigation between screens
  • Mock data only
  • No Telegram, no backend, no Rust logic

Documentation Commands

/docs/ui/flows.md            # user flows
/docs/ui/screens.md          # screen definitions
/docs/ui/states.md           # loading / error / empty states

Exit Criteria

  • Entire app is navigable
  • No dead-end screens
  • UI approved before logic begins

Phase 2 — Local Agent Runtime (Rust Only)

Goals

Implement the local agent engine without Telegram or backend.

Components

  • Rust agent runtime
  • Intent router (question / sync / config)
  • Processing pipeline (stubbed)
  • Response composer (mock responses)

Deliverables

  • Tauri IPC commands:

    • agent_init
    • agent_process_query
    • agent_status
  • In-memory only state

Documentation Commands

/docs/core/agent.md          # agent architecture
/docs/core/events.md         # internal event types
/docs/core/state.md          # memory state model

Exit Criteria

  • UI can send a question
  • Agent returns a mock response
  • No persistence yet

Phase 3 — Local Storage & Privacy Layer

Goals

Add efficient, privacy-first local storage.

Storage Rules

  • No Telegram message bodies by default

  • Store only:

    • channel IDs
    • last processed message IDs
    • dedupe hashes
  • Encrypted at rest

Deliverables

  • Encrypted SQLite
  • OS keychain integration
  • Storage abstraction in Rust
  • “Ephemeral mode” toggle

Documentation Commands

/docs/storage/schema.md
/docs/storage/encryption.md
/docs/privacy/model.md

Exit Criteria

  • App restarts without losing cursors
  • “Delete local data” wipes all state
  • No plaintext sensitive data on disk

Phase 4 — Telegram Bot Integration (Agent Assistant)

Goals

Turn the app into a real Telegram agent assistant.

Telegram Capabilities (MVP)

  • Bot DM interaction
  • Read user questions
  • Fetch channel messages (where bot has access)
  • Reply via DM

Platform Behavior

  • Windows/macOS/Android: continuous polling
  • iOS: no polling (on-demand only)

Deliverables

  • Telegram Bot Gateway (Rust)
  • Update polling / fetching
  • Message dedupe + cursoring
  • Agent replies sent via bot DM

Documentation Commands

/docs/telegram/bot.md
/docs/telegram/flows.md
/docs/telegram/limits.md

Exit Criteria

  • User asks a question in Telegram
  • App processes it
  • Bot replies correctly
  • No duplicate replies

Phase 5 — Platform Background Execution

Goals

Enable platform-appropriate background behavior.

Platform Breakdown

Windows

  • Tray app
  • Autostart
  • Background polling

macOS

  • Menu bar app
  • Launch at login

Android

  • Foreground service (persistent notification)
  • Background polling allowed

iOS

  • No continuous background
  • Only foreground execution

Documentation Commands

/docs/platforms/windows.md
/docs/platforms/macos.md
/docs/platforms/android.md
/docs/platforms/ios.md

Exit Criteria

  • Desktop apps run without UI open
  • Android foreground service stable
  • iOS behaves strictly foreground-only

Phase 6 — Minimal Backend Integration

Goals

Introduce backend without violating privacy goals.

Backend Responsibilities

  • Authentication
  • Device registration
  • Entitlements
  • Push notifications
  • Payment verification

Explicit Non-Responsibilities

  • No Telegram message storage
  • No agent logic
  • No summaries

Deliverables

  • Auth flow wired into UI
  • Entitlements fetched on startup
  • Device registered for push

Documentation Commands

/docs/backend/api.md
/docs/backend/data-model.md
/docs/backend/security.md

Exit Criteria

  • User login works
  • Entitlements enforced locally
  • Backend DB contains no message content

Phase 7 — iOS Push → Tap → Sync Flow

Goals

Implement the iOS-specific agent interaction model.

Flow

  1. User sends question to bot
  2. Backend triggers visible push
  3. User taps notification
  4. App opens
  5. App syncs Telegram
  6. Agent processes
  7. Bot replies

Deliverables

  • APNs integration
  • Push payload handling
  • Sync-on-open logic

Documentation Commands

/docs/ios/push-flow.md
/docs/ios/limitations.md

Exit Criteria

  • Push reliably opens app
  • Sync runs automatically
  • Bot replies successfully

Phase 8 — Payments & Plan Gating

Goals

Monetize safely and correctly.

Platforms

  • Desktop: Stripe / Paddle
  • Android: Play Billing
  • iOS: StoreKit

Deliverables

  • Purchase flow per platform
  • Receipt verification
  • Feature gating in Rust

Documentation Commands

/docs/billing/plans.md
/docs/billing/verification.md
/docs/billing/entitlements.md

Exit Criteria

  • Paid features unlock correctly
  • Downgrades enforced
  • Offline grace period handled

Phase 9 — Hardening & Release Prep

Goals

Stability, observability, and trust.

Deliverables

  • Error handling
  • Rate limiting
  • Abuse prevention
  • Crash-safe storage
  • UX polish

Documentation Commands

/docs/release/checklist.md
/docs/known-issues.md
/docs/security/threat-model.md

Exit Criteria

  • No critical crashes
  • No duplicate Telegram replies
  • Clear user-facing error states

Final Notes

  • The Telegram bot is the product interface
  • The Tauri app is the execution engine
  • The backend is infrastructure, not intelligence
  • iOS behavior is intentionally constrained for correctness

END OF MVP