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
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:
64
README.md
64
README.md
@@ -9,21 +9,24 @@ A smart, AI-powered note-taking app. Like Google Keep, but with notebooks, seman
|
||||
## Features
|
||||
|
||||
**Notes & Organization**
|
||||
- Text, checklist, and Markdown notes (with LaTeX/KaTeX)
|
||||
- Rich text (Notion-like), checklist, Markdown, and plain text notes
|
||||
- Notebooks with contextual labels
|
||||
- Responsive masonry grid with drag-and-drop
|
||||
- Responsive masonry grid and tabs (OneNote-style) view
|
||||
- Image upload, note sharing, archive, and trash
|
||||
- 10 pastel color themes + dark mode
|
||||
- Note history with version restore
|
||||
- Drag-and-drop card reordering
|
||||
|
||||
**AI & Automation**
|
||||
- Semantic search powered by embeddings
|
||||
- Auto-generated tags and title suggestions
|
||||
- Configurable AI agents with custom instructions
|
||||
- Configurable AI agents with custom instructions and scheduling
|
||||
- Persistent AI chat conversations
|
||||
- Memory Echo - discover hidden connections between notes
|
||||
- Batch auto-organization and smart labels
|
||||
- AI-generated notebook summaries
|
||||
- Visual workflow builder
|
||||
- In-app notifications for agent results
|
||||
|
||||
**Integrations**
|
||||
- MCP Server with **22 tools** - connect Claude Desktop, N8N, or any MCP client
|
||||
@@ -44,30 +47,48 @@ A smart, AI-powered note-taking app. Like Google Keep, but with notebooks, seman
|
||||
|
||||
### Docker (recommended)
|
||||
|
||||
The interactive deploy script handles everything - environment config, container build, and startup:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/yourusername/Momento.git
|
||||
cd Momento
|
||||
|
||||
cp .env.docker.example .env.docker
|
||||
# macOS / Linux
|
||||
./scripts/deploy-docker.sh
|
||||
|
||||
# Edit these two required values:
|
||||
# NEXTAUTH_URL="http://YOUR_SERVER_IP:3000"
|
||||
# NEXTAUTH_SECRET="generate-with: openssl rand -base64 32"
|
||||
|
||||
docker compose up -d
|
||||
# Windows PowerShell
|
||||
.\scripts\deploy-docker.ps1
|
||||
```
|
||||
|
||||
Open `http://localhost:3000` - the first registered user becomes admin.
|
||||
The script will ask for your `ADMIN_EMAIL` (the first user registered with this email gets ADMIN role), AI provider, and other settings. It auto-generates secrets.
|
||||
|
||||
Or manually:
|
||||
|
||||
```bash
|
||||
cp .env.docker.example .env.docker
|
||||
# Edit .env.docker: set NEXTAUTH_URL, NEXTAUTH_SECRET, and ADMIN_EMAIL
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
### Local Development
|
||||
|
||||
```bash
|
||||
git clone https://github.com/yourusername/Momento.git
|
||||
cd Momento
|
||||
|
||||
# macOS / Linux
|
||||
./scripts/deploy-local.sh
|
||||
|
||||
# Windows PowerShell
|
||||
.\scripts\deploy-local.ps1
|
||||
```
|
||||
|
||||
Or manually:
|
||||
|
||||
```bash
|
||||
cd Momento/memento-note
|
||||
|
||||
cp .env.example .env
|
||||
# Edit .env with your DATABASE_URL, NEXTAUTH_SECRET, etc.
|
||||
|
||||
# Edit .env with your DATABASE_URL, NEXTAUTH_SECRET, ADMIN_EMAIL, etc.
|
||||
npm install --legacy-peer-deps
|
||||
npx prisma migrate dev
|
||||
npm run dev
|
||||
@@ -77,13 +98,18 @@ npm run dev
|
||||
|
||||
## AI Providers
|
||||
|
||||
Memento supports three AI providers, configurable independently for tags, embeddings, and chat:
|
||||
Memento supports 8 AI providers, configurable independently for tags, embeddings, and chat:
|
||||
|
||||
| Provider | Type | Setup |
|
||||
|----------|------|-------|
|
||||
| **Ollama** | Local, free | `docker compose --profile ollama up -d` |
|
||||
| **OpenAI** | Cloud, paid | Set `OPENAI_API_KEY` |
|
||||
| **Custom** | OpenRouter, Groq, Together, Mistral... | Set `CUSTOM_OPENAI_API_KEY` + `CUSTOM_OPENAI_BASE_URL` |
|
||||
| **DeepSeek** | Cloud, paid | Set `DEEPSEEK_API_KEY` |
|
||||
| **OpenRouter** | Cloud, paid | Set `OPENROUTER_API_KEY` |
|
||||
| **Mistral AI** | Cloud, paid | Set `MISTRAL_API_KEY` |
|
||||
| **Z.AI** | Cloud, paid | Set `ZAI_API_KEY` |
|
||||
| **LM Studio** | Local, free | Set `LMSTUDIO_BASE_URL` |
|
||||
| **Custom** | Any OpenAI-compatible API | Set base URL + API key |
|
||||
|
||||
Example for Ollama:
|
||||
```bash
|
||||
@@ -129,7 +155,7 @@ For N8N or HTTP clients, use Streamable HTTP mode: `http://localhost:3001/mcp` w
|
||||
| Styling | Tailwind CSS 4, shadcn/ui |
|
||||
| Database | PostgreSQL 16, Prisma ORM 5 |
|
||||
| Auth | NextAuth.js v5 |
|
||||
| AI | Vercel AI SDK (OpenAI, Ollama, Custom) |
|
||||
| AI | Vercel AI SDK (OpenAI, Ollama, DeepSeek, OpenRouter, Mistral, Z.AI, LM Studio) |
|
||||
| MCP | @modelcontextprotocol/sdk |
|
||||
| Email | Nodemailer (SMTP) / Resend |
|
||||
|
||||
@@ -147,6 +173,11 @@ For the complete installation, deployment, and configuration guide, see **[GUIDE
|
||||
Momento/
|
||||
├── docker-compose.yml # Multi-container orchestration
|
||||
├── .env.docker.example # Docker environment template
|
||||
├── scripts/ # Deployment scripts
|
||||
│ ├── deploy-docker.sh # Docker deploy (macOS/Linux)
|
||||
│ ├── deploy-local.sh # Local deploy (macOS/Linux)
|
||||
│ ├── deploy-docker.ps1 # Docker deploy (Windows)
|
||||
│ └── deploy-local.ps1 # Local deploy (Windows)
|
||||
├── memento-note/ # Next.js application
|
||||
│ ├── app/ # App Router (pages, actions, API)
|
||||
│ ├── components/ # React UI components
|
||||
@@ -173,6 +204,7 @@ See [.env.docker.example](.env.docker.example) for the complete list. Key variab
|
||||
|----------|----------|-------------|
|
||||
| `NEXTAUTH_URL` | Yes | Public URL of the app |
|
||||
| `NEXTAUTH_SECRET` | Yes | JWT secret (`openssl rand -base64 32`) |
|
||||
| `ADMIN_EMAIL` | Yes | Email that automatically gets ADMIN role on registration |
|
||||
| `POSTGRES_PASSWORD` | Rec. | PostgreSQL password (default: `memento`) |
|
||||
| `AI_PROVIDER_TAGS` | No | AI provider for tags: `ollama`, `openai`, `custom` |
|
||||
| `OPENAI_API_KEY` | If OpenAI | Your OpenAI API key |
|
||||
|
||||
Reference in New Issue
Block a user