Repository navigation
Add user-facing capability catalog in src/openhuman/about_app/ #110
Description
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.listto understand what the app can do and guide users - CLI help auto-generated from the catalog
- UI can render dynamic feature discovery
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsDone
Activity
[-]Add user-facing capability registry in src/openhuman/registry/[/-][+]Add user-facing capability catalog in src/openhuman/about_app/[/+]Replace Playwright with Appium mac2 + WebDriverIO E2E and add unit te…
fix: repin tinymemory module to v1.13.1 and use scoring bus constants
fix(scoring): bump all five pin sites to tinymemory v1.13.2
fix(scoring): address second-reviewer findings
fix(scoring): bump all five pin sites to tinymemory v1.13.2
fix(scoring): address second-reviewer findings
Replace Playwright with Appium mac2 + WebDriverIO E2E and add unit te…
fix(scoring): bump all five pin sites to tinymemory v1.13.2\n\nv1.13.…
fix(scoring): address second-reviewer findings\n\nFour issues from th…
Merge pull request tinyhumansai#110 from senamakel/epic-8055-51-flow-…