#2189·karakeep

Feature Request: Enhanced Prompt Customization for Advanced Tagging Workflows

Author: DaveG7Created Nov 29, 2025Updated Sep 14, 2026

First, a huge thank you!

Karakeep is an amazing self-hosted service, and the AI tagging integration is genuinely game-changing. The work you and the team put into this is seriously appreciated. Thank you for the excellent open-source work!


Problem Statement

While using Karakeep for consolidating bookmarks with AI tagging, I encountered a limitation with prompt customization that makes it difficult to implement advanced tagging strategies (specifically, tag consolidation and deduplication):

Current Behavior:

  • Base prompts are hardcoded (e.g., "Aim for a variety of tags")
  • Users can only append custom rules (max 500 characters)
  • When custom rules conflict with base prompts, the AI receives contradictory instructions

Example of the conflict:

Base prompt: "Aim for a variety of tags, including broad categories, specific keywords..."

User appends: "Max 4 tags. Reuse existing tags when possible." = Conflicting instructions sent to LLM


Why This Matters

For users implementing tag consolidation strategies (reusing existing tags instead of creating new ones), the current rigid prompts make it impossible to:

  • Enforce strict tag limits
  • Reference existing user tags with semantic similarity checking
  • Override "create variety" behavior with "consolidate effectively" behavior

Suggested Solution

Option 1 (Recommended): Full Prompt Replacement

  • Allow users to completely replace (not just append to) default prompts
  • Increase character limit to 1500-2000 characters (or make it unlimited for power users)
  • Keep sensible defaults, but make them overridable

Option 2: Structured Prompt Templates

  • Provide sections users can override: [instructions], [rules], [examples], [output format]
  • Each section has flexible length
  • System combines them intelligently without conflicts

Use Case

Desired workflow: INFERENCE_TEXT_MODEL: mistral:7b-instruct CUSTOM_TEXT_PROMPT_OVERRIDE: | Max 4 tags. Prioritize reusing from existing tags: {$userTags}. Only create NEW tag if no semantic match (80%+ similarity). Tags: lowercase, spaces only. Broad, not one-off/event-specific. Return JSON: {"tags": [...]}


Current Workaround

Users like myself are having to build n8n/webhook proxies to intercept and replace prompts before sending to Ollama, which defeats the simplicity of self-hosted Karakeep.


Additional Notes

  • The {$userTags} placeholder is excellent and shows the architecture is designed for this
  • The 500-char limit seems arbitrary for a self-hosted, open-source project
  • This would be a game-changer for users implementing advanced tagging strategies

Thank You Again

Thanks for considering this. Karakeep is genuinely fantastic, and this feature would make it even more powerful for self-hosted deployments. Keep up the amazing work!