feat(desktop): quick-ask panel with prompt picker and paste-back#1031
feat(desktop): quick-ask panel with prompt picker and paste-back#1031MODSetter merged 39 commits intoMODSetter:devfrom
Conversation
|
@CREDO23 is attempting to deploy a commit to the Rohan Verma's projects Team on Vercel. A member of the Team first needs to authorize it. |
There was a problem hiding this comment.
Review by RecurseML
🔍 Review performed on cae4262..b8a1d1f
✨ No bugs found, your code is sparkling clean
✅ Files analyzed, no issues (20)
• surfsense_backend/alembic/versions/109_add_prompts_table.py
• surfsense_backend/app/db.py
• surfsense_backend/app/routes/__init__.py
• surfsense_backend/app/routes/prompts_routes.py
• surfsense_backend/app/schemas/prompts.py
• surfsense_desktop/src/ipc/channels.ts
• surfsense_desktop/src/modules/platform.ts
• surfsense_desktop/src/modules/quick-ask.ts
• surfsense_desktop/src/preload.ts
• surfsense_web/app/dashboard/[search_space_id]/new-chat/[[...chat_id]]/page.tsx
• surfsense_web/app/dashboard/[search_space_id]/user-settings/components/PromptsContent.tsx
• surfsense_web/app/dashboard/page.tsx
• surfsense_web/components/assistant-ui/assistant-message.tsx
• surfsense_web/components/assistant-ui/inline-mention-editor.tsx
• surfsense_web/components/assistant-ui/thread.tsx
• surfsense_web/components/new-chat/prompt-picker.tsx
• surfsense_web/components/settings/user-settings-dialog.tsx
• surfsense_web/contracts/types/prompts.types.ts
• surfsense_web/lib/apis/prompts-api.service.ts
• surfsense_web/types/window.d.ts
Summary
Cmd+Option+S— captures clipboard, shows prompt picker, sends to chat, and pastes back transformed text/prompt picker in the chat composer for all users (web + desktop)Test plan
/in composer on web — verify prompt picker worksHigh-level PR Summary
This PR introduces a quick-ask desktop feature triggered by
Cmd+Option+Sthat captures clipboard text, displays a prompt picker, sends the transformed text to chat, and optionally pastes it back. It also adds a full CRUD system for custom prompts (backend database migration, API routes, and settings UI) and implements a/prompt picker in the chat composer for both web and desktop users. The feature enables users to quickly transform or explore text using predefined or custom prompt templates.⏱️ Estimated Review Time: 30-90 minutes
💡 Review Order Suggestion
surfsense_backend/alembic/versions/109_add_prompts_table.pysurfsense_backend/app/db.pysurfsense_backend/app/schemas/prompts.pysurfsense_backend/app/routes/prompts_routes.pysurfsense_backend/app/routes/__init__.pysurfsense_web/contracts/types/prompts.types.tssurfsense_web/lib/apis/prompts-api.service.tssurfsense_web/app/dashboard/[search_space_id]/user-settings/components/PromptsContent.tsxsurfsense_web/components/settings/user-settings-dialog.tsxsurfsense_web/components/new-chat/prompt-picker.tsxsurfsense_web/components/assistant-ui/inline-mention-editor.tsxsurfsense_web/components/assistant-ui/thread.tsxsurfsense_web/components/assistant-ui/assistant-message.tsxsurfsense_desktop/src/ipc/channels.tssurfsense_desktop/src/modules/platform.tssurfsense_desktop/src/modules/quick-ask.tssurfsense_desktop/src/preload.tssurfsense_web/types/window.d.tssurfsense_web/app/dashboard/page.tsxsurfsense_web/app/dashboard/[search_space_id]/new-chat/[[...chat_id]]/page.tsx