FluentCLI Web Services is a platform designed to provide a user-friendly interface for managing and executing FluentCLI commands. It consists of a Rust-based backend, a PostgreSQL database for data storage, and a Tauri-based frontend for both desktop and web applications.
- User-friendly interface: Manage FluentCLI jobs and configurations through an intuitive interface similar to Visual Studio Code.
- Secure data management: Securely store and manage user data, including API keys, Amber Store, and Vault Store.
- Flexible job configuration: Configure jobs with various parameters, including worker type, data path, triggers, and timers.
- Pipeline management: Create and manage pipelines with multiple stages and flags.
- Job monitoring and management: Monitor job status, view logs, and manage running jobs.
- Cross-platform compatibility: Access the platform through a desktop application (built with Tauri) or a web application.
- Chat system: Integrated chat functionality for user communication and AI assistance.
The platform consists of three main components:
- Backend (Rust):
- Web server (Actix Web) handles API requests from the frontend.
- Data access layer (Diesel ORM) interacts with the PostgreSQL database.
- FluentCLI integration executes FluentCLI commands and manages job execution.
- Database (PostgreSQL):
- Stores user data, job configurations, execution history, and chat data.
- Frontend (Tauri):
- User interface built with HTML, CSS, JavaScript, and Vue.js.
- Tauri API enables communication with the backend and access to native desktop features.
- Docker
- Docker Compose
-
Clone the repository:
git clone https://github.com/your-username/fluentcli-web-services.git
-
Build and start the application using Docker Compose:
docker-compose up -d
-
Access the application:
- Desktop application: The Tauri application will be launched automatically.
- Web application: Open your browser and navigate to
http://localhost:1420
.
- Create a user account:
- Use the API endpoint
/users
to create a new user account.
- Use the API endpoint
- Manage API keys:
- Use the API endpoints under
/users/{id}/api_keys
to manage your API keys.
- Use the API endpoints under
- Configure Amber Store and Vault Store:
- Use the API endpoints for Amber Store and Vault Store to manage your secure data.
- Create and manage configurations:
- Use the API endpoints under
/configurations
to create and manage configurations.
- Use the API endpoints under
- Create and manage pipelines:
- Use the API endpoints under
/pipelines
to create and manage pipelines.
- Use the API endpoints under
- Manage Docker files:
- Use the API endpoints under
/docker_files
to manage your Docker files.
- Use the API endpoints under
- Create and manage jobs:
- Use the API endpoints under
/jobs
to create, manage, start, stop, and monitor jobs.
- Use the API endpoints under
- Use the chat system:
- Use the API endpoints under
/chat
to create conversations, send messages, and manage attachments.
- Use the API endpoints under
The chat system provides the following functionality:
- Create and manage conversations
- Send and receive messages within conversations
- Attach files to messages
- Configure and use different LLM (Language Model) providers
- Manage user-specific LLM configurations
To use the chat system, refer to the API documentation for detailed information on the available endpoints and their usage.
To run the tests for the application, use the following command:
./run_tests.sh
This command will execute all the test scripts, including the new chat service tests.
Contributions are welcome! Please see the CONTRIBUTING.md file for guidelines.
This project is licensed under the MIT License - see the LICENSE.md file for details.