by juinwei7
macOS meeting notes: live transcript, local transcription (Breeze ASR / whisper.cpp), speaker diarization, AI meeting notes with timestamps
# Add to your Claude Code skills
git clone https://github.com/juinwei7/ShiyinSee how Shiyin compares with popular alternatives.
Shiyin is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by juinwei7. macOS meeting notes: live transcript, local transcription (Breeze ASR / whisper.cpp), speaker diarization, AI meeting notes with timestamps. It has 50 GitHub stars.
Shiyin's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/juinwei7/Shiyin" and add it to your Claude Code skills directory (see the Installation section above).
Shiyin is primarily written in Swift. It is open-source under juinwei7 on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh Shiyin against similar tools.
No comments yet. Be the first to share your thoughts!
Available after the catalog security scan passes.
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
繁體中文 | English | 官網:shiyin.weibuilds.com
macOS 的會議紀錄 app。錄下會議(現場或線上),錄音中就能看到即時逐字稿;錄完在本機轉錄、分出說話者,再交給 Claude、Codex 或 API 整理成會議紀錄。紀錄裡每一條都附上錄音時間點,點一下就能聽到原話。

錄音
匯入:音訊和影片(m4a、mp3、wav、aac、flac、caf、aiff、mp4、mov)、逐字稿(srt、vtt、txt)、Markdown 筆記、整場會議封包(.shiyin)。可以拖進視窗、⌘O、拖到 Dock 圖示,或在 Finder 用「打開方式」
本機轉錄:whisper.cpp + Breeze ASR 25,詞彙表會當成提示詞;日文會議改用 Whisper large-v3-turbo(第一次轉錄日文會議時才下載)。也可以改用 macOS 內建辨識(不用下載模型、速度快很多,但不參考詞彙表)
會議語言:每場會議可以選中文、英文或日文,轉錄、會議紀錄、匯出的標題都跟著這個語言;日文會議的內容用日文字形,PDF、Word 用日文字型。預設語言在設定裡改
自動偵測語言:開始錄音後聽約 10 秒,判斷是中文、英文還是日文;跟會議語言不同而且有把握時,自動切換即時逐字稿和會議語言,錄音畫面可以改回來
逐字稿校正:轉錄完,整理工具依詞彙表和上下文找出可能聽錯的字(同音字、專有名詞),標在逐字稿裡,你按「接受」才改,可以還原
詞彙表建議:從參加者、說話者名字、校正過的字、會議標題建議要加進詞彙表的詞
說話者辨識:逐字稿每段標上說話者,每個人一個顏色;可以改名、只看某一位說話者
會議紀錄
匯出與分享
| 項目 | 格式 |
|---|---|
| 會議紀錄 | Markdown、PDF、Word;也可以複製成富文字、Markdown、純文字 |
| 逐字稿 | txt、Markdown、srt、vtt、Word(可選要不要時間點和說話者) |
| 錄音 | m4a、wav |
| 整場會議 | .shiyin 封包(錄音、逐字稿、說話者、紀錄、筆記、重點),對方雙擊就能匯入 |
匯出時也可以直接用 AirDrop、Mail、訊息分享。
管理:資料夾(依專案或客戶分類)、全文搜尋所有會議、垃圾桶(30 天內可還原)
其他:倍速播放(0.75×~2×)、用詞修正(逐字稿和紀錄一起改)、轉錄完自動把錄音壓縮成 m4a、完成或失敗時發通知、app 內更新

逐字稿截圖的示範錄音取自 AMI Meeting Corpus(ES2004a,CC BY 4.0)。

| 項目 | 需求 |
|---|---|
| 晶片 | Apple Silicon(M1 以上) |
| 系統 | macOS 26 以上 |
| 記憶體 | 8 GB 以上。轉錄加說話者辨識的峰值約 2.7 GB,4 小時的會議約 4.1 GB(M3 Pro 實測) |
| 磁碟空間 | 模型約 1.7 GB(第一次使用時下載;改用 macOS 內建辨識就不用),日文會議另外 574 MB、自動偵測語言 60 MB,加上錄音:m4a 約每小時 10~30 MB |
| 整理工具 | 擇一:已登入的 Claude Code(claude)、Codex CLI(codex)、Anthropic API key、OpenAI API key、Gemini API key,或 OpenAI 相容 API(Groq、OpenRouter 填 key;本機的 Ollama、LM Studio 不用 key)。也可以選「不整理」 |
| 網路 | 第一次下載模型、整理會議紀錄時需要;錄音、轉錄、說話者辨識都不需要 |
Shiyin-<版本>.dmg(官網、這個 repo 的 Releases,或向維護的人拿),打開後把「拾音」拖到旁邊的 Applications(應用程式)。需要 Xcode 26(Swift 6.2 以上)。第一次建置會用 Swift Package Manager 下載 GRDB、FluidAudio 和 whisper.cpp 的 XCFramework。
git clone https://github.com/juinwei7/Shiyin.git
cd Shiyin
scripts/make-signing-cert.sh --trust # 只要做一次:建立並信任自簽憑證(要輸入登入密碼),之後更新 app 時權限不用重新允許
scripts/build-app.sh --install # 建置 release 版並安裝到 ~/Applications
沒有執行 make-signing-cert.sh --trust 也能建置,會改用 ad-hoc 簽章,只是每次重新建置後系統可能會再問一次權限。
改 Resources/Info.plist 的 CFBundleShortVersionString,commit 並推上去。
打一個帶說明的 tag 並推上去,說明文字就是這版的更新內容:
git tag -a v3.1.1 -m "這版改了什麼"
git push origin v3.1.1
.github/workflows/release.yml 會在 macos-26 runner 上建置 DMG,建立 GitHub Release 並上傳 DMG 和 shiyin-update.json。tag 跟版本號不一致時會直接失敗。
也可以在 Actions 頁面手動執行「打包」,只建置、不發布,DMG 放在那次執行的 artifact。
設定(Settings → Secrets and variables → Actions,都是選填):
| 名稱 | 種類 | 用途 |
|---|---|---|
SHIYIN_SIGNING_P12、SHIYIN_SIGNING_P12_PASSWORD |
Secret | 自簽憑證。用 scripts/export-signing-cert.sh --to-github <owner/repo> 從自己的電腦設定,CI 簽出來的 app 才會跟你電腦上建的一致;沒有設定就用 ad-hoc 簽章 |
SHIYIN_UPDATE_URL |
Variable | 寫進 app 的更新網址 |
SHIYIN_RELEASES_REPO、SHIYIN_RELEASES_TOKEN |
Variable、Secret | 另外發布到一個公開的 repo(程式碼維持私人、又想讓 app 自動更新時用) |
改 Resources/Info.plist 的 CFBundleShortVersionString。
產生 DMG,帶入更新網址和這版的更新內容:
SHIYIN_UPDATE_URL=https://example.com/shiyin/shiyin-update.json \
SHIYIN_RELEASE_NOTES="這版改了什麼" scripts/make-dmg.sh
dist/ 裡會有 Shiyin-<版本>.dmg 和 shiyin-update.json(版本、DMG 檔名、SHA-256、更新內容)。
把這兩個檔案放到更新網址的位置(一定要 https)。已經安裝的拾音會在 24 小時內檢查到新版,詢問使用者後自動下載、驗證並重新開啟。
用 GitHub Releases 發布的話,更新網址可以用 https://github.com/juinwei7/Shiyin/releases/latest/download/shiyin-update.json,每次發布時把兩個檔案都上傳:
gh release create v3.1.1 dist/Shiyin-3.1.1.dmg dist/shiyin-update.json --notes "這版改了什麼"
注意:私人 repo 的 Releases 檔案要登入才能下載,app 內更新會失敗;這種情況請把兩個檔案放在公開的 https 位置(公司內部網站、NAS 等)。
app 會檢查新版的簽章是否跟目前的 app 相符。執行過 make-signing-cert.sh --trust 之後,只有同一張憑證簽的版本才能透過更新安裝。
| 項目 | 位置與去向 |
|---|---|
| 錄音、逐字稿、資料庫、模型 | ~/Library/Application Support/Shiyin(權限 700,不會被 iCloud 同步) |
| 錄音、轉錄、說話者辨識 | 完全在本機,不連網 |
| 整理、校稿 | 逐字稿文字、你的筆記、詞彙表、會議基本資料會送到你選的服務(Anthropic、OpenAI、Google,或 OpenAI 相容 API 填的網址)。錄音檔不會送出 |
| API key | 存在 macOS 鑰匙圈,不寫進檔案或 log |
| 整理工具選「不整理」 | 完全離線 |
| OpenAI 相容 API 填本機網址(Ollama、LM Studio) | 整理也在這台 Mac 上完成,內容不會離開電腦 |
| 分頁 | 內容 |
|---|---|
| 整理工具 | Claude、Codex、Anthropic API、OpenAI API、Gemini API、OpenAI 相容 API 或不整理;登入狀態、測試整理工具;API key;OpenAI 相容 API 的網址(有常用服務可選);模型;轉錄完是否自動整理、是否檢查可能聽錯的字 |
| 範本 | 內建範本和自訂範本、預設範本 |
| 詞彙表 | 人名、系統名、專有名詞的正確寫法,轉錄和整理都會參考;建議加入的詞 |
| 錄音 | 錄音來源、麥克風、預設會議語言、自動偵測會議語言、即時逐字稿、說話者辨識、正式轉錄引擎(Breeze 或 macOS 內建)、全域快捷鍵、權限設定 |
| 模型與儲存空間 | 下載、暫停、刪除模型;壓縮錄音;空間用量;刪除第二版留下的舊檔案 |
| 進階 | 更新網址與檢查更新、環境檢查、重新顯示首次使用引導、重建搜尋索引 |
本專案採用 SDD(規格驅動開發):先寫需求、設計、任務,再寫程式,每項任務都要實際跑過才打勾。
| 文件 | 內容 |
|---|---|
docs/requirements.md |
需求與驗收結果 |
docs/design.md |
架構、資料模型、提示詞、介面、決策紀錄 |
docs/tasks.md |
任務、驗證紀錄、變更紀錄 |
docs/spikes/asr-engines.md |
轉錄引擎和說話者辨識的選型實驗 |
docs/spikes/asr-japanese-3.3.md |
日文轉錄引擎和語言偵測的選型實驗 |
CLAUDE.md |
開發與驗證時要注意的事 |
Sources/Shiyin/
├── App/ app 進入點、選單、AppDelegate
├── Capture/ 錄音(麥克風、系統聲音)、寫檔、即時逐字稿
├── Transcribe/ 解碼、whisper.cpp、macOS 內建辨識、說話者辨識
├── Notes/ 整理工具(CLI、API)、提示詞、範本
├── Model/ 資料表與會議紀錄的資料結構
├── Store/ 資料庫(GRDB)、AppModel
├── IO/ 匯出、.shiyin 封包、匯入逐字稿
├── Services/ 工作佇列、模型下載、更新、鑰匙圈、全域快捷鍵、通知
├── Views/ SwiftUI 畫面
└── Debug/ DEBUG 版的控制通道(shiyinctl)
Resources/ Info.plist、翻譯表(Localizable.xcstrings)、圖示
scripts/ 建置、DMG、自簽憑證、圖示、開發工具
docs/ 規格與實驗紀錄
scripts/build-app.sh # release 建置,產出 build/Shiyin.app(實際位置在 ~/Library/Caches/ShiyinBuild)
scripts/build-app.sh --debug # DEBUG 建置,含驗證用的控制通道
scripts/make-dmg.sh # release 建置並產生 DMG 和 shiyin-update.json
swift scripts/make-icon.swift Resources/AppIcon.icns # 重新產生圖示
# DEBUG 版的控制通道:不用操作畫面就能觸發功能、讀取狀態、截圖
swiftc scripts/dev/shiyinctl.swift -o ~/Library/Caches/ShiyinBuild/shiyinctl
~/Library/Caches/ShiyinBuild/shiyinctl state /tmp/state.json
~/Library/Caches/ShiyinBuild/shiyinctl snapshot /tmp/summary.png dark detail
scripts/dev/l10n.py check # 改過介面文字後:抽出字串、列出缺英文翻譯和沒查表的中文
~/Library/Caches/ShiyinBuild/app/Shiyin.app/Contents/MacOS/Shiyin -AppleLanguages "(en)" # 用英文介面開啟
/usr/bin/log stream --predicate 'subsystem == "com.weiwei.shiyin"' # 看 log
sqlite3 ~/Library/Application\ Support/Shiyin/shiyin.sqlite # 看資料
| 名稱 | 用途 | 授權 |
|---|---|---|
| whisper.cpp | 正式轉錄 | MIT |
| Breeze ASR 25(GGML 轉檔) | 轉錄模型(繁體中文、中英夾雜) | Apache-2.0 |
| Whisper large-v3-turbo、base(GGML 轉檔) | 日文轉錄、自動偵測語言 | MIT |
| FluidAudio | 說話者辨識 | Apache-2.0 |
| GRDB.swift | SQLite 資料庫、全文搜尋 | MIT |
轉錄模型和說話者辨識模型不放在這個 repo 裡,第一次使用時才下載。app 和 DMG 都附有上面這些套件的完整授權條款:「關於拾音」視窗、DMG 裡的 Third-Party Licenses.txt(scripts/dev/make-third-party-licenses.sh 產生,更新套件後要重跑)。
MIT。使用的開源專案和模型各自依上表的授權條款。