用 dsh-lark-meeting-notifier 在 DeepSeek Harness 裏盯住今日飛書會議

前言

DeepSeek Harness(dsh)是 DeepSeek 開源的智能體運行時,官方倉庫把它概括成一句話:一切皆插件。模型適配、工具、會話、沙箱,甚至網頁界面,都可以掛成插件。目前項目仍處於開發者預覽階段,接口會繼續變;社區裏已經出現一批獨立目錄站點,把 GitHub 上帶 dsh-plugin 話題的倉庫集中展示。需要說明的是,這類目錄與 DeepSeek / 幻方沒有官方從屬關係,安裝命令仍以各插件倉庫和目錄頁原文爲準。

很多人把 dsh web 開一整天:一邊跟模型改代碼,一邊把飛書日曆丟在別的窗口。會前幾分鐘纔想起來,或者乾脆錯過。dsh-lark-meeting-notifier 做的事情很窄:不給模型增加工具,只在網頁工作區右側掛一塊會議列表,到點閃爍。倉庫自己的說法是「一個只有副作用的插件」——副作用就是提醒你該去開會了。

這是什麼

dsh-lark-meeting-notifier 是一款面向 DeepSeek Harness Web 界面的通知類插件,由 yeruizhi 維護,採用 MIT 許可證,主要語言是 JavaScript。社區目錄把它歸在「通知與集成」。截至 2026-08-18,GitHub 倉庫顯示 7 星,目錄頁上的數字是 6;星標會變,以倉庫頁面爲準。package.json 裏的版本是 0.1.0

它解決的問題很具體:在 dsh web 裏列出今天還沒開始的飛書會議,並按你設定的提前量反覆提醒。數據不走自定義後端,而是調用飛書官方 CLI @larksuite/cli(命令名 lark-cli),以當前登錄的用戶身份讀個人日曆。點「✕」只會在本機隱藏這條提醒,不會改飛書日程。

目錄頁:https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-lark-meeting-notifier/

GitHub:https://github.com/yeruizhi/dsh-lark-meeting-notifier

核心功能

倉庫 README 和源碼對得上的能力如下。

1、右側懸浮框。默認收成一顆「🕐 會議 N」膠囊,N 是今天剩餘、且未被本機隱藏的條數。點開後列出時間段、標題、組織人、會議室。若日程帶視頻會議鏈接,標題可點開。

2、會議室名。不是手填,而是從飛書日曆裏 type=resource 的參會人讀取 display_name。設置裏可以選「完整」或「簡短」(簡短時取空格前第一段)。

3、多鬧鐘。每個提前量是獨立鬧鐘。默認 20、10、5 分鐘;設置面板還可勾選 1、2、3、15、30、45、60 分鐘。到點後條目閃爍,緊迫度越高顏色越偏橙、紅。

4、關掉當前鬧鐘,而不是刪掉日程。閃爍時點這條會議,等於關閉已經觸發的提醒。也可打開「30 秒後自動停止閃爍」。單條右側的「✕」會把該會議從本機列表裏拿掉,並寫進本地存儲,飛書日曆本身不動。

5、到點自動展開。提醒觸發時可以自動把面板拉開(可關)。開始時間已過的會議會從「今日剩餘」裏消失;今天清空後,面板頭部會出現「明日」,用來加載明天的會議。

6、配置持久化。在 DeepSeek Harness 設置裏有一節「飛書會議提醒」,刷新間隔可選 30 / 60 / 120 秒,默認 30 秒。

不會向模型註冊工具,也不會在飛書裏發消息。目錄裏同分類還有 dsh-lark(飛書對話通道)、dsh-notification(回合結束桌面通知)等,職責不同,不要混成一個東西。

安裝與啓用

社區目錄頁給出的安裝命令是:

dsh plugin add github:yeruizhi/dsh-lark-meeting-notifier

GitHub README 寫的是帶 web profile 的寫法,和 package.jsondsh.client.platform"web" 一致。實際使用網頁界面時,建議按倉庫說明裝到 web profile:

dsh plugin --profile web add github:yeruizhi/dsh-lark-meeting-notifier

目錄頁同時提醒:如需可復現安裝,應固定 commit 哈希。寫作時倉庫 main 最新提交是 65782f8d13f79143af86fec1628dfa0918af335f(2026-08-17,修復桌面應用裏找不到 lark-cli 的 PATH 問題)。固定安裝可以寫成:

dsh plugin --profile web add github:yeruizhi/dsh-lark-meeting-notifier#65782f8d13f79143af86fec1628dfa0918af335f

裝完後重啓 dsh web(或 npx @deepseek-ai/dsh web)。官方倉庫說明 Web UI 默認在 http://127.0.0.1:3080。頁面右側應出現「🕐 會議」膠囊。

插件以當前 dsh 進程的權限運行,安裝時可能執行代碼。裝之前請自己看一遍源碼和 MIT 許可證。

前置條件:lark-cli

插件自己不實現飛書 OAuth,日曆全部交給 lark-cli。倉庫給出的步驟如下。

1、安裝 CLI

npm install -g @larksuite/cli

lark-cli --version 確認能輸出版本號。飛書官方 CLI 文檔裏還有 npx @larksuite/cli@latest install 的安裝方式;以你本機最終能跑通 lark-cli 爲準。

2、初始化應用配置

lark-cli config init

按提示打開授權鏈接或掃碼,完成應用配置。

3、授權日曆只讀(必須是 user 身份)

lark-cli auth login --scope "calendar:calendar:readonly"

README 寫得很明確:要用 user 身份,bot 看不到個人日曆。後續拉日程時,插件內部調用的是 lark-cli calendar +agenda --as user

4、驗證

lark-cli auth status --json --verify

確認 identityuserverifiedtrue

使用

重啓 Web 界面之後,操作都在右側面板裏完成,沒有額外的 slash 命令。

  • 展開 / 收起:點「🕐 會議 N」膠囊;展開後點「收起」。
  • 看一條會議:時間段、標題、組織人、會議室。有視頻會議 URL 時,標題是可點擊鏈接。
  • 關鬧鐘:條目閃爍時,點這條記錄。這隻關掉已經觸發的提前量,不是拒絕會議。
  • 移除提醒:點右側 ✕。之後這條不會再出現在本機列表裏,直到你清掉本地隱藏記錄(配置存在瀏覽器 localStorage,鍵名是 dsh.meeting.hidden)。
  • 明日:今日剩餘爲空時,點「明日」加載明天的會議;再點一次可隱藏。

設置路徑是:設置 → 飛書會議提醒。各項與倉庫表格一致:

配置項 說明 默認
提醒提前時間 多選分鐘數,每個是獨立鬧鐘 20、10、5
30 秒後自動停止閃爍 開關
提醒時自動展開 開關
刷新間隔 30 / 60 / 120 秒 30 秒
會議室名顯示 完整 / 簡短 完整

故障排查

倉庫 README 列了三種常見情況,和 Host 端 /health/list 返回的提示一致。

現象 原因 處理
面板顯示「lark-cli 未安裝」 系統裏沒有 @larksuite/cli,或 dsh 進程的 PATH 找不到它 npm install -g @larksuite/cli,並確認 lark-cli --version 可用
面板顯示「飛書未授權或缺少日曆權限」 未登錄、scope 不夠、登錄過期 再跑一次 lark-cli auth login --scope "calendar:calendar:readonly"
列表爲空 今天確實沒有尚未開始的會議 lark-cli calendar +agenda --as user 對照飛書日曆

源碼裏執行 lark-cli 時會把 /opt/homebrew/bin/usr/local/bin 補進 PATH。DeepSeek Harness 桌面應用啓動時的 PATH 往往只有系統目錄,Homebrew 裝的 node / lark-cli 容易找不到;2026-08-17 那次提交就是補這個缺口。若你用桌面應用仍提示未安裝,先在系統終端確認 CLI 路徑,再看 dsh 進程能否繼承到。

列表爲空時還有一種情況:插件只保留 開始時間仍在未來 的日程。全天已開始、或已經過點的會不會出現在「今日剩餘」裏。

實現上值得看的幾點

二次開發或安全評審時,可以直接讀 index.js(Host)和 client.js(瀏覽器)。

數據源是:

lark-cli calendar +agenda --as user

看明天時會加上 --start / --end 當天日期。會議室另調:

lark-cli calendar events get --calendar-id primary --event-id <id> --need-attendee

重複日程實例用 recurring_event_id,例外實例用 event_id。Host 註冊兩條本地路由:GET /dsh-lark-meeting/listGET /dsh-lark-meeting/health,前端用 fetch 拉 JSON。

執行 CLI 時,源碼使用了:

sandboxPolicy: { mode: 'danger-full-access', workspaceRoot: '/' }

README 的解釋是:要讀 lark-cli 的本地配置,並且要聯網調飛書接口。這意味着這條調用不走默認沙箱。安裝前應把這一點視爲明確的權限邊界,而不是忽略。

Host 聲明依賴 shellwebServer;客戶端聲明 platform: "web"immediately: true,所以它掛在網頁 overlay 上,而不是 headless 一次性任務裏。

適用場景與注意事項

適合已經在用 DeepSeek Harness 網頁界面、日程主要在 飛書 / Lark、並且本機已經(或願意)裝 lark-cli 的人。典型場景是長時間對着 dsh web 寫代碼、跑智能體,同時當天還有站會、評審、客戶通話。

使用前建議先接受這幾條邊界:

1、只覆蓋 Webpackage.json 寫明客戶端平臺是 web。不要指望它在純 headless 任務裏彈提醒。

2、只讀個人日曆。授權 scope 是 calendar:calendar:readonly,移除提醒也只寫本機。它不是會議室預訂工具,也不是飛書機器人。

3、權限與沙箱。插件隨當前 dsh 進程運行;拉會議時對 lark-cli 使用 danger-full-access。裝的是社區倉庫,不是 DeepSeek 官方應用商店。許可證是 MIT,源碼公開,但「開源」不等於「已經替你審計過」。

4、依賴官方 CLI 的登錄態。token 過期、換了機器、只完成了 bot 登錄,面板都會空或報未授權。先用 lark-cli auth status --json --verify 排除 CLI 本身的問題。

5、生態仍在預覽。DeepSeek Harness 官方 README 寫明後續會有破壞性變更。固定 commit 安裝,比跟蹤 main 更不容易在某次插件更新後行爲漂移。

小結

dsh-lark-meeting-notifier 把飛書今日剩餘會議釘在 DeepSeek Harness 網頁右側,用多檔提前量和顏色閃爍做提醒,不改日曆、不給模型加工具。裝上它之前,先裝好並授權 lark-cli,再按目錄頁或倉庫裏的 dsh plugin add 命令掛到 web profile,最後自己過一遍源碼和沙箱策略。

目錄頁:https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-lark-meeting-notifier/

GitHub:https://github.com/yeruizhi/dsh-lark-meeting-notifier

DeepSeek Harness 官方倉庫:https://github.com/deepseek-ai/deepseek-harness

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜