Skip to content

Add user-facing capability catalog in src/openhuman/about_app/ #110

Closed

Description

@graycyrus

Summary

Create a structured, machine-readable about_app module in src/openhuman/about_app/ that catalogs every user-facing feature the app offers — what it does, how to access it, and its current status. This module should be queryable at runtime so the agent can understand what the app can do and guide users accordingly.

Motivation

There is no single place where an agent or user can ask "what can this app do?" and get a structured answer. Features are scattered and implicit. The about_app module solves this by being the single source of truth for user-facing capabilities.

Design

Core types (src/openhuman/about_app/types.rs)

pub struct Capability {
    pub id: &'static str,              // e.g. "local_ai.download_model"
    pub name: &'static str,            // e.g. "Download Local Model"
    pub domain: &'static str,          // e.g. "local_ai"
    pub category: CapabilityCategory,
    pub description: &'static str,     // user-facing one-liner
    pub how_to: &'static str,          // where to find it in the app, e.g. "Settings > Local Model > Download"
    pub status: CapabilityStatus,
}

pub enum CapabilityCategory {
    Conversation,       // Chat, messaging, threads
    Intelligence,       // Actionable items, analysis
    Skills,             // Skill discovery, setup, sync
    LocalAI,            // Model download, TTS, STT, vision
    Team,               // Team creation, members, invites
    Settings,           // Configuration, privacy, billing
    Auth,               // Login, onboarding, session
    ScreenIntelligence, // Screen capture, accessibility
    Channels,           // Telegram, Discord, Slack connections
    Automation,         // Cron jobs, scheduled tasks
}

pub enum CapabilityStatus {
    Stable,
    Beta,
    ComingSoon,
    Deprecated,
}

Module structure

src/openhuman/about_app/
├── mod.rs              # Public API: all_capabilities(), capabilities_by_category(), lookup()
├── types.rs            # Capability, CapabilityCategory, CapabilityStatus
├── catalog.rs          # Static catalog of all registered capabilities
└── schemas.rs          # RPC endpoints to query about_app at runtime

RPC surface

Method Description
about_app.list List all capabilities (optional category filter)
about_app.lookup Look up a specific capability by ID
about_app.search Search capabilities by keyword

Capabilities to register (initial catalog)

Conversation — create conversations, send text messages, send voice messages, inline autocomplete, copy messages, delete conversations, suggested questions, view tool execution timeline

Intelligence — analyze actionable items, filter/search items, mark items complete, dismiss items, snooze items, undo actions, memory workspace

Skills — discover available skills, install skills, setup/configure skills, monitor connection status, manually sync skill data, enable/disable skills

Local AI — download local models, manage model assets, text embedding, speech recognition (voice-to-text), text-to-speech, vision processing, direct model prompting

Team — create teams, join teams via invite codes, switch active team, leave teams, manage team members, generate invite codes, track invite usage

Auth — login via OAuth, onboarding setup, logout

Screen Intelligence — enable/disable screen monitoring, manage accessibility permissions, review vision data, configure capture FPS, app whitelist/blacklist

Channels — connect messaging platforms (Telegram, Discord, Slack, etc.), disconnect platforms, test credentials, set default messaging channel

Settings — configure AI, manage privacy/analytics, view billing, manage subscription plan, manage credits, add payment methods, developer options

Automation — view/configure cron jobs, set job intervals, view execution history

Acceptance Criteria

  • src/openhuman/about_app/ module created with types and catalog
  • All existing user-facing capabilities registered
  • RPC methods (about_app.list, about_app.lookup, about_app.search) wired and functional
  • No duplicate capability IDs
  • Unit tests for lookup/search
  • JSON-RPC E2E test confirming methods return correct data
  • New feature workflow: registering a capability in about_app is part of the feature design checklist

Future use

  • Agent queries about_app.list to understand what the app can do and guide users
  • CLI help auto-generated from the catalog
  • UI can render dynamic feature discovery

Activity

  1. self-assigned this
    on Mar 31, 2026
  2. changed the title [-]Add user-facing capability registry in src/openhuman/registry/[/-] [+]Add user-facing capability catalog in src/openhuman/about_app/[/+] on Mar 31, 2026
  3. removed their assignment
    on Mar 31, 2026
  4. removed their assignment
    on Apr 1, 2026
  5. added a commit that references this issue on Oct 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions