* feat(runtime): add skill_type to SkillManifest for unified registry Add optional skill_type field (alphahuman | openclaw) with serde default 'alphahuman' so existing manifest.json files remain valid. Enables type-based dispatch in the unified skill system. * feat(runtime): add UnifiedSkillEntry and UnifiedSkillResult types UnifiedSkillEntry provides a common interface for both alphahuman (QuickJS) and openclaw (SKILL.md/TOML) skills: id, name, skill_type, version, description, status, tools. UnifiedSkillResult standardizes execution responses (skill_id, tool_name, content, is_error, executed_at) and is MCP-spec compatible for content blocks. * feat(runtime): expose skills_source_dir() on RuntimeEngine Public getter for the skill source directory so the unified skill generator can write new alphahuman skills (manifest.json + index.js) to the same directory the runtime discovers skills from. * feat(skills): add unified skill registry, openclaw executor, generator - UnifiedSkillRegistry: merges alphahuman (RuntimeEngine::discover_skills) and openclaw (load_skills from ~/.alphahuman/workspace/skills/), dispatches execute by skill_type, supports generate from GenerateSkillSpec. - openclaw_executor: runs SKILL.toml tools via shell (sh -c) or http (reqwest), returns SKILL.md prompt as text when no tools; interpolation. - generator: generate_alphahuman writes manifest.json + index.js to skills dir; generate_openclaw writes SKILL.md or SKILL.toml to workspace/skills/<name>/. * feat(commands): add Tauri commands for unified skill API - unified_list_skills: returns Vec<UnifiedSkillEntry> (alphahuman + openclaw). - unified_execute_skill: dispatches by skill_type to QuickJS or openclaw executor, returns UnifiedSkillResult. - unified_generate_skill: generates skill from spec, returns new UnifiedSkillEntry. Desktop implementations use UnifiedSkillRegistry; mobile stubs return empty/error (QuickJS not available on Android/iOS). * feat(tauri): register unified skill commands in generate_handler Wire unified_list_skills, unified_execute_skill, and unified_generate_skill into both desktop and mobile generate_handler![] blocks so the frontend can invoke them via Tauri IPC. * feat(skills): add skill_type to frontend skill types - SkillManifest (lib/skills/types.ts): optional skill_type 'alphahuman' | 'openclaw'. - SkillListEntry (skills/shared.tsx): same for list entries so the grid can show type badges and handle openclaw vs alphahuman differently if needed. * feat(SkillsGrid): use unified registry, type badges, generate button - Load skills via unified_list_skills (fallback to runtime_discover_skills when unavailable, e.g. mobile). - Show SkillTypeBadge per row: blue for alphahuman, purple for openclaw. - Add Generate button that calls unified_generate_skill with a demo alphahuman spec and refreshes the list so the new skill appears. * feat(skills): unified skill registry with security hardening and PR fixes - Add UnifiedSkillRegistry merging alphahuman (QuickJS) and openclaw (SKILL.md/TOML) skill types - Add three Tauri commands: unified_list_skills, unified_execute_skill, unified_generate_skill - Add skill_type field to SkillManifest and UnifiedSkillEntry - Add SkillTypeBadge (blue=alphahuman, sage=openclaw) and Generate button in SkillsGrid Security fixes from PR review: - Fix shell injection in openclaw_executor: POSIX single-quote escaping + 30s timeout - Fix SSRF in run_http_tool: URL scheme validation + DNS resolution + private IP blocking - Add EscapeContext enum (Shell/Url/None) for context-aware arg interpolation Generator fixes: - Guard sanitize_id empty result with early Err in generate_alphahuman/generate_openclaw - Fix JS description embedding via serde_json::to_string (proper newline/backslash escaping) - Fix sanitize_fn_name to prepend _ when result starts with digit - Replace manual TOML format! with serde structs + toml::to_string for correct escaping Frontend fixes: - Extract normalizeUnifiedEntry helper shared by initial load and post-generate refresh - Replace hardcoded hasSetup/ignoreInProduction in refreshed mapping with data-driven values - Use SkillType alias centralising 'alphahuman' | 'openclaw' union in types.ts and shared.tsx - Fix SkillTypeBadge colors to approved palette (sage) and radius token (rounded-md) Nitpick: remove status from UnifiedSkillEntry (frontend derives status from Redux) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
AlphaHuman Mk1
Your most productive co-worker
A user-friendly (GUI-first) AI agent. AlphaHuman uses the
Neocortex Mk1 model to co-ordinate memories &
realtime-data, cheaper and faster than other models.
About · vs OpenClaw · Download · Getting Started · Architecture · Changelog
"The Tet. What a brilliant machine" — Morgan Freeman in Oblivion
AlphaHuman is a personal AI assistant that helps you manage high-volume communication without reading everything yourself. It connects to your messaging platforms and productivity tools, understands conversations in context, and produces clear, actionable outputs you can use immediately.
AlphaHuman is not a chatbot, browser extension, or cloud-only service. It is a native application that runs on your device, connects to your tools, and works only when you ask it to. Think of it as a second brain that sits across your communication and productivity stack.
AlphaHuman vs OpenClaw
AlphaHuman is designed to be simpler to deploy, cheaper to run, and more intelligent in how it uses models and memory.
| OpenClaw | AlphaHuman | |
|---|---|---|
| Runtime | Node.js (TypeScript) | Tauri (Rust + React), native binary |
| Inference | Single-tier or manual routing | Custom two-tier: task-routed (summarize/vibe/memory → cheap; complex/tools → premium) |
| Memory | Often external (Pinecone, Lucid, etc.) or markdown-only | Custom hybrid: SQLite FTS5 + vector similarity, optional encryption, no external vector DB |
| Tunneling | Third-party (ngrok, Cloudflare, Tailscale) or none | Custom tunneling — secure app-to-backend path without vendor lock-in |
| Cost | Typically one premium model for everything | Lower — Tier 1 for most ops; Tier 2 only when needed |
| Intelligence | General-purpose agent loop | Smarter — vibe detection, interest-based escalation, constitution-driven behavior, session-aware memory |
| Deployment | Server/Node process, high memory footprint | Native desktop/mobile app, Rust socket manager, smaller footprint |
OpenClaw is a strong open-source agent framework. We chose to build a custom stack so we could own inference routing, memory, and tunneling end-to-end and optimize for cost and clarity.
Download
Early Beta — AlphaHuman is under active development. Expect rough edges.
| Platform | Variant | Download |
|---|---|---|
| macOS | Apple Silicon (M1/M2/M3/M4) | .dmg (aarch64) |
| macOS | Intel | .dmg (x64) |
| Windows | x64 | .msi |
| Linux | Debian / Ubuntu | .deb (amd64) |
| Linux | Fedora / RHEL | .rpm (x86_64) |
| Linux | Universal | .AppImage |
| Android | — | Coming soon |
| iOS | — | Coming soon |
Browse all releases: github.com/alphahumanai/alphahuman/releases
Getting Started
- Download the installer for your platform from the releases page
- Install the app (drag to Applications on macOS, or use your package manager on Linux)
- Connect a source — follow the in-app onboarding to link Telegram, Notion, Gmail, or other services
- Run your first request — ask the AI to summarize what you missed, extract action items, or surface key decisions
Links
- Architecture Overview — How AlphaHuman is built
- Changelog — Release history
- Website — Learn more
Made with love in India 🇮🇳
AlphaHuman is in early beta. Features may change, break, or disappear. Use at your own risk.
