feat: 8 AI providers, rich text editor, agent notifications, UI contrast & font settings
All checks were successful
Deploy to Production / Build and Deploy (push) Successful in 1m25s

- Add DeepSeek, OpenRouter, Mistral, Z.AI, LM Studio as AI providers
  with editable model names via Combobox in admin settings
- Fix OpenRouter broken by normalizeProvider bug in config.ts
- Convert agent-created notes from Markdown to HTML (TipTap rich text)
- Add Notification model + in-app notifications for agent results
- Agent notification click opens the created note directly
- Add note count display on notebook and inbox headers
- Fix checklist toggle in card view (persist state via localCheckItems)
- Add checklist creation option in tabs/list view (dropdown on + button)
- Fix image description ENOENT error with HTTP fallback
- Improve UI contrast across all themes (input, border, checkbox visibility)
- Add font family setting (Inter vs System Default) in Appearance settings
- Fix CSS font-sans variable conflict (removed dead Geist references)
- Update README with new features and 8 providers

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Sepehr Ramezani
2026-05-01 16:14:07 +02:00
parent 1345403a31
commit dbd49d6fcb
64 changed files with 4124 additions and 1392 deletions

View File

@@ -144,7 +144,26 @@ Browser -> Next.js App Router
- PostgreSQL 16
- npm
### Steps
### Quick Setup (interactive script)
```bash
git clone https://github.com/votre-user/Momento.git
cd Momento
# macOS / Linux
./scripts/deploy-local.sh
# Windows PowerShell
.\scripts\deploy-local.ps1
```
The script will:
1. Check that Node.js, npm, and PostgreSQL are installed
2. Ask for configuration (database, admin email, AI provider, etc.)
3. Generate `.env` with auto-generated secrets
4. Install dependencies and run database migrations
### Manual Steps
```bash
# 1. Clone the repository
@@ -156,7 +175,7 @@ npm install --legacy-peer-deps
# 3. Configure the environment
cp .env.example .env
# Edit .env with your values (DATABASE_URL, NEXTAUTH_SECRET, etc.)
# Edit .env with your values (DATABASE_URL, NEXTAUTH_SECRET, ADMIN_EMAIL, etc.)
# 4. Create the database and apply migrations
npx prisma migrate dev
@@ -170,15 +189,45 @@ npm run dev
### First Launch
1. Create an account via the registration page
2. The first registered user automatically becomes admin
1. Register an account using the email you set in `ADMIN_EMAIL`
2. That account automatically gets the **ADMIN** role
3. Access the admin panel: `http://localhost:3000/admin/settings`
---
## Docker Deployment
### Quick Start
### Quick Setup (interactive script)
```bash
git clone https://github.com/votre-user/Momento.git
cd Momento
# macOS / Linux
./scripts/deploy-docker.sh
# Windows PowerShell
.\scripts\deploy-docker.ps1
```
The script will:
1. Check Docker and Docker Compose are installed
2. Ask for configuration (URL, admin email, PostgreSQL, AI provider, MCP, email, Ollama, web search)
3. Auto-generate `NEXTAUTH_SECRET` and `POSTGRES_PASSWORD`
4. Build and start all containers
5. Run database migrations
**Deploy script options:**
| Command | Description |
|---------|-------------|
| `./scripts/deploy-docker.sh` | Full setup (env + build + deploy) |
| `./scripts/deploy-docker.sh --env-only` | Generate `.env.docker` only |
| `./scripts/deploy-docker.sh --build` | Build + deploy (requires existing `.env.docker`) |
| `./scripts/deploy-docker.sh --stop` | Stop all containers |
| `./scripts/deploy-docker.sh --logs` | Show container logs |
### Manual Setup
```bash
# 1. Clone the repository
@@ -188,7 +237,7 @@ cd Momento
# 2. Configure the environment
cp .env.docker.example .env.docker
nano .env.docker
# Modify NEXTAUTH_URL and NEXTAUTH_SECRET (required)
# Modify NEXTAUTH_URL, NEXTAUTH_SECRET, and ADMIN_EMAIL (required)
# 3. Start the containers
docker compose up -d
@@ -215,6 +264,7 @@ docker exec memento-ollama ollama pull embeddinggemma
|----------|-------------|
| `NEXTAUTH_URL` | Public URL of the app (e.g., `http://192.168.1.190:3000`) |
| `NEXTAUTH_SECRET` | JWT secret - generate with `openssl rand -base64 32` |
| `ADMIN_EMAIL` | Email that automatically gets ADMIN role on registration |
### Ports Used
@@ -628,7 +678,9 @@ The `SMTP_SECURE` and `SMTP_IGNORE_CERT` settings can be configured from the adm
### Admin Panel
Accessible only to the first registered user (or users with the admin role).
Accessible only to users with the admin role.
The **first user who registers with the email set in `ADMIN_EMAIL`** automatically gets the ADMIN role. Make sure to set this variable in your `.env` or `.env.docker` before deploying.
**URL**: `/admin/settings`
@@ -678,6 +730,14 @@ Accessible only to the first registered user (or users with the admin role).
| `DATABASE_URL` | - | PostgreSQL connection string |
| `NEXTAUTH_SECRET` | - | JWT secret (`openssl rand -base64 32`) |
| `NEXTAUTH_URL` | `http://localhost:3000` | Public URL of the app |
| `ADMIN_EMAIL` | - | Email that automatically gets ADMIN role on registration |
#### Registration & Admin
| Variable | Default | Description |
|----------|---------|-------------|
| `ALLOW_REGISTRATION` | `true` | Allow public registration |
| `ADMIN_EMAIL` | - | Email that gets ADMIN role on registration |
#### PostgreSQL (Docker)
@@ -765,6 +825,37 @@ Accessible only to the first registered user (or users with the admin role).
## Useful Commands
### Deploy Scripts
```bash
# Docker deployment (macOS / Linux)
./scripts/deploy-docker.sh # Full setup (env + build + deploy)
./scripts/deploy-docker.sh --env-only # Generate .env.docker interactively
./scripts/deploy-docker.sh --build # Build + deploy (needs existing .env.docker)
./scripts/deploy-docker.sh --stop # Stop all containers
./scripts/deploy-docker.sh --logs # Show container logs
# Local deployment (macOS / Linux)
./scripts/deploy-local.sh # Full setup (env + install + migrate)
./scripts/deploy-local.sh --env-only # Generate .env interactively
./scripts/deploy-local.sh --start # Start app (dev or prod mode)
./scripts/deploy-local.sh --migrate # Run database migrations
./scripts/deploy-local.sh --install # Install npm dependencies
# Windows PowerShell
.\scripts\deploy-docker.ps1 # Full Docker setup
.\scripts\deploy-docker.ps1 -EnvOnly # Generate .env.docker only
.\scripts\deploy-docker.ps1 -Build # Build + deploy
.\scripts\deploy-docker.ps1 -Stop # Stop containers
.\scripts\deploy-docker.ps1 -Logs # Show logs
.\scripts\deploy-local.ps1 # Full local setup
.\scripts\deploy-local.ps1 -EnvOnly # Generate .env only
.\scripts\deploy-local.ps1 -Start # Start app
.\scripts\deploy-local.ps1 -Migrate # Run migrations
.\scripts\deploy-local.ps1 -Install # Install dependencies
```
### Docker
```bash
@@ -828,7 +919,9 @@ npm start
npm run lint
```
### deploy.sh (Deployment Script)
### deploy.sh (Deployment Script - legacy)
The older `memento-note/deploy.sh` script is still available for the standalone Docker Compose setup:
```bash
cd memento-note