前言¶
DeepSeek Harness (DSH) 的設計理念是“一切皆插件”。在開發智能體時,讓 Agent 能夠直接操作宿主系統是提升效率的關鍵。現有的部分日曆插件(如 MAGMA27/dsh-calendar)通常只能通過 Web UI 進行調度,無法真正寫入系統日曆。dsh-macos-calendar 是一個宿主端插件,它通過 AppleScript 和 EventKit,爲智能體提供了真正的 macOS 日曆集成能力,支持創建、查詢和刪除真實系統日曆事件。
核心功能¶
該插件在 DSH Web 宿主進程內運行,無需每次調用都進行會話審批。
- 列出所有日曆名稱 (
calendar_list):只讀操作,返回當前系統中所有可用的日曆列表。 - 創建事件 (
calendar_add):支持設置事件標題、起止時間(格式爲YYYY-MM-DD HH:MM)、指定日曆、備註以及提前多少分鐘提醒。 - 查詢未來事件 (
calendar_events):列出指定日曆在未來 N 天內的所有事件。 - 刪除事件 (
calendar_delete):根據事件摘要中的標題進行刪除。使用from參數可以防止誤刪舊事件。
安裝與啓用¶
在安裝前,請確保宿主環境滿足以下條件:Node.js 版本 >= 22,且操作系統爲 macOS。
- 將插件源碼放置在本地路徑
/path/to/dsh-macos-calendar。 - 執行安裝命令:
dsh plugin --profile web add /path/to/dsh-macos-calendar
- 重啓 DSH Web 進程。
- 授予自動化權限:在系統設置中授予宿主進程自動化權限。路徑爲:系統設置 → 隱私與安全性 → 自動化 → 允許
dsh host控制“日曆”。
典型用法¶
在 DSH 會話中,智能體通過自然語言發起請求即可直接調用工具。例如:
“add a calendar event on 2026-10-11 at 10:00 AM for a meeting”
智能體會自動識別意圖,調用 calendar_add 工具執行操作。
注意事項¶
- Cordis 4 依賴聲明:該插件在 Cordis 4 環境下運行,要求消費的服務必須顯式聲明
inject依賴。支持兩種聲明形式,請保持兩者以兼容不同的加載器讀取方式:
// module export form
export const inject = ['tools'];
// function-property form
apply.inject = ['tools'];
- 日期字符串解析:AppleScript 日期字符串依賴系統區域設置,可能導致解析錯誤(例如 ISO 字符串被解析爲年份 12194)。建議始終使用
date components構建日期,例如:
set d to current date
set year of d to 2026
set month of d to 10
set day of d to 11
set hours of d to 10
set minutes of d to 0
總結¶
該插件解決了智能體與宿主系統深度集成的痛點,讓日程管理自動化。插件源碼與詳細文檔可查閱:GitHub。