mirror of
https://github.com/karakeep-app/karakeep.git
synced 2026-04-26 00:16:03 +03:00
Closed
opened 2026-03-02 11:47:47 +03:00 by kerem
·
16 comments
No Branch/Tag specified
main
refactor/use-npm-singlefile
onetab
claude/issue-2596-20260321-1401
claude/fix-docs-button-responsive-V3aBQ
claude/review-import-backpressure-D4ArJ
claude/fix-archived-bookmarks-mobile-P9OJW
claude/issue-1189-20260211-1601
claude/fix-nested-smart-lists-3uFkt
claude/issue-2298-20251223-1704
feat/import-v3
claude/add-cli-search-subcommand-6kIe0
claude/add-bookmark-indexing-timestamps-96bPj
claude/auto-disable-failing-feeds-fkDhP
claude/add-tag-search-aliases-HzESD
feat/docker-compose-dev
claude/add-attachedby-tags-endpoint-01WYfemMGHJJjXsPYLvUJAno
claude/fix-crawler-memory-leaks-NE7Ct
bookmark-debugger
claude/issue-2352-20260106-1120
claude/issue-1977-20260102-2348
claude/add-banner-rendering-JeLUk
claude/add-descendant-qualifier-cUm26
claude/skip-metadata-refresh-archives-CAo4Y
claude/fix-archive-pending-banner-pAyGM
claude/add-embeddings-support-h2swV
claude/nested-manage-lists-QVV85
claude/privacy-type-system-MG1bT
claude/add-action-menu-icons-6hNKw
claude/issue-2299-20251223-1711
claude/bookmark-indexing-progress-QwZSI
claude/migrate-bookmark-attachments-3O2te
claude/add-2025-wrapped-feature-tIUIh
claude/improve-ai-settings-design-639tq
claude/add-youtube-metascraper-plugin-0lWC7
claude/add-problem-reporting-gSSEV
claude/add-mobile-list-menus-spcS7
claude/shadcn-bookmark-cards-WWHzP
claude/add-extensions-link-HTeXc
claude/add-onboarding-screens-hsYMO
claude/fix-settings-switch-overflow-nlzM4
claude/clamp-bookmark-titles-diAEz
claude/port-stats-mobile-expo-MuXAn
claude/whats-new-base-version-vrv8C
claude/fix-settings-auth-checks-jgyD8
claude/add-server-version-display-3sGa2
claude/fix-tag-editor-scrolling-rzdbG
claude/add-company-pricing-card-y5mHY
claude/audit-optimize-transactions-xpDVc
codex/ensure-consistent-ui-experience-across-app-pages
claude/plan-opentelemetry-integration-01Jx183mz1Ev8h8JoYj97Auw
libsql
db-indicies
claude/export-import-lists-01UuCWwdaqduAd35NppvjnMD
claude/configurable-worker-timeout-0198GQh6YrrRzqG62xnogyrz
claude/check-import-quota-01CPdxTpHp18Ba62bYcBTVbA
claude/scraper-worker-thread-01FEHen6MGrQHmdBstJSuiyA
claude/customize-dialog-styling-01CVjEv2KgyZJSpCg3mqkvR7
claude/add-asset-cache-headers-0175WhNcqwiwurrmjj52jnLT
claude/add-db-search-plugin-017Xxd4Jq3MfjWT788vgfbaq
benchmarks-2
claude/add-filtered-deletion-01DTxWNcg3hhqdNpeNLa3s6L
claude/actionbutton-loading-spinner-015DY5ZTvgPgFAXTZz3UGaYv
claude/add-broken-links-qualifier-01S31X1LsKiYb9gE1dXTKvi3
claude/docker-release-tag-trigger-01UmzFXEumhK2jdmRGtMcueo
claude/spread-feed-fetch-scheduling-01EihUtmZSyqeE1HfRMessxW
restate-idempotency
claude/align-android-ios-colors-01GJfkhEyZVBReohVioPa8ok
claude/improve-mobile-app-colors-0155LzHfkd5HyJr6YyZMsus5
codex/add-autocomplete-for-search-query-language
claude/add-bookmark-backups-016L2A8Z94n7tDgDdMPdFuAd
claude/restrict-binary-user-permissions-01FSGyy2RXGZvE26YbAejzGi
effect-ts
claude/prepare-trpc-npm-publish-0193EjfwpxSNVNcLXqXjs6Ln
shared-list-sidebar
claude/lazy-load-tiktoken-017UTNpJPTcMMQvNEBa1aFwo
codex/fix-asset-pre-processing-worker-abort-signals
add-groupid
claude/add-bookmark-list-button-01VF7uXYNLsVDzqdozWMXP5M
claude/extract-shared-ui-components-01DSVfaCr6WRqAyx1vJTZk9r
claude/migrate-shadcn-sidebar-01DKjpg9MD5PJ2potemSnbvW
claude/add-collaborators-rate-limits-01VjXyRWWPUkGQKa8d8D8qKj
claude/modernize-dark-mode-01FRfE81PAY5C44pFu1cYocf
claude/add-signed-url-bookmark-01PjYT1ZhvLK2FPJNTAhJsWf
restate-group-id
claude/add-highlights-page-012vhHpn8fVNp3gf7gBeW14s
claude/disable-shared-bookmark-features-01B9fiGUdu6NyWaxSQFsQBxP
claude/mobile-bookmark-grid-layouts-018cGBBMhPJVq6PJVRBpqT2r
claude/add-mobile-bookmark-summary-01494LYoh4sJW5Fj4GPm62Vj
claude/add-mobile-tags-screen-01WRADt4ZzvXVew1Y9vqF8SV
claude/add-highlight-notes-01LpanRLS4a2YMnT1qB5GTqX
claude/add-search-bar-014k2ngaqjwYRVSvqmbuECqr
claude/hide-collaborator-emails-01TQrkkMupC7CR9BTuDkireg
claude/list-invitation-approval-0129V89M1riXW6JqmoF74VfM
claude/add-bookmark-archive-sort-018VbGPGvtmsGgXFEERoAX7B
claude/add-mobile-smart-lists-01251tYo9u1SywE6XFezAv9e
claude/bookmark-drag-drop-01DmWq286ogHpDGHKcXjKr3z
claude/add-rss-import-01DH1Q2axcDeq8nQJR5MWjPJ
claude/mobile-inapp-browser-auth-01KiT6bwyntRPQ1X4oTtAveC
claude/offline-mode-react-query-01D1rE2bdBEPw2teGqunr5Gd
claude/add-singlefile-extension-support-01BEB9QQZABzwfZDvR9Bz5b2
claude/custom-list-slugs-01VxcfkNUXZ97FNpNVURopMq
claude/issue-2148-20251118-1133
claude/add-groupid-queue-fairness-011CV1r8Wb46HuGAg5o95i3m
claude/hide-viewer-shared-lists-01Fst6NBvdxrXXnDhUmjsNDP
claude/collaborative-lists-013AvDvMqkoszDVcSoCYgBcM
claude/implement-feature-01LT5XzGsbEhZkYXNEjEwdui
claude/fix-bookmark-loading-state-01AgF4H2drxwuTCJDB2Xgiu4
claude/admin-user-edit-013tbiRmb1KX2fhSYqmGKCu8
claude/expose-all-api-01YTruEW72WQYMtq4iZoaPkA
claude/add-doc-link-main-016NYLxShpKuH6R8XCBgeZtc
claude/fix-issue-2133-019JLvdSRAUbU4FtjQztcM6S
claude/explore-effect-ts-integration-01F7xb1dWwP1ma4LnLbFGfDD
claude/optimize-dockerfile-build-011CV5gDnPZbdbbVSPDofC4e
claude/add-custom-headers-guide-011CV249t16aWDRb1mCrzQdC
claude/mobile-app-signup-011CUxPtCXgU6U3T8GShTR2Q
claude/crawler-worker-fetch-browser-011CUvcRc24XEr9DTWDW6MX8
claude/fix-issue-784-011CUvubQrcZHG9S3KjpCKbK
codex/add-user-settings-for-inference-language-and-screenshots
claude/fix-mobile-signin-server-address-011CUnaUWwY2Fhq5Xbwhgr8H
better-auth-2
claude/issue-2028-20251012-1429
claude/issue-1010-20251012-1154
codex/update-feed-refresh-job-idempotency-key
restate
import-v2
fix-public-lists
recurse-delete-list
abort-dangling-processing
tag-pagination
ratelimit-plugin
claude/issue-1937-20250914-0912
codex/implement-title-search-query-qualifier
copilot/add-edit-button-for-notes
cookie-path
ai-tag-cleanup
codex/add-allowlist-and-blocklist-env-variables
mobile-retheme
expo-next-upgrade
opencode/issue1788-20250727215611
fix-trailing-slash-deduplication
edit-bookmark-dialog
bookmark-embeddings
rag
nextjs-15
bookmark-hover-bar
sapling-pr-archive-MohamedBassem
track-bookmark-assets
json-cli
admin-settings
mobile-dark-mode
android/v1.9.2-0
ios/v1.9.1-1
android/v1.9.1-0
ios/v1.9.1-0
ios/v1.9.0-2
ios/v1.9.0-1
android/v1.9.0-1
extension/v1.2.9
cli/v0.31.0
sdk/v0.31.0
mcp/v0.31.0
android/v1.9.0-0
ios/v1.9.0-0
v0.31.0
android/v1.8.5-0
cli/v0.30.0
sdk/v0.30.0
ios/v1.8.4-0
android/v1.8.4-0
v0.30.0
cli/v0.29.1
v0.29.3
v0.29.2
v0.29.1
sdk/v0.29.0
cli/v0.29.0
mcp/v0.29.0
ios/v1.8.3-0
android/v1.8.3-0
extension/v1.2.8
v0.29.0
android/v1.8.2-2
android/v1.8.2-1
ios/v1.8.2-0
android/v1.8.2-0
extension/v1.2.7
android/v1.8.1-0
ios/v1.8.1-0
v0.28.0
cli/v0.27.1
cli/v0.27.0
v0.27.1
sdk/v0.27.0
v0.27.0
android/v1.8.0-1
ios/v1.8.0-1
mcp/v0.26.0
sdk/v0.26.0
v0.26.0
cli/v0.25.0
ios/v1.7.0-1
mcp/v0.25.0
v0.25.0
extension/v1.2.6
ios/v1.7.0-0
android/v1.7.0-0
v0.24.1
v0.24.0
mcp/v0.23.10
mcp/v0.23.9
mcp/v0.23.8
extension/v1.2.5
mcp/v0.23.7
mcp/v0.23.6
mcp/v0.23.5
mcp/v0.23.4
sdk/v0.23.2
cli/v0.23.0
extension/v1.2.4
android/v1.6.9-1
ios/v1.6.9-1
v0.23.2
v0.23.1
sdk/v0.23.0
v0.23.0
ios/v1.6.9-0
sdk/v0.22.0
v0.22.0
android/v1.6.8-0
ios/v1.6.8-0
sdk/v0.21.2
sdk/v0.21.1
sdk/v0.21.0
v0.21.0
cli/v0.20.0
v0.20.0
ios/v1.6.7-4
android/v1.6.7-4
ios/v1.6.7-3
android/v1.6.7-3
android/v1.6.7-2
ios/v1.6.7-2
android/v1.6.7-1
ios/v1.6.7-1
ios/v1.6.7-0
android/v1.6.7-0
v0.19.0
android/v1.6.6-0
android/v1.6.5-0
ios/v1.6.5-0
ios/v1.6.4-0
android/v1.6.4-0
v0.18.0
v0.17.1
v0.17.0
ios/v1.6.3-0
android/v1.6.3-0
extension/v1.2.3
ios/v1.6.2-1
android/v1.6.2-1
ios/v1.6.2-0
android/v1.6.2-0
v0.16.0
ios/v1.6.1-3
android/v1.6.1-3
ios/v1.6.1-2
android/v1.6.1-2
android/v1.6.1-1
ios/v1.6.1-1
android/v1.6.1-0
ios/v1.6.1-0
extension/v1.2.2
android/v1.6.0-1
ios/v1.6.0-1
ios/v1.6.0
android/v1.6.0
cli/v0.13.7
cli/v0.13.6
v0.15.0
cli/v0.13.5
extension/v1.2.1
v0.14.0
cli/v0.13.3
cli/v0.13.2
cli/v0.13.1
cli/v0.13.0
v0.13.1
v0.13.0
mobile-v1.5.0
mobile-v1.4.0
v0.12.2
v0.12.1
v0.12.0
v0.11.1
v0.11.0
v0.10.1
v0.10.0
v0.9.0
v0.8.0
v0.7.0
v0.6.0
v0.5.0
v0.4.1
v.0.4.0
v.0.3.1
v0.3.0
v0.2.2
v0.2.1
v0.2.0
v0.1.0
Labels
Clear labels
Mirrored from GitHub Pull Request
UI/UX
android
bug
dependencies
documentation
documentation
extension
feature request
feature request
good first issue
ios
long-term
performance
pri/high
pri/low
pri/medium
pull-request
Mirrored from GitHub Pull Request
question
status/approved
status/icebox
status/pending_clarification
status/untriaged
No labels
UI/UX
android
bug
dependencies
documentation
documentation
extension
feature request
feature request
good first issue
ios
long-term
performance
pri/high
pri/low
pri/medium
pull-request
question
status/approved
status/icebox
status/pending_clarification
status/untriaged
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".
No due date set.
Dependencies
No dependencies set.
Reference
starred/karakeep#228
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @StackShard on GitHub (Aug 8, 2024).
Original GitHub issue: https://github.com/karakeep-app/karakeep/issues/347
Running LM Studio with the OpenAI compatible API. Connection seems to go through, but Hoarder worker doesn't like the response. Here is the log from Hoarder, then followed by the console in LM Studio. This happens with any attempt to auto-tag. Note that it works perfectly fine against "real" OpenAI API. There's something I need to tweak but I need some direction.
HOARDER LOG: ------------------------------------------
workers-1 | 2024-08-08T15:36:06.816Z error: [inference][17] inference job failed: Error: [inference][17] The model ignored our prompt and didn't respond with the expected JSON: {}. Here's a sneak peak from the response:
json workers-1 | { workers-1 | "tags": workers-1 | 2024-08-08T15:36:07.870Z info: [inference][17] Starting an inference job for bookmark with id "ajd0kzbdznwb18rixelmjy7g" workers-1 | 2024-08-08T15:36:11.540Z error: [inference][17] inference job failed: Error: [inference][17] The model ignored our prompt and didn't respond with the expected JSON: {}. Here's a sneak peak from the response:jsonworkers-1 | {
workers-1 | "tags":
workers-1 | 2024-08-08T15:36:14.690Z info: [search][43] Attempting to index bookmark with id ajd0kzbdznwb18rixelmjy7g ...
LLM RESPONSE: -------------------------------------------
[2024-08-08 11:36:06.939] [INFO] Received POST request to /v1/chat/completions with body: {
"messages": [
{
"role": "system",
"content": "\n\nI'm building a read-it-later app and I need your help with automatic tagging.\nPlease analyze the text between the sentences "CONTENT START HERE" and "CONTENT END HERE" and suggest relevant tags that describe its key themes, topics, and main ideas.\nAim for a variety of tags, including broad categories, specific keywords, and potential sub-genres. The tags language must be english. If it's a famous website\nyou may also include a tag for the website. If the tag is not generic enough, don't include it.\nThe content can include text for cookie consent and privacy policy, ignore those while tagging.\nCONTENT START HERE\n\nURL: https://blackforestindustries.com/collections/vw-manual-shift-knobs/products/gs2-alcantara-vw-audi-manual?variant=14452908032044\nTitle: GS2 Alcantara (VW/Audi Manual)\nDescription: Not to toot our own horn, but we’re pretty sure we’ve just raised the bar when it comes to one of the most frequently touched parts of your car’s interior. This heavyweight shift knob feels like butter in palm of your hand, thanks due to the black alcantara that it’s wrapped in. Weighing in at approximately 205 grams t\nContent: \n \n \n GS2 Alcantara (VW/Audi Manual)\n \n\n \n \n \n \n\n \n \n \n\n\n \n \n \n SKU: GS2SUF\n \n\n \n \n \n \n\n \n \n \n \n \n \n \n \n \n\n \n \n \n\n\n \n \n \n \n Please note that our shift knobs are made-to-order. Due to an increase in shift knob orders, there is currently a 2-3 week lead time depending on the specific vehicle application. Please contact sales@blackforestindustries.com for more information, thank you!\n \n \n\n \n \n \n \nNot to toot our own horn, but we're pretty sure we've just raised the bar when it comes to one of the most frequently touched parts of your car's interior. This heavyweight shift knob feels like butter in palm of your hand, thanks due to the black alcantara that it's wrapped in. Weighing in at approximately 205 grams the added inertial mass makes shifting effort substantially less while speeding up the process at the same time. While we've borrowed inspiration from shift knobs past, we think we've really perfected the proportions this time around- with the 3/4 alcantara to metal ratio. Visually this thing leaves nothing to be desired. The machining is top notch, and the detailed crest coin gives that classy yet sporting look which elevates any interior's level by at least 50 cool points. The included adapter is used to work with just about any VW/Audi shift lever. The knob's adapter is secured using three set screws for all models. You might think that this is a lot of hype for such a little part, but try telling that to us once you've had the chance to hold one of these guys in your hand.\nINCLUDES:\n\nOne heavy weight GS2 shift knob\nOne BFI crest logo coin\nOne adapter for VW / Audi manual selector shaft\nThree set screws\nAllen key for set screws\n\nOPTIONAL ACCESSORIES:\n5-speed pattern coin top\n6-speed pattern coin top\nLOCTITE for set screws\n\n\n \n \n\n \n\nCONTENT END HERE\nYou must respond in JSON with the key "tags" and the value is an array of string tags. \nAim for 3-5 tags. If there are no good tags, leave the array empty.\n"
}
],
"model": "Publisher/Repository/WizardLM-2-7B-abliterated.Q8_0.gguf",
"response_format": {
"type": "json_object"
}
}
[2024-08-08 11:36:10.600] [INFO] [LM STUDIO SERVER] [Publisher/Repository/WizardLM-2-7B-abliterated.Q8_0.gguf] Generated prediction: {
"id": "chatcmpl-u44u7ro6rv9w7kq5jwk2j",
"object": "chat.completion",
"created": 1723131366,
"model": "Publisher/Repository/WizardLM-2-7B-abliterated.Q8_0.gguf",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "
json\n{\n \"tags\": [\n \"Automotive Accessories\",\n \"VW Manual Shift Knob\",\n \"Audi Manual Shift Knob\",\n \"Alcantara Interior\",\n \"Car Parts\"\n ]\n}\n"},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 923,
"completion_tokens": 68,
"total_tokens": 991
}
}
@StackShard commented on GitHub (Aug 8, 2024):
I don't know what the worker is expecting or where to tune the prompt. For example, perhaps need to add something like "respond in RFC8259 compliant JSON"?
@MohamedBassem commented on GitHub (Aug 8, 2024):
The problem is that the response for some weird reasons starts with "json\n". Hoarder expects the response to be purely json which this prefix kinda ruins.
@StackShard commented on GitHub (Aug 8, 2024):
I'm happy to tune the prompt to get what the output needs to be, if you can point me in the direction... and the output standard.
@kamtschatka commented on GitHub (Aug 9, 2024):
https://github.com/hoarder-app/hoarder/blob/main/apps/workers/openaiWorker.ts#L108
@StackShard commented on GitHub (Aug 9, 2024):
Thanks! Now I need to find out how to get in there, but that's on me.
EDIT: docker exec -u 0 -it 40de0bae69c9 /bin/sh
For my container ID anyway. Moving on.
@prabhjotsbhatia-ca commented on GitHub (Sep 27, 2024):
You could perhaps tweak the prompt to add "Only give me the JSON. Do not write anything else."
@DrFrankensteinUK commented on GitHub (Sep 28, 2024):
Hey, I am also looking to mirror what you are doing with LM Studio - I am missing a trick as getting
Unexpected endpoint or method. (POST /v1/api/chat). Returning 200 anywaywhat settings did you use out of interest as can also test along as well.@robvanvolt commented on GitHub (Dec 15, 2024):
I have also tried to get it to work with lm studio.. maybe we could add an open-ai compatible chat endpoint with /v1/chat/completions ?
Ollama
LM Studio
So the only difference here is the url... if we could customize the path (e.g., /v1/chat/completions vs /api/chat) in the settings, I think the problem would be solved.
@robvanvolt commented on GitHub (Jan 8, 2025):
Any news on this?
@joshoram80 commented on GitHub (Jan 15, 2025):
2025-01-15T20:42:16.167Z error: [inference][1135] inference job failed: Error: [inference][1135] The model ignored our prompt and didn't respond with the expected JSON: {"issues":[{"code":"invalid_type","expected":"string","received":"number","path":["tags",3],"message":"Expected string, received number"}],"name":"ZodError"}. Here's a sneak peak from the response: { "tags": [ "P Error: [inference][1135] The model ignored our prompt and didn't respond with the expected JSON: {"issues":[{"code":"invalid_type","expected":"string","received":"number","path":["tags",3],"message":"Expected string, received number"}],"name":"ZodError"}. Here's a sneak peak from the response: { "tags": [ "P at inferTags (/app/apps/workers/openaiWorker.ts:6:4164) at process.processTicksAndRejections (node:internal/process/task_queues:105:5) at async Object.runOpenAI [as run] (/app/apps/workers/openaiWorker.ts:6:6686) at async Runner.runOnce (/app/apps/workers/node_modules/.pnpm/liteque@0.3.0_better-sqlite3@11.3.0/node_modules/liteque/dist/runner.js:2:2578)Is this related? Sometimes i get tags, othertimes i get this error
@kurokuma-lab commented on GitHub (Feb 2, 2025):
I am having the same issue
@porochickenrye commented on GitHub (Mar 2, 2025):
Same error as @joshoram80. I'm using an OpenAI compatible endpoint, which works fine with my OpenWebUI setup.
@MohamedBassem commented on GitHub (Mar 2, 2025):
@porochickenrye the model that you're using is wrapping the output in a markdown block. Try adding a custom instruction in the AI setting instructing the model to output only the json without a markdown code block.
@MohamedBassem commented on GitHub (Mar 2, 2025):
For the people getting a response format error, this has been fixed in the nightly build. If you're still facing problems, please open a new issue.
@porochickenrye commented on GitHub (Mar 2, 2025):
Thanks. Will try that.
Also, I don't see a nightly tag at ghcr. Possible to add it at some point?
@MohamedBassem commented on GitHub (Mar 2, 2025):
@porochickenrye nightly is just called "latest".