* chore: add Cargo.toml and Cargo.lock for rust-core workspace - Introduced a new workspace for the rust-core module with its own Cargo.toml. - Added Cargo.lock to manage dependencies for the rust-core module. - Updated .gitignore to exclude the target directory generated by Cargo. - Modified GitHub Actions workflow to build from the new rust-core path instead of src-tauri. * feat: enhance memory and authentication models in rust-core - Added new `memory` module to handle persistent memory operations for skills, including methods for storing and querying skill data. - Introduced `models` module with `auth` and `socket` submodules to manage user session and socket connection states. - Updated `lib.rs` to include new modules and ensure proper integration within the rust-core workspace. - Modified `eslint.config.js` to ignore target directories in linting processes. * feat: integrate Tauri and QuickJS support in rust-core - Added `tauri` and `rquickjs` as optional dependencies in `Cargo.toml` to enable Tauri integration and JavaScript execution. - Introduced `CronScheduler` and `PingScheduler` modules for managing scheduled tasks and health checks for skills. - Implemented `MemoryState` struct for shared app-state management in the memory client. - Updated the runtime module to include new schedulers and ensure proper integration with Tauri features. - Enhanced the skill registry to support new functionalities related to skill management and communication. * chore: update ESLint configuration and refactor Rust module imports - Added 'rust-core/**' to ESLint ignore list to streamline linting processes. - Refactored import paths in Rust modules to directly reference the `memory` module, enhancing clarity and maintainability. - Improved formatting in JavaScript files for better readability and consistency. * refactor: rename rust-core to openhuman-core and update dependencies - Renamed the `rust-core` module to `openhuman-core` across all files for consistency. - Updated `Cargo.lock` to include `openhuman-core` as a new dependency and removed `rust-core`. - Adjusted import paths in the codebase to reflect the new module name, ensuring all references are updated. - Enhanced the Tauri integration by modifying dependencies in `src-tauri/Cargo.toml` to point to `openhuman-core`. * refactor: simplify platform detection using match statements - Replaced multiple if-else statements with match expressions in `current_platform`, `get_platform`, and `register` functions for improved readability and maintainability. - Removed unnecessary conditional compilation for Android and iOS in the `SocketManager` and `tauri_bridge` modules, streamlining the codebase. - Enhanced the `send_notification` function to handle platform checks more efficiently. * refactor: update platform detection to use std::env::consts - Replaced `cfg!(target_os = "os_name")` checks with `std::env::consts::OS` for improved clarity and consistency across the codebase. - Added `rppal` as an optional dependency in `Cargo.toml` for Raspberry Pi support. - Cleaned up platform-specific code in various modules, enhancing maintainability. * refactor: streamline platform-specific code and improve readability - Replaced conditional compilation with `std::env::consts::OS` checks in various modules to enhance clarity and maintainability. - Simplified platform detection logic in `available_disk_space_mb`, `ensure_arduino_cli`, and `open_in_brave` functions. - Updated `screenshot_command_exists` test to conditionally skip based on the operating system. - Cleaned up unnecessary `#[cfg]` attributes, focusing on a more consistent approach across the codebase. * feat: introduce comprehensive AI configuration and memory management - Added multiple configuration files for OpenHuman AI, including `AGENTS.md`, `BOOTSTRAP.md`, `CONSCIOUS_LOOP.md`, `IDENTITY.md`, `MEMORY.md`, `README.md`, `SOUL.md`, `TOOLS.md`, and `USER.md` to define agent roles, onboarding processes, identity, memory management, and tool capabilities. - Implemented an encryption layer for AI memory storage in `encryption.rs`, utilizing AES-256-GCM for secure data handling. - Updated `lib.rs` to include the new AI module structure, enhancing the overall architecture and maintainability of the codebase. * refactor: update dependencies and configuration for improved structure - Removed `android_logger` and related packages from `Cargo.lock` and `Cargo.toml`, streamlining the dependency list. - Adjusted the `APP_IDENTIFIER` constant in `config.rs` to reflect the new application identifier. - Updated resource paths in `tauri.conf.json` for better organization. - Enhanced platform-specific dependency management in `Cargo.toml` for clarity and maintainability. * fix(core): gate ai module behind tauri-host feature * refactor: update AI loading mechanisms and improve platform handling - Refactored the AI configuration loading in `loader.ts` and `tools/loader.ts` to utilize Tauri commands for desktop environments, enhancing performance and reliability. - Updated paths for AI markdown files to reflect the new `rust-core` structure. - Introduced a new end-to-end test for Tauri command interactions in `tauriCoreBridge.e2e.test.ts`. - Cleaned up platform-specific code across various modules, ensuring a more consistent approach to handling desktop and web contexts. * feat: add sidecar core binary build and staging for Tauri bundler - Implemented build steps for the sidecar core binary in multiple workflows, targeting both x86_64-unknown-linux-gnu and aarch64-apple-darwin architectures. - Added staging steps to copy the built binaries into the Tauri resources directory, ensuring proper integration for application bundling. - Updated relevant workflows to enhance the build process and streamline artifact management. * refactor: enhance AI loading logic for Tauri integration - Updated `loader.ts` and `tools/loader.ts` to prioritize Tauri commands for loading configurations in desktop environments, with a fallback to bundled markdown files for web contexts. - Adjusted test mocks to reflect the new file paths for tools markdown. - Improved test setup to mock Tauri API behavior accurately. * docs: update CLAUDE.md and remove Android build scripts from package.json - Added a new section in CLAUDE.md detailing the runtime scope, clarifying that Tauri is desktop-only and should not include mobile or web branches. - Removed Android development and build scripts from package.json to streamline the project for desktop platforms only. * refactor: streamline import statements and enhance test mock structure - Reordered import statements in `loader.ts` and `tools/loader.ts` for consistency. - Simplified mock implementation in `tauriCoreBridge.e2e.test.ts` to improve readability and maintainability. - Added external binary configuration in `build.rs` to support resource management during local builds. * test: stabilize core/unit test paths and tauri build-test config * chore: update subproject commit reference in skills * chore: update Tauri build configuration to include custom environment variable - Modified the Tauri build command in the GitHub Actions workflow to set a custom configuration for updater artifacts, enhancing the build process for the x86_64-unknown-linux-gnu target.
OpenHuman AI Configuration
This directory contains the AI configuration files that define OpenHuman's personality, behavior, and capabilities. These files follow the OpenClaw framework pattern for AI agent configuration.
📁 Configuration Files
SOUL.md ✅ Active
Defines OpenHuman's personality, communication style, and behavioral patterns. This is the core file that shapes how the AI interacts with users.
- Status: Fully implemented with human, vibrant personality
- Features: Curious, witty, empathetic, authentic, and optimistic traits
- Usage: Automatically injected into every user message for consistent behavior
TOOLS.md 🚧 TODO
Lists all available tools, integrations, and capabilities that OpenHuman can access and use.
- Should include: Telegram, Discord, MCP tools, Skills system, Platform APIs
- Purpose: Defines what actions OpenHuman can perform
- Usage: Tool discovery and capability awareness
AGENTS.md 🚧 TODO
Defines different agent roles and specializations within the OpenHuman system.
- Should include: Primary agent role, specialized sub-agents, collaboration patterns
- Purpose: Agent coordination and role-based interactions
- Usage: Context switching and task delegation
IDENTITY.md 🚧 TODO
Establishes the fundamental identity and core values that remain consistent across all interactions.
- Should include: Mission, core values, relationship principles, ethical boundaries
- Purpose: Foundational identity that never changes
- Usage: Core personality and value system
USER.md 🚧 TODO
Defines how OpenHuman understands and adapts to different users and contexts.
- Should include: User profiling, personalization strategies, privacy considerations
- Purpose: Contextual adaptation and user-specific customization
- Usage: Personalizing interactions while maintaining consistency
BOOTSTRAP.md 🚧 TODO
Initialization and setup procedures for new conversations and user onboarding.
- Should include: First interaction protocols, onboarding flows, context establishment
- Purpose: Consistent startup and initialization behavior
- Usage: New user experience and conversation setup
MEMORY.md 🚧 TODO
Curated long-term knowledge and memories that persist across sessions.
- Should include: Platform knowledge, successful patterns, user insights, technical knowledge
- Purpose: Continuous learning and knowledge retention
- Usage: Cross-session memory and accumulated wisdom
🔧 Technical Details
How It Works
- SOUL Injection System: Automatically adds SOUL.md content to every user message
- Multi-layer Caching: Memory → localStorage → GitHub → bundled fallback
- OpenClaw Integration: Compatible with existing Rust backend bootstrap system
- Real-time Updates: Changes to files are reflected immediately with cache refresh
File Location Strategy
- Local Development: Files loaded from this
/ai/directory - Production/GitHub: Files can be loaded from remote GitHub repository
- Fallback: Bundled versions ensure system never breaks
- Organized Structure: All AI config in one logical location
Implementation Status
- ✅ SOUL.md: Fully implemented with injection system
- ✅ File Structure: Organized
/ai/directory created - ✅ Caching System: Multi-layer caching with refresh functionality
- ✅ Settings UI: AI Configuration panel for viewing and refreshing
- 🚧 Remaining Files: TODO placeholders created for future implementation
🚀 Usage
Viewing Current Configuration
- Go to Settings → AI Configuration
- View live SOUL personality preview
- Check source (GitHub vs bundled) and last loaded time
- Use "Refresh SOUL Configuration" to load latest changes
Editing AI Behavior
- Edit SOUL.md to change personality and communication style
- Refresh in Settings panel to load changes immediately
- Test in conversations to see new behavior
- Iterate until personality feels right
Future Development
- Fill in TODO files with specific configuration content
- Extend loader system to support all bootstrap files
- Add UI controls for editing and managing each file
- Implement cross-file coordination and consistency checks
📚 Documentation
- OpenClaw Framework: See Rust backend
src-tauri/src/openhuman/channels/prompt.rs - SOUL Injection: See
src/lib/ai/soul/for implementation details - Settings UI: See
src/components/settings/panels/AIPanel.tsx - Message Flow: See conversation injection in
src/pages/Conversations.tsx
Note: This is a living configuration system. As OpenHuman evolves, these files will be expanded and refined to create an increasingly sophisticated and helpful AI assistant.