Community生產力與協作github.com

space-enthusiast/meeting-minutes

將會議錄音(m4a、mp3、wav、mp4 等)轉換為會議記錄,全程在使用者自己的電腦上執行。Whisper 負責轉錄,pyannote 分離說話者,AI 根據標註說話者的逐字稿撰寫會議記錄。

meeting-minutes 是什麼?

這項技能可將會議錄音檔轉換為可信賴的會議記錄,確保每個陳述都可追溯到原始錄音,且每個說話者標籤都誠實反映其確定程度。它支援多種音訊/視訊格式,並提供三種操作模式:指導模式(回答相關問題)、逐字稿模式(僅產生逐字稿)和會議記錄模式(產生完整會議記錄)。此技能強調隱私——音訊永遠不會離開使用者的電腦,且所有處理(轉錄、說話者分離)都在本地執行。它適用於希望本地處理敏感會議內容、且需要可靠會議記錄的開發者或團隊。工作流程包含五個階段:設定環境、轉錄、說話者分離、說話者標註與修正、以及撰寫會議記錄。每個階段都可獨立執行,轉錄與說話者分離不會同時執行以避免資源衝突。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/space-enthusiast/meeting-minutes-skill/tree/HEAD/skills/meeting-minutes

Installed? Explore more 生產力與協作 skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

會議記錄

製作一份即使錯過會議的人也能信賴的會議記錄:每一項陳述都可追溯到錄音,每個說話者標籤都誠實反映其確定程度。

錄音是事實的來源。逐字稿是證據,而會議記錄是對該證據的解讀。由會議機器人或與會者撰寫的筆記是次要的:僅用於交叉比對。

操作模式

載入此技能並不代表授權完整執行。選擇能回答請求的最小模式。

  • 指導模式:關於如何轉錄、哪個模型適合某台機器、為何說話者標籤錯誤、如何閱讀現有逐字稿的問題。從相關檔案回答。請勿安裝任何軟體或建立檔案。
  • 逐字稿模式:使用者只想要文字。執行設定、轉錄,以及(除非使用者拒絕)說話者分離。在產生標註說話者的逐字稿後停止。
  • 會議記錄模式:使用者想要會議記錄。執行所有階段,並寫入「輸出」部分列出的檔案。

若請求可能涵蓋多個模式,請在安裝任何軟體之前先問一個簡短的問題。

平台術語

此技能為代理人中立。

  • Shell 是平台用來在使用者電腦上執行命令的任何介面。
  • 背景執行 是平台啟動長時間命令並在結束時通知使用者的一種方式。若無此功能,則在前景執行命令,並告知使用者預計需要多久時間。
  • 環境 是此技能建立並重複使用的 Python 環境。<python> 是其直譯器。
  • 參考腳本 是這些檔案中的程式碼區塊。將其儲存在 <out>/work/ 下,並使用 <python> 執行。這是一個經過測試的起點,而非固定的合約:當機器、函式庫版本或請求需要時,請調整它,並說明你更改了什麼。

原則

  1. 音訊保留在本機。 絕不將錄音或其任何部分上傳到遠端服務。轉錄和說話者分離都在這台電腦上執行。
  2. 誠實告知文字的去向。 逐字稿是文字,而撰寫會議記錄的 AI 會讀取它。如果該 AI 是雲端模型,文字將傳送到該提供者。如果會議可能涉及敏感內容,請在第一次執行前明確告知一次。
  3. 只記錄說過的話。 會議記錄只包含逐字稿所支持的內容。不憑空編造負責人、日期、數字或決策。
  4. 誠實的說話者標籤。 只有在有證據的情況下,才能將編號轉換為姓名。猜測的內容必須標記為猜測。
  5. 一次只執行一個重量級任務,並以低優先級執行。 語音模型會佔用整台機器。絕不同時執行轉錄和說話者分離。慢一點沒關係;使用者還需要在這個電腦上工作。
  6. 在安裝前先詢問,絕不處理機密。 在安裝程式前顯示命令。由使用者自行登入、接受模型條款並儲存令牌。不要在對話中要求密碼或令牌。
  7. 預期會有辨識錯誤。 姓名、數字和專業術語是弱點。驗證重要的內容,而不是粉飾它。

設定值

在第一階段之前解析這些設定值。僅詢問你無法自行查明的項目。

  • 技能目錄:包含此 SKILL.md 的絕對路徑。
  • 錄音:音訊或視訊檔案的絕對路徑。
  • 輸出目錄 <out>:預設為錄音旁邊的新資料夾,以錄音檔名加上 -minutes 命名。當使用者指定其他位置,或錄音位於不適合存放工作檔案的同步或共用資料夾時,則使用其他位置。
  • 語言:詢問使用者,或讓模型自動偵測。
  • 與會者:姓名,以及團隊或職稱(若已知)。用於為說話者分配姓名以及會議記錄的標題。如果使用者不知道,則繼續使用編號的說話者。
  • 標題、日期與時間、目的:用於會議記錄的標題。從使用者或檔案名稱與中繼資料取得;絕不憑空猜測。

輸出

所有路徑均在 <out> 內。

檔案寫入階段內容
transcript.json第 2 階段包含逐詞時間戳記的片段。之後絕不編輯
transcript.txt第 2 階段相同的文字,每個片段一行,附帶時間戳記。未經修正的記錄
diarization.json第 3 階段誰在何時發言,說話者從 1 開始編號
speakers.json第 4 階段說話者編號對應姓名,附帶不確定性標記
corrections.tsv第 4 階段重複出現的辨識錯誤及其修正
transcript-speakers.txt第 4 階段標註說話者並經修正的逐字稿。會議記錄的基礎
minutes.md第 5 階段會議記錄,附帶標註說話者的逐字稿作為附錄
work/全部執行過的參考腳本及日誌

工作流程

階段讀取結果
1. 設定SETUP.md可運作的環境,以及關於 GPU 或 CPU 以及說話者分離的決定
2. 轉錄TRANSCRIPTION.mdtranscript.json、transcript.txt
3. 說話者分離DIARIZATION.mddiarization.json
4. 說話者與修正SPEAKERS.mdspeakers.json、corrections.tsv、transcript-speakers.txt
5. 會議記錄MINUTES.mdminutes.md

第 1 階段每台電腦只執行一次;後續執行只需驗證即可。第 2 和第 3 階段耗時較長:請使用背景執行,並在結束後繼續。當使用者拒絕一次性的模型存取時,跳過第 3 階段;其餘部分仍可運作,但沒有姓名。

在開始下一個階段前,檢查每個階段的結果。每個檔案都以「檢查」部分結尾。

向使用者報告

當執行結束時,告知使用者:

  • minutes.md 的位置;
  • 哪些說話者姓名已確認,哪些是猜測;
  • 跳過或更改了哪些預設值及其原因;
  • 本次執行的已知弱點(不清楚的姓名或數字、重疊的語音、一段音質不佳的音訊)。

反模式

  • 在有錄音可用的情況下,總結會議機器人撰寫的筆記。這類筆記會遺漏會議的某些部分,並將所有聲音合併為一個。
  • 為了「節省時間」而同時執行轉錄和說話者分離。這會減慢兩者的速度,並可能耗盡 GPU 記憶體。
  • 提供與會者姓名列表給語音模型作為提示。模型會將這些姓名寫入靜默的段落,並忽略實際的語音。
  • 因為某個姓名「看起來合適」就為說話者命名。在共享的會議記錄中,一個錯誤的歸因所造成的損失遠超過十個「說話者 3」的標籤。
  • 透過改寫句子來修正逐字稿。透過 corrections.tsv 修正重複聽錯的詞彙;保留原文措辭。
  • 撰寫包含無人陳述過的負責人與日期的待辦事項。
  • 未開啟結果就直接報告成功。請閱讀逐字稿的第一分鐘和最後一分鐘,並將說話者數量與與會者數量進行比較。

相關技能