Skip to content

feat(desktop): quick-ask panel with prompt picker and paste-back#1031

Merged
MODSetter merged 39 commits intoMODSetter:devfrom
CREDO23:electon-desktop
Mar 29, 2026
Merged

feat(desktop): quick-ask panel with prompt picker and paste-back#1031
MODSetter merged 39 commits intoMODSetter:devfrom
CREDO23:electon-desktop

Conversation

@CREDO23
Copy link
Copy Markdown
Contributor

@CREDO23 CREDO23 commented Mar 29, 2026

Summary

  • Add quick-ask floating panel triggered by Cmd+Option+S — captures clipboard, shows prompt picker, sends to chat, and pastes back transformed text
  • Add custom prompts CRUD (backend model + migration + API routes + settings UI)
  • Add / prompt picker in the chat composer for all users (web + desktop)

Test plan

  • Trigger quick-ask shortcut with text in clipboard
  • Select a prompt from the picker — verify it sends and pastes back
  • Dismiss clipboard chip — verify composer returns to normal
  • Use / in composer on web — verify prompt picker works
  • Create, edit, delete custom prompts in settings

High-level PR Summary

This PR introduces a quick-ask desktop feature triggered by Cmd+Option+S that 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
Order File Path
1 surfsense_backend/alembic/versions/109_add_prompts_table.py
2 surfsense_backend/app/db.py
3 surfsense_backend/app/schemas/prompts.py
4 surfsense_backend/app/routes/prompts_routes.py
5 surfsense_backend/app/routes/__init__.py
6 surfsense_web/contracts/types/prompts.types.ts
7 surfsense_web/lib/apis/prompts-api.service.ts
8 surfsense_web/app/dashboard/[search_space_id]/user-settings/components/PromptsContent.tsx
9 surfsense_web/components/settings/user-settings-dialog.tsx
10 surfsense_web/components/new-chat/prompt-picker.tsx
11 surfsense_web/components/assistant-ui/inline-mention-editor.tsx
12 surfsense_web/components/assistant-ui/thread.tsx
13 surfsense_web/components/assistant-ui/assistant-message.tsx
14 surfsense_desktop/src/ipc/channels.ts
15 surfsense_desktop/src/modules/platform.ts
16 surfsense_desktop/src/modules/quick-ask.ts
17 surfsense_desktop/src/preload.ts
18 surfsense_web/types/window.d.ts
19 surfsense_web/app/dashboard/page.tsx
20 surfsense_web/app/dashboard/[search_space_id]/new-chat/[[...chat_id]]/page.tsx

Need help? Join our Discord

Analyze latest changes

CREDO23 added 30 commits March 26, 2026 20:06
@vercel
Copy link
Copy Markdown

vercel bot commented Mar 29, 2026

@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.

Copy link
Copy Markdown

@recurseml recurseml bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

@CREDO23 CREDO23 requested a review from MODSetter March 29, 2026 06:14
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@CREDO23 It should be no 111

@MODSetter MODSetter merged commit 3d74cca into MODSetter:dev Mar 29, 2026
4 of 8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants