- Deleted `daemon-lifecycle-management.md` to reflect feature deprecation and simplify technical documentation.
- Removed `gmail-skill-integration.md` as it is no longer relevant to the current architecture.
- Revised README.md to clarify OpenHuman's capabilities and emphasize its desktop-only availability.
- Updated architecture documentation to reflect current platform support, explicitly stating that mobile and web are not yet available.
- Enhanced getting-started and platform documentation to align with the desktop-only focus and remove references to unsupported platforms.
- Improved overall consistency and clarity across documentation regarding product scope and capabilities.
- Documented tasks including skill downloads, JSON-RPC state management, and custom MCP server integration.
- Outlined payment flow integration and various skill enhancements.
- Added checklist for upcoming Android version and background processes.
Eliminated `build-tdlib-from-source.sh`, `download-tdlib.sh`, and the `TdLibManager` implementation, effectively removing local TDLib management. Transitioning away from local TDLib usage simplifies code and infrastructure by relying on alternative methods or prebuilt libraries.
- Introduced detailed architecture documentation outlining the cross-platform capabilities and high-level design of AlphaHuman.
- Added MVP specification for the Telegram-based Agent Assistant, detailing phased development plans and core functionalities.
- Created a complete reference for the Teams API, covering team management, member management, invite management, and billing management endpoints.
- Included a TODO file to track future enhancements and features for the project.
- Removed outdated example skill files for better clarity and maintenance.
- Consolidated JSON structure in `.mcp.json` and `.claude/mcp.json` for improved readability.
- Updated `CLAUDE.md` and other documentation files to enhance formatting consistency and clarity.
- Improved the organization of agent roles and initialization procedures in `AGENTS.md`, `BOOTSTRAP.md`, and `IDENTITY.md`.
- Enhanced user understanding and personalization strategies in `USER.md` and `MEMORY.md`.
- Refined tool generation scripts for better error handling and output formatting in `discover-tools.js` and `openClaw-formatter.js`.
- Updated `package.json` scripts for better error handling and streamlined execution of Tauri commands.
- Added a new `gmail-skill-integration.md` document detailing the Gmail skill integration process, including OAuth2 flow and tool definitions.
- Improved formatting and consistency in `TOOLS.md` for better readability and clarity.
- Enhanced logging in skill management and transport layers for better debugging and monitoring of tool calls.
* feat: add mnemonic recovery flow and encryption key management
- Introduced a new Mnemonic page for users to generate or import their recovery phrase.
- Updated routing to redirect users to the Mnemonic page after onboarding.
- Enhanced state management to store and retrieve AES encryption keys derived from the mnemonic.
- Added utility functions for generating and validating BIP39 mnemonic phrases.
- Updated selectors and reducers to handle encryption key state in the auth slice.
- Included new dependencies for cryptographic operations.
* feat: integrate Web3 wallet functionality and enhance state management
- Added WalletInfoSection component to display connected wallet address, network, and balance.
- Updated auth slice to manage primary wallet address derived from mnemonic.
- Enhanced SkillManager to pass wallet address as load parameters for wallet skill.
- Introduced utility function to derive EVM wallet address from mnemonic.
- Updated dependencies for cryptographic operations related to wallet functionality.
* fix: improve error handling and network selection in WalletInfoSection
- Enhanced the parsing of network data to ensure robustness against undefined values.
- Updated network selection logic to prioritize valid entries and provide a fallback.
- Improved error logging for better debugging of wallet information loading issues.
- Adjusted balance retrieval to handle cases where chain_id may be missing.
* feat: add socket event contract for Tauri integration
- Documented the socket event contract for communication between the backend and frontend in Tauri mode.
- Introduced constants for `REQUEST_ENCRYPTION_KEY` and `ENCRYPTION_KEY_EVENT` to facilitate encryption key management.
- Updated `setupTauriSocketListeners` to handle the encryption key request and response flow.
* Refactor wallet information fetching and connection status handling
- Updated `WalletInfoSection` to improve loading state management and error handling during wallet info retrieval.
- Introduced a retry mechanism for fetching wallet information with a maximum of 5 attempts.
- Enhanced connection status logic in `SkillsGrid` to treat missing authentication status as connected.
- Added a new method in `SkillManager` to set the wallet address and notify the wallet skill accordingly.
* feat: add integration token fetching and decryption functionality
- Introduced `fetchIntegrationTokens` API call to retrieve encrypted OAuth tokens for integrations.
- Implemented decryption logic for integration tokens using a provided key.
- Enhanced deep link handling to support fetching and storing integration tokens upon successful OAuth login.
- Added utility functions for hex and base64 conversions to facilitate token decryption.
- Updated `authApi.ts` and `desktopDeepLinkListener.ts` to integrate new functionality.
* refactor: move integration token encryption/decryption logic to a new utility file
- Extracted encryption and decryption functions for integration tokens into `integrationTokensCrypto.ts`.
- Removed redundant functions from `desktopDeepLinkListener.ts` to streamline the code.
- Updated deep link handling to store only the encrypted tokens instead of decrypted ones.
- Improved type definitions for integration tokens and their payloads.
* feat: enhance Gmail skill integration and state management
- Updated `SkillManager` to accept an optional access token for Gmail during OAuth completion.
- Introduced `gmailSlice` to manage Gmail user profile and emails in the Redux store.
- Implemented synchronization of Gmail skill state with the Redux store to keep user data updated.
- Refactored `SkillProvider` to handle Gmail state changes and fetch initial state from the backend.
- Adjusted deep link handling to pass decrypted access tokens for Gmail integration.
- Modified API endpoint for onboarding completion to remove the Telegram prefix.
* feat: implement Gmail metadata synchronization to backend
- Added a new utility function `syncGmailMetadataToBackend` to emit Gmail profile and email summaries to the backend via the `integration:metadata-sync` socket event.
- Updated `SkillProvider` to call the new synchronization function, ensuring Gmail skill state is sent to the backend when updated.
* refactor: update Tauri socket event handling and improve Mnemonic component typing
- Revised the Tauri socket event contract to clarify that encryption key handling is managed via the API instead of the socket.
- Removed outdated socket event constants related to encryption key requests from `tauriSocket.ts`.
- Enhanced type definitions in the `Mnemonic` component by specifying the event type for keyboard events.
* fix: update Gmail provider constant and adjust metadata synchronization logic
- Changed the constant for the Google provider from 'google' to 'gmail' for clarity.
- Commented out the email metadata synchronization logic in `syncGmailMetadataToBackend` to prevent potential issues with undefined email states.
* feat: implement Gmail metadata synchronization service
- Added a new file `metadataSync.ts` to handle the synchronization of Gmail profile and email summaries to the backend via the `integration:metadata-sync` socket event.
- Updated import paths in `SkillProvider` to reflect the new location of the Gmail metadata synchronization function.
- Enhanced type definitions for Gmail profile and email summaries to ensure proper data structure during synchronization.
* refactor: clean up code formatting and improve readability across multiple components
- Standardized import statements and formatting in various files, including `WalletInfoSection`, `AgentChatPanel`, and `SkillsPanel`.
- Enhanced readability by adjusting line breaks and spacing in JSX elements and function definitions.
- Improved consistency in the use of arrow functions and destructuring across components.
- Updated type definitions and ensured proper alignment of code for better maintainability.
* feat: enhance error handling in WalletInfoSection and improve user feedback
- Added error reporting functionality in `WalletInfoSection` to capture and enqueue errors when wallet info fails to load.
- Updated `Mnemonic` component to handle user state more robustly, ensuring encryption key is only set if the user is loaded.
- Refactored `TauriCommandsPanel` to improve string comparisons for loading states by converting to lowercase.
- Adjusted deep link handling in `desktopDeepLinkListener` to use trimmed hex values for encryption key conversion.
* fix: improve balance parsing and error handling in WalletInfoSection
- Updated balance parsing logic in `WalletInfoSection` to ensure that non-finite values default to zero.
- Enhanced error handling in `desktopDeepLinkListener` by adding error reporting for invalid encryption keys and conversion failures, improving user feedback and debugging capabilities.
* Merge remote-tracking branch 'upstream/develop' into feat/final-flow-check
* chore: update submodule URL for skills repository to use HTTPS
* chore: update skills submodule to latest commit and enhance SkillsGrid component
- Updated the skills submodule to the latest commit for improved functionality.
- Refactored `SkillsGrid` to better handle skill setup logic, ensuring accurate representation of skills with setup requirements.
- Cleaned up code formatting and improved readability in various components, including `SkillActionButton` and `desktopDeepLinkListener`.
* feat: implement Notion metadata synchronization and user profile management
- Added a new service `metadataSync.ts` to handle synchronization of Notion user metadata to the backend via the `integration:metadata-sync` socket event.
- Introduced a new Redux slice `notionSlice.ts` for managing the Notion user profile state.
- Updated `SkillProvider` to fetch and sync Notion user profile upon connection, ensuring seamless integration with the backend.
- Enhanced the store configuration to include the new Notion reducer.
* refactor: remove unnecessary console warnings in SkillProvider
- Eliminated console warnings related to Notion user retrieval errors and auto-loading skills, streamlining the logging process for better clarity and reducing noise in the console output.
- Improved code readability by cleaning up commented-out warning messages that were no longer needed.
* feat: add .mcp.json for MCP server configuration
- Introduced `.mcp.json` with server details for managing MCP integrations
- Defines `readme` server with HTTP type and URL endpoint configuration
* fix: Update skills submodule with Telegram error handling improvements
- Fixed setup flow showing false success when TDLib errors occurred
- Improved async error handling in setup steps
- Added client reset mechanisms for error recovery
- Enhanced error messaging for better user experience
- Cleaned up excessive debug logging while maintaining error logs
Resolves issue where Telegram setup showed success modal despite underlying TDLib errors.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Add daemon lifecycle management system to frontend UI
This implementation integrates the Rust daemon's health monitoring and lifecycle management into the React frontend. Key features include real-time health indicators, automatic start/error recovery, and detailed control panels, enhancing both user experience and operational reliability.
* Enhance daemon health monitoring with detailed logging, event tracking, and state management improvements.
* Add extensive logging for Tauri socket lifecycle and event listeners
This update improves troubleshooting and debugging by adding detailed logs throughout Tauri socket initialization, event listener setup, and error handling processes.
* Define global Tauri interface types in TypeScript
* Fix daemon service management and health communication issues
This comprehensive fix resolves two critical daemon-related issues:
1. **Launchctl "Input/output error" fix**:
- Add intelligent state checking before service operations
- Only load LaunchAgent if not already loaded
- Treat "already running" as success, not failure
- Add helper functions for cross-platform service state detection
- Implement idempotent service start operations
2. **Daemon health communication fix**:
- Add ALPHAHUMAN_DAEMON_INTERNAL environment variable to external service plist
- Force external daemon to use file-based communication (daemon_state.json)
- Implement file watching bridge in main app to emit Tauri events
- Ensure frontend receives proper health updates from external daemon
**Key Changes**:
- Enhanced `start()` function with state checking across all platforms
- Added `is_service_loaded_macos()`, `is_service_enabled_linux()`, `is_task_exists_windows()`
- Modified macOS plist to include `ALPHAHUMAN_DAEMON_INTERNAL=false`
- Added `watch_daemon_health_file()` function for external daemon communication
- Updated daemon mode detection logic for cross-platform consistency
- Added comprehensive logging for service management operations
**Expected Results**:
- No more "Input/output error" when clicking daemon start button
- External daemon status shows "connected" instead of "disconnected"
- Idempotent service operations (safe to run multiple times)
- Single daemon process prevents resource conflicts
- Cross-platform daemon service reliability
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Add `ALPHAHUMAN_DAEMON_INTERNAL` env variable to configuration documentation
---------
Co-authored-by: Claude <noreply@anthropic.com>
* 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>
* ran prettier
* Refactor ESLint configuration to use ES module syntax and enhance TypeScript support
- Converted CommonJS `require` statements to ES module `import` syntax for better compatibility with modern JavaScript.
- Added new paths to ignore in ESLint configuration to exclude additional directories.
- Updated TypeScript file patterns to be more specific, improving linting accuracy.
- Adjusted React hooks rules to allow certain patterns, enhancing flexibility in component design.
These changes improve the maintainability and clarity of the ESLint configuration, aligning it with current best practices.
* Refactor ESLint configuration to use ES module syntax and enhance TypeScript support
- Converted CommonJS `require` statements to ES module `import` syntax for better compatibility with modern JavaScript.
- Added new paths to ignore in ESLint configuration to exclude additional directories.
- Updated TypeScript file patterns to be more specific, improving linting accuracy.
- Introduced new React hooks rules and adjusted existing rules for better adherence to best practices.
- Made minor adjustments to import statements across various files for consistency and clarity.
These changes improve the overall linting setup and ensure better code quality across the project.
* Refactor import statements across multiple files for consistency
- Updated import statements to use TypeScript's `type` syntax for type imports, enhancing clarity and consistency across the codebase.
- Consolidated imports from the same module into single statements, improving readability and maintainability.
These changes streamline the code structure and align with best practices for TypeScript imports.
* Refactor import statements in memory manager for improved clarity
- Updated import statements to consolidate type imports and enhance readability.
- Removed redundant imports, streamlining the code structure in the memory manager file.
These changes align with best practices for TypeScript imports and improve maintainability.
* Add Husky for pre-commit and pre-push hooks
- Introduced Husky to manage Git hooks, enhancing the development workflow.
- Added pre-commit and pre-push scripts to enforce code formatting and linting checks before commits and pushes.
- Updated package.json to include Husky as a dependency and added a prepare script for setup.
These changes improve code quality and ensure adherence to formatting and linting standards during the development process.
* Refactor import statements for improved clarity and consistency
- Updated import statements across multiple files to consolidate type imports and enhance readability.
- Adjusted the order of imports for better organization and alignment with best practices in TypeScript.
These changes streamline the code structure and improve maintainability throughout the project.
* ran formatter
* Refactor import statements and improve code formatting across multiple files
- Consolidated and reordered import statements for better clarity and consistency in `SkillsGrid.tsx`, `SkillProvider.tsx`, and `index.ts`.
- Enhanced readability by adjusting formatting and removing redundant lines.
- These changes align with best practices for TypeScript imports and improve overall maintainability of the codebase.
* Refactor and optimize code in multiple components
- Removed redundant properties from the `STATUS_DISPLAY` object in `SkillsGrid.tsx` to streamline status handling.
- Consolidated import statements in `SettingsModal.tsx` for improved organization.
- Simplified state management and error handling in `BillingPanel.tsx`, enhancing performance and readability.
- Added `REHYDRATE` import to `index.ts` for better state persistence management.
These changes improve code clarity, maintainability, and align with best practices in TypeScript development.
* Consolidate import statements in SettingsModal.tsx for improved organization
* Add Prettier and ESLint checks to typecheck workflow
- Integrated a Prettier formatting check to ensure code style consistency.
- Added an ESLint step to enforce code quality and catch potential issues.
- These enhancements improve the development workflow by automating formatting and linting checks during the typecheck process.
* Add activeSkillDescription state to ConnectionsPanel and ConnectStep
- Introduced activeSkillDescription state in both ConnectionsPanel and ConnectStep components to store and manage skill descriptions.
- Updated the SkillSetupModal to accept skillDescription as a prop, enhancing the modal's functionality and data handling.
These changes improve the user experience by providing more detailed information about skills during the connection setup process.
* Enhance pre-push hook to include TypeScript compile check
- Added a TypeScript compile check to the pre-push script, ensuring that code compiles successfully before pushing.
- Updated error handling to include compile errors alongside formatting and linting issues, providing clearer feedback to developers.
These changes improve the reliability of the codebase by preventing non-compiling code from being pushed.
* Update GitHub workflows for pull request handling and publishing logic
- Modified the package-and-publish workflow to support pull request events, ensuring proper handling of branches.
- Adjusted the SHOULD_PUBLISH environment variable to differentiate between pull requests and main branch events.
- Updated the pr-protection workflow to focus solely on the main branch, removing references to the master branch.
These changes enhance the CI/CD process by refining branch handling and improving clarity in workflow conditions.
- Changed all references in documentation and code to reflect the new `alphahuman://` URL scheme for web-to-desktop handoff.
- Updated deep link handling in Tauri configuration, utility functions, and authentication flow to ensure compatibility with the new scheme.
- Enhanced documentation to guide users on the updated authentication process.
This update improves the clarity and functionality of the authentication flow for the desktop application.
- Changed all references of the deep link scheme in documentation and code to `alphahuman://` to align with the new branding.
- Updated the Telegram login flow documentation to reflect the new deep link handling.
- Adjusted various files to ensure consistency in the authentication process across platforms.
This update enhances the clarity and branding of the authentication flow for the desktop application.
- Introduced a new documentation file detailing the Telegram login flow for the desktop client, including system-browser authentication and deep link handling.
- Updated the TelegramLoginButton component to initiate the login process using the backend URL for Tauri desktop applications.
- Enhanced deep link listener to validate incoming URLs and manage session tokens more effectively.
- Refactored utility functions to streamline Tauri environment checks and improve code clarity.
This update improves the onboarding experience for desktop users and provides comprehensive guidance on implementing Telegram login functionality.
- Introduced detailed architecture overview outlining system components and entry points.
- Documented state management using Redux Toolkit and Redux-Persist, including store configuration and slice structures.
- Described services layer architecture, detailing API client, socket service, and MTProto service functionalities.
- Explained the Model Context Protocol (MCP) system, including tool categories and implementation examples.
- Outlined routing structure and page components, emphasizing protected and public routes.
- Organized reusable components by feature, detailing their structure and usage.
- Provided insights into provider management for service lifecycle and shared state.
This documentation enhances understanding of the application's structure and improves onboarding for new developers, ensuring clarity in the system's design and functionality.
Major Features Added:
• Complete glass morphism design with enhanced 16px backdrop blur effects
• Crypto price ticker with animated scrolling and brand colors (BTC/ETH)
• Full navigation system (Dashboard, Portfolio, Chat, Markets) with active states
• Chat interface with sent/received message bubbles and crypto addresses
• All button variants (Primary, Secondary, Success, Danger) with hover animations
• Enhanced form components with focus states and crypto-specific styling
• Status indicators (Online/Offline/Warning) with proper color theming
• Loading states with animated pulse placeholders
• Premium typography system (Inter + JetBrains Mono fonts)
• Sophisticated color palette for crypto/fintech applications
• Custom scrollbar styling and smooth animations throughout
• Mobile-first responsive design with accessibility features
• Complete Tailwind CSS configuration with crypto-optimized utilities
Technical Updates:
• Updated .claude documentation with current implementation status
• Added comprehensive design system documentation
• Configured Tailwind CSS v3 with PostCSS integration
• Enhanced project vision and tech stack documentation
• All builds passing (npm run build + cargo check)
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>