Gumloop v9.9.0 发布 Cmd+K。Changelog 描述为:"A command menu for searching and jumping to agents, chats, and actions, including searching the text inside past conversations."
在此之前,用户导航完全依赖侧栏层级结构:Agents 文件夹 → 点开 → 找到 Agent;Chats 列表 → 滚动 → 找到对话。随着 Agent 和对话数量的增长,这种模式的摩擦指数级增加。
Cmd+K 不是又一个搜索框。在操作系统的设计哲学中,Command Palette 是从「GUI 为主」到「键盘优先混合模式」的关键桥梁——允许熟练用户绕过 GUI 层级,直接通过文本意图到达目标。
| 操作系统概念 | Gumloop 对应 |
|---|---|
| macOS Spotlight(文件/应用/邮件全局搜索) | Cmd+K(Agent/Chat/Action/File 全局搜索) |
| VS Code Command Palette(命令/文件/符号) | Cmd+K 的 Actions 维度 |
| 文件系统全文搜索(grep) | Cmd+K 的对话内容全文搜索 |
| 应用启动器(Alfred/Raycast) | Cmd+K 的快速跳转 |
Cmd+K 将这三者合为一体,成为 Gumloop 平台的统一意图入口。
┌──────────────────────────────────────────────────────────────────────┐ │ Cmd+K 命令面板系统架构 │ │ │ │ 用户交互层 │ │ ┌────────────┐ ┌───────────────┐ ┌───────────────────┐ │ │ │ 快捷键拦截 │───▶│ 搜索框 UI │───▶│ 搜索结果渲染 │ │ │ │ (Cmd+K) │ │ (实时输入) │ │ (分组列表+高亮) │ │ │ └────────────┘ └───────────────┘ └───────────────────┘ │ │ │ │ │ 搜索层 │ │ ┌───────────────────────────▼───────────────────────────────┐ │ │ │ 搜索路由器 │ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ │ │ Agent │ │ Chat │ │ Action │ │ File │ │ │ │ │ │ Index │ │ Index │ │ Index │ │ Index │ │ │ │ │ │ (名称+ │ │ (标题+ │ │ (命令名+ │ │ (文件名+ │ │ │ │ │ │ 描述) │ │ 内容) │ │ 描述) │ │ 内容) │ │ │ │ │ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │ │ │ └───────────────────────────────────────────────────────────┘ │ │ │ │ │ 数据层 │ │ ┌───────────────────────────▼───────────────────────────────┐ │ │ │ 后端搜索 API(/api/search?q=xxx&types=agent,chat,action) │ │ │ │ - 模糊匹配 + 全文搜索 │ │ │ │ - 权限过滤(仅返回用户有权访问的实体) │ │ │ │ - 相关性排序(最近使用/频率/匹配度加权) │ │ │ └───────────────────────────────────────────────────────────┘ │ └──────────────────────────────────────────────────────────────────────┘
| 实体类型 | 搜索维度 | 索引字段 | 引入版本 |
|---|---|---|---|
| Agents | 名称、描述 | Agent name, Agent description | v9.9.0 |
| Chats | 标题、对话内容全文 | Chat title, conversation text | v9.9.0 |
| Actions | 命令名称、描述 | Action name, description | v9.9.0 |
| Files | 文件名、文件内容 | File name, file content | v9.10.0 |
对话内容搜索是 Cmd+K 最独特的能力——用户通过回忆对话中的具体内容(如"上次讨论的数据库迁移方案")定位历史对话,而非仅通过对话标题。
排序算法基于三个维度的加权:
| 操作 | 快捷键 | 说明 |
|---|---|---|
| 打开命令面板 | Cmd+K (Mac) / Ctrl+K (Windows) | 全局页面可用 |
| 关闭命令面板 | Esc | 返回之前页面 |
| 选择结果 | ↑ / ↓ 方向键 | 移动高亮 |
| 确认跳转 | Enter | 跳转到选中目标 |
| ID | 需求 | 优先级 |
|---|---|---|
| FR1.1 | 用户按下 Cmd+K(Mac)或 Ctrl+K(Windows)时,全局呼出搜索面板 | P0 |
| FR1.2 | 搜索面板包含文本输入框,打开时自动获得焦点 | P0 |
| FR1.3 | 支持实时搜索——用户输入时即时显示结果(debounce < 150ms) | P0 |
| FR1.4 | 搜索输入支持中文、英文及混合输入 | P0 |
| FR1.5 | 支持模糊匹配(fuzzy matching)——输入部分关键词即可匹配 | P0 |
| FR1.6 | 支持拼音搜索(中文用户输入拼音匹配中文实体名) | P2 |
| FR1.7 | 搜索框为空时显示最近的/最常用的实体 | P2 |
| ID | 需求 | 优先级 |
|---|---|---|
| FR2.1 | 搜索结果按实体类型分组展示(Agents / Chats / Actions / Files) | P0 |
| FR2.2 | 每组显示实体图标/类型标签以区分 | P0 |
| FR2.3 | 对话内容匹配结果显示匹配片段(snippet),关键词高亮 | P1 |
| FR2.4 | 搜索结果显示元信息(最近使用时间、创建者、所在文件夹) | P1 |
| FR2.5 | 无匹配结果时显示友好的空状态提示 | P1 |
| ID | 需求 | 优先级 |
|---|---|---|
| FR3.1 | 选中结果后按 Enter 跳转到目标页面 | P0 |
| FR3.2 | 方向键 ↑/↓ 在搜索结果间移动高亮 | P0 |
| FR3.3 | 按 Esc 关闭面板,返回打开前的页面状态 | P0 |
| FR3.4 | 跳转后保留浏览器历史记录,支持后退 | P1 |
| FR3.5 | 对于 Chat 内容匹配,跳转时自动滚动到匹配消息位置 | P2 |
| ID | 需求 | 优先级 |
|---|---|---|
| NFR1 | 搜索响应延迟 P50 < 100ms,P95 < 300ms | P0 |
| NFR2 | 面板呼出/关闭动画 < 150ms(无感知延迟) | P1 |
| NFR3 | 搜索结果仅返回用户有权访问的实体(权限过滤) | P0 |
| NFR4 | 搜索应支持至少 10 万条历史对话的索引规模 | P1 |
| NFR5 | 快捷键不应与其他浏览器扩展或系统快捷键冲突导致不可用 | P1 |
用户画像: 陈明,30 岁,技术产品经理。管理 10+ 个 Agent 和 50+ 个历史对话。日常工作涉及在多个 Agent 和对话之间反复跳转。
作为每天都深度使用 Gumloop 的重度用户,当我需要快速打开一个 Agent 或找到一段历史对话时,我按下 Cmd+K、输入几个关键词、按 Enter,1 秒内到达目标。我不需要记忆每个 Agent 在哪个文件夹——我只需要记住关于它的任何一点信息。
验收标准:
用户画像: 王芳,29 岁,市场运营经理。团队 5 人共用多个 Agent,每天产生大量对话。她记得上周团队在某个对话中讨论了"Google Ads 出价策略调整",但不记得具体是哪段对话。
作为市场团队成员,当我需要找到上周关于"Google Ads 出价策略"的讨论时,我按 Cmd+K,输入"出价策略",系统搜索所有历史对话的实际内容,显示包含这些关键词的对话片段。我通过匹配片段确认"就是这段",按 Enter 跳转。
验收标准:
用户画像: 李明,26 岁,新入职的后端开发。团队已使用 Gumloop 3 个月,积累了 200+ 段对话。他需快速了解"支付系统重构"项目的历史讨论。
作为新成员,我不需从 200 段对话中逐个翻找——我按 Cmd+K、搜索"支付系统",系统返回所有标题或内容涉及"支付系统"的 Agents、Chats 和 Files。我可以按时间浏览相关讨论,快速建立项目上下文。
验收标准:
| 竞品 | 功能/行为 | 优势 | 劣势 | 洞察/机会 |
|---|---|---|---|---|
| VS Code Command Palette | Cmd+Shift+P 搜索命令/文件/符号 | 成熟的模糊搜索算法、可扩展(插件注册命令)、20+ 年交互范式积累 | 限于 IDE 场景,不支持对话内容搜索 | 借鉴分组展示 + 最近使用排序 |
| macOS Spotlight | Cmd+Space 搜索文件/应用/邮件/网页 | 系统级集成、即时响应、自然语言查询 | 只能搜索标题和元数据,不支持对话内容级搜索 | Gumloop 的对话内容搜索是 Spotlight 做不到的——Agent 平台特有维度 |
| Cursor/Windsurf AI IDE | Cmd+K 命令面板 + AI 代码生成 | AI 与命令面板深度融合、自然语言描述意图 | 限于代码场景、不能搜索聊天记录 | AI IDE 的「自然语言→命令」范式可迁移:自然语言→Agent 操作 |
| Linear Cmd+K | 搜索 Issues/Projects/Docs + 快速创建 | 极简设计、极速响应、键盘优先级极高 | 限于项目管理领域、搜索维度有限 | "即时创建"模式值得借鉴——在 Cmd+K 中快速创建新 Agent |
| Notion Cmd+P | 搜索页面/数据库/成员 | 跨 workspace 搜索、富文本预览 | 不支持对话内容搜索 | 搜索+快速跳转模型最接近 Gumloop 需求 |
| Raycast / Alfred | 全局应用启动 + 工作流快捷操作 | 生态丰富、可扩展、自定义工作流 | 非 Agent 平台原生、无 Agent 上下文感知 | 如开放扩展 API,Cmd+K 可成为 Agent 平台的"Raycast" |
| ChatGPT / Claude | 侧栏对话列表 + 搜索标题 | 基础搜索可用 | 仅标题搜索、无跨实体维度、无命令/Agent 搜索、无键盘优先设计 | Gumloop 的跨实体+内容级搜索是显著差异化 |
┌─────────────────────────────────────────────────────────────────┐
│ 传统 Command Palette(VS Code 模式) │
│ │
│ 搜索维度:命令 + 文件 + 符号(代码结构) │
│ 数据模型:静态索引(文件名、函数名、命令注册表) │
│ 搜索算法:模糊匹配(fzy/subsequence scoring) │
│ 结果呈现:平铺列表,按匹配分排序 │
│ 交互范式:搜索→选择→执行 │
└─────────────────────────────────────────────────────────────────┘
VS
┌─────────────────────────────────────────────────────────────────┐
│ Gumloop Cmd+K(Agent 平台模式) │
│ │
│ 搜索维度:Agent + Chat + Action + File + 对话全文 │
│ 数据模型:动态索引(实体元数据 + 对话内容 + 文件内容) │
│ 搜索算法:模糊匹配 + 全文搜索 + 语义匹配(未来) │
│ 结果呈现:分组列表 + 内容片段 + 元信息 + 高亮 │
│ 交互范式:搜索→预览→跳转(未来:搜索→执行→确认) │
│ │
│ 新增维度: │
│ ├── 对话内容搜索(文本回忆 → 定位对话) │
│ ├── 跨实体类型(同一搜索词匹配多种资源) │
│ ├── 权限感知(只显示用户有权访问的实体) │
│ └── 上下文感知(根据当前页面调整排序权重) │
└─────────────────────────────────────────────────────────────────┘
| 漏斗阶段 | 事件名称 | 触发条件 | 指标/KPI | 优先级 |
|---|---|---|---|---|
| 曝光 | cmd_k_opened |
用户按下 Cmd+K 打开面板 | 日活跃用户数、人均打开次数/日 | P0 |
| 使用 | cmd_k_search_entered |
用户在搜索框中输入(debounce 300ms) | 搜索词长度分布、语言分布(中/英) | P1 |
| 使用 | cmd_k_results_displayed |
搜索结果返回并展示 | 平均结果数、各实体类型的匹配占比 | P0 |
| 质量 | cmd_k_zero_results |
搜索返回零结果 | 零结果率(目标 < 5%) | P0 |
| 质量 | cmd_k_search_latency_ms |
每次搜索请求延迟 | P50/P95/P99 搜索延迟 | P0 |
| 转化 | cmd_k_result_clicked |
用户选择并跳转到某个结果 | 点击率(= 跳转次数 / 有结果搜索次数) | P0 |
| 转化 | cmd_k_content_match_clicked |
用户点击了对话内容匹配结果 | 内容匹配点击占比——衡量「对话内容搜索」使用频率 | P1 |
| 体验 | cmd_k_time_to_target_ms |
从打开面板到跳转完成的时间 | P50/P95 完成时间(目标 P50 < 2s) | P1 |
| 体验 | cmd_k_dismissed_no_action |
用户打开面板后未选择直接关闭 | 放弃率——面板是否提供足够价值 | P1 |
| 留存 | cmd_k_daily_active |
用户当日至少使用一次 Cmd+K | DAU、WAU、MAU | P0 |
| 留存 | cmd_k_power_user |
用户当日使用 Cmd+K ≥ 5 次 | Power user 占比 | P1 |
| 阶段 | 时间线 | 里程碑 | 状态 |
|---|---|---|---|
| Phase 1 — 基础搜索 | v9.9.0 | Agents + Chats + Actions 搜索 + 对话内容全文搜索 | 已发布 |
| Phase 2 — 搜索扩展 | v9.10.0 | Files 搜索纳入 Cmd+K | 已发布 |
| Phase 3 — 智能排序 | v10.x | 个性化排序(基于用户行为)、上下文感知排序、最近使用加权 | 规划中 |
| Phase 4 — 快速创建 | v10.x | Cmd+K 中快速创建新 Agent/Chat/Workflow(类似 Linear 的"即时创建") | 探索中 |
| Phase 5 — 自然语言操作 | v11.x | 自然语言→动作("帮我创建一个竞品监控 Agent")——从导航工具升级为 AI 原生操作界面 | 探索中 |
| Phase 6 — 开放扩展 | v12.x | 第三方开发者可通过 API/SDK 注册自定义命令和搜索源 | 愿景 |
| Phase 7 — 语音输入 | 未来 | 语音→文本→搜索(结合 Speech-to-Text v9.7.0) | 愿景 |
v9.9.0 v9.10.0 v10.x v11.x 未来 │ │ │ │ │ ▼ ▼ ▼ ▼ ▼ ┌────────┐ ┌────────┐ ┌────────────┐ ┌────────────┐ ┌──────────┐ │基础搜索 │───▶│文件扩展 │───▶│智能排序 │───▶│NL→操作 │───▶│语音+ │ │Agent │ │+Files │ │+快速创建 │ │+AI 原生UX │ │开放扩展 │ │Chat │ │ │ │+个性化 │ │+意图识别 │ │+第三方 │ │Action │ │ │ │ │ │ │ │ │ └────────┘ └────────┘ └────────────┘ └────────────┘ └──────────┘
由 Claude spec-generate 系统生成 · 来源:Gumloop v9.9.0 "Killarney" Changelog + v9.10.0 "Atlin" Changelog + 竞品推断
⚠️ docs.gumloop.com 中无 Cmd+K 相关帮助页面。本规格基于 Changelog 描述和竞品对比推断。