Skip to content

[feature] replay inline rename、history 搜尋、MCP focus 感知 + history/org 管理工具#158

Open
YJack0000 wants to merge 2 commits into
mainfrom
claude/replay-name-history-search-83b363
Open

[feature] replay inline rename、history 搜尋、MCP focus 感知 + history/org 管理工具#158
YJack0000 wants to merge 2 commits into
mainfrom
claude/replay-name-history-search-83b363

Conversation

@YJack0000

Copy link
Copy Markdown
Contributor

摘要

三個使用者可見的改動 + 一次 MCP server 能力擴充:

UI

  • Replay header 錄音名稱可就地編輯 — hover 出現鉛筆、Enter 存 / Esc 取消(沿用 history 卡片互動)。走既有 rename_history_entry + cloud push,並發 history://updated 讓 history 視窗同步刷新。僅本地已存檔錄音提供(org 唯讀回放、未存檔上傳不出現)。
  • History 搜尋 — header 搜尋框,比對 title + snippet;搜尋時跨當前 scope 所有資料夾,清空即回資料夾檢視;切 scope 自動清空。

MCP:focus 感知(防幻覺)

  • session.json 快照新增 context(appMode / studyTab / replay / savedHistoryId)與全部分析產物(brief / intel / actionItems / deliveryAssessment / meetingType)。
  • 新工具 get_app_context / get_focused_contentget_session_status / get_transcript 回應自帶 focus context。五種 focus:live-meeting / live-post-meeting / replay / accounts / idle — 「會議剛結束去看 replay」不再被誤判成 realtime。
  • 所有帶分析結果的回應附 analysisNote,工具描述明講:這些是 Parley 自己的分析,屬於 context 而非結論,外部 AI 應以逐字稿為本、可批判性思考提出不同看法。

MCP:history 瀏覽/管理 + org ↔ 個人

  • 讀取走 Rust 直讀磁碟:list_recordings(query 搜尋 / folderId / limit)、get_recording(時間戳逐字稿 + 全部分析產物)。
  • 寫入與雲端操作走新 RPC bridge(command queue 加 id,前端執行後寫 session_command_results.jsonl,MCP 等真實結果、timeout 20s):rename_recordinglist_folders / move_recording_to_folderlist_orgs / list_org_recordings / list_org_foldersshare_recording_to_org(複製)、move_recording_to_org(copy-first 搬移)、copy_org_recording_to_personal
  • org 操作重用前端既有 auth 與 moveRecordingToOrg() 的安全順序;刻意不提供 delete_recording
  • MCP server 名稱 parley-templatesparley(endpoint 不變)。

驗證

  • npx tsc --noEmit
  • cargo check
  • npx vitest run 165/165 ✓

…管理工具

- Replay header 的錄音名稱可就地編輯(沿用 history 卡片互動,僅本地已存檔)
- History 視窗新增搜尋(title + snippet,跨資料夾,切 scope 清空)
- session.json 快照新增 context(appMode/studyTab/replay/savedHistoryId)與
  全部分析產物(brief/intel/actionItems/deliveryAssessment/meetingType)
- MCP 新增 focus 感知工具(get_app_context / get_focused_content),所有讀取
  回應自帶 focus 說明,杜絕「會議剛結束被當成 live」的誤判
- MCP 新增 history 工具:list/get_recordings(Rust 直讀磁碟、query 搜尋)、
  rename、資料夾搬移、org ↔ 個人 share/move/copy(經 RPC bridge 由前端執行,
  重用既有 auth 與 copy-first 安全順序)
- RPC bridge:command queue 加 id + session_command_results.jsonl 回傳通道
- 分析結果一律標註為 context(analysisNote + 工具描述),鼓勵外部 AI 批判性
  思考、可不同意 Parley 的分析
- mcp.rs 記錄 client 流量:initialize 的 clientInfo、每個 request 的
  last_request_at、最近 50 筆 tool call(讀/寫分類、成功/失敗)
- 新 Tauri command get_mcp_activity
- TitleBar 新增 McpStatusChip:狀態點(脈動綠=使用中、綠=已連線、灰=閒置/
  未連線),popover 顯示 client 名稱/版本、endpoint、上次請求、讀寫活動列表
- Settings MCP 分頁補連線狀態卡:client、上次請求、最近操作(同一份資料)
@YJack0000

Copy link
Copy Markdown
Contributor Author

追加 commit 43c98df:MCP status 可視化

  • TitleBar 新增 MCP chip(插頭 icon + 狀態點):脈動綠 = 15 秒內有請求(使用中)、綠 = 5 分鐘內(已連線)、灰 = 閒置 / 從未有 client。點開 popover 看 client 名稱與版本(來自 initialize 的 clientInfo)、endpoint、上次請求時間、最近 50 筆 tool call(讀/寫 badge、失敗標記、相對時間)。
  • Settings → MCP 分頁補同一份連線狀態卡(client、上次請求、活動列表)。
  • Rust 端 mcp.rs 加 activity ring buffer + get_mcp_activity command;HTTP MCP 沒有持久連線,所以「connected」由最近請求時間推導。

驗證:tsc ✓ / cargo check ✓ / vitest 165 ✓

@sonarqubecloud

Copy link
Copy Markdown

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.

1 participant