agentscope-ai / agentscope-ai/QwenPaw
[Feature]: 全局快捷键唤出浮动快速输入框(豆包式)
- Lingua principale
- TypeScript
- Stelle
- 35k
- Fork
- 3.1k
- Merge medio
- 1g 13h
- PR unite (30g)
- 228
Descrizione
## 需求 / 场景
希望 QwenPaw 桌面端支持**全局快捷键**(如 macOS `Option+Space`、Windows/Linux `Alt+Space`)唤出一个**屏幕中央的小型浮动输入框**,用户可直接输入问题发给 agent,类似豆包 / Raycast 的快速唤起体验。
当前桌面端只能通过点击托盘 / Dock 图标唤起**整个主窗口**(1280×800)。对于"随手问一句"这种轻量场景太重——需要切到应用、等主窗口加载、再输入。一个置顶的迷你输入框能显著降低随手提问的摩擦。
## 当前现状(已核查代码)
- `console/src-tauri/Cargo.toml` 没有 `tauri-plugin-global-shortcut`(无法注册全局热键)
- `console/src-tauri/tauri.conf.json` 只定义一个主窗口,没有第二 / 置顶 / 透明窗
- Rust(`console/src-tauri/src/`)里没有 `WebviewWindowBuilder` / `always_on_top` / `globalShortcut`
- 现有"唤起"只有托盘图标 `show_main_window`(显示完整主窗口)
## 建议方案(Tauri 技术草图)
1. `Cargo.toml` 加 `tauri-plugin-global-shortcut`,并在 `capabilities` 授权
2. Rust `setup` 里注册热键(macOS `Option+Space`、Win/Linux `Alt+Space`)
3. `WebviewWindowBuilder` 建第二个窗(label 如 `quick-input`):`always_on_top(true)` + `decorations(false)` + `transparent(true)` + 居中 + 初始隐藏
4. 热键 → toggle 显示 / 隐藏 + 居中 + 聚焦输入框
5. 前端加一个极简路由:单输入框 → 调用现有 agent API 发送;回复可在浮动窗内流式展示,或点击展开到主窗口
## 想对齐的几个点
- 维护者是否采纳这个方向?是否已有类似规划?
- 热键选哪个?`Option+Space`(macOS)/ `Alt+Space`(Win/Linux)可能与系统或其他应用冲突,建议可配置或选一个安全默认
- 范围:仅桌面端(Tauri),Web 控制台不做?我倾向只做桌面端
- 回复展示:浮动窗内流式回复,还是只发不回显、把会话丢到主窗口继续?
## 我能贡献的
若方向认可,我可以实现这个 feature(Rust 热键 + 第二窗 + 前端极简输入路由)。
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Start by reading console/src-tauri/Cargo.toml, tauri.conf.json, the Rust files under console/src-tauri/src/, and the existing show_main_window tray flow. Confirm the global-shortcut permissions and decide the default or configurable hotkey, quick-input reply behavior, and desktop-only scope with maintainers. Done means the agreed shortcut reliably toggles a centered floating input window and sends through the existing agent API.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- rust, tauri
- Ambito
- desktop
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Tranquilla
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 38/100