Alise is a terminal-based AI agent designed to be modular and extensible. It aims to assist with various tasks, including coding, system administration, and more, by leveraging different AI providers and local capabilities.
- Core Agent Logic (
src/core/agent.js):- Supports basic supervised and unsupervised modes (currently placeholders).
- Initializes and manages the agent's lifecycle.
- Memory System (
src/core/memory.js):- Persistent memory using a
memory.jsonfile in the project root. - Stores session data, API keys, and other relevant information.
- Persistent memory using a
- Modular Architecture (
src/core/moduleLoader.js,src/modules/):- A basic module loading system that can load JavaScript modules from the
src/modulesdirectory. - Modules can extend Alise's functionality (demonstrated with
sampleModule.js).
- A basic module loading system that can load JavaScript modules from the
- API Key Management (
src/utils/apiKeyManager.js):- Utilities to add, view (obscured), retrieve, and delete API keys for different AI providers.
- Keys are stored securely using the agent's memory system.
index.js: Main entry point for the application.package.json: Project metadata and dependencies.memory.json: Stores persistent data for the agent (e.g., API keys).src/: Contains the core source code.core/: Core components like the agent logic, memory, and module loader.modules/: Directory for pluggable modules that extend Alise's capabilities.utils/: Utility scripts, such as the API key manager.
Currently, Alise is in its very early stages of development. To run the agent (for development purposes):
- Ensure you have Node.js installed.
- Clone the repository.
- Install dependencies (if any beyond Node.js built-ins are added, e.g.,
npm install). - Run the agent:
node index.js
The index.js file currently contains example code to demonstrate the implemented features.
- Full implementation of supervised and unsupervised modes.
- Integration with AI providers (Anthropic, Google A2A).
- Advanced memory capabilities (e.g., vector stores, RAG).
- Interactive CLI for user interaction.
- Self-improvement capabilities (editing its own code).
- Robust error handling and logging.