跳至主要內容
TaskForge 3.0:AI 能讀任務。

你的儲存庫,就在終端機裡

taskforge 是一個命令列待辦事項 App,用來處理 Obsidian 儲存庫中的任務與筆記。你可以查詢並完成任務、建立並編輯筆記,也可以把同樣的指令交給 shell 指令碼或代理。它使用與 App 相同的剖析器,並在你的機器上寫入真正的 Markdown 檔案。

CLI 還是 MCP 伺服器?

在沒有 MCP 連線的 shell 環境中使用 CLI:指令碼、cron、CI,或是在儲存庫簽出目錄中工作的程式代理。如果你的代理已經與 TaskForge 建立 MCP 連線,請優先使用 MCP 工具;它們具有型別,會回傳結構化錯誤,方便代理據此自我修正,而且不需要在你的 PATH 中安裝任何東西。兩者驅動的是同一個引擎,語意完全一致,選擇你執行環境中已經接好的那一個即可。手動編輯儲存庫檔案是最後的手段。

安裝

使用 Node.js 試用(含 npm 和 npx):

全域安裝 taskforge 指令:

需要安裝含 npm/npx 的 Node.js。npm 會為 macOS、Windows(x64)與 Linux(x64 與 arm64)安裝原生執行檔。TaskForge App 還沒有 Linux 版,在 Linux 上你可以使用 CLI 和 MCP 伺服器。CLI 需與應用程式分開安裝;不再支援 Homebrew。

快速上手

使用 --vault 指向儲存庫,或設定一次 TASKFORGE_VAULT 環境變數即可。每個讀取指令都接受 --json,輸出代理可解析的機器可讀格式。

印出儲存庫的任務語法:狀態符號、日期格式、自訂欄位,以及新任務要寫到哪裡。這是代理最先讀取的內容。

把任務附加到儲存庫的預設新任務位置,格式與你儲存庫寫任務的方式一致。

計算帶有自訂欄位 priority_label:: urgent 的任務數量,最緊急的排在最前面。拿掉 --count 即可列出這些任務。

以 JSON 格式找出描述中提到 invoice、標題中提到 acme 的任務。重音符號與大小寫都會被忽略,所以 cafe 也能比對到 café。

完成一項任務。如果它會重複,下一次發生的任務會寫回檔案中,做法與 App 完全一致。

讀取一項任務及其內容雜湊值,讓後續編輯可以帶上 --if-hash,拒絕覆寫過時的版本。

查詢語法

查詢參數是一組以空格分隔的字詞(token),全部都必須符合。常見的有:

text:word 標題包含該字詞(不分重音與大小寫)。 text:groceries
desc:"phrase" 任務描述包含該片語。 desc:"send invoice"
tag:name 任務帶有 #name 標籤。 tag:work
prop:key=value 自訂欄位 key 的值等於 value。 prop:area=home
prop:key 自訂欄位 key 存在,值不限。 prop:estimate
--sort due|priority|created 排序結果。預設依到期日排序,最緊迫的排最前面。 --sort priority
--count 回傳符合筆數,而非任務本身。 --count

自訂欄位的 key 可以包含字母、數字與底線,因此 priority_label 與 area_2 都能使用。

唯一的要求:儲存庫合約

taskforge 會讀取一個由 TaskForge 寫入你儲存庫的小型合約檔案 TaskForge/Settings/dialect.json。它描述了你確切的任務格式,讓 CLI 依照你的方式編輯任務,而不是用猜的。請至少用 TaskForge 3.0 以上版本開啟過儲存庫一次,前往 設定 > AI 與代理程式,並保持「產生代理程式檔案」開啟。這樣就會寫入合約檔案。TaskForge/Settings 是預設位置;基底資料夾可以在 App 中改名。

如果 taskforge 找不到儲存庫,它會告訴你三種指向儲存庫的方式:

  1. 在指令中加上 --vault /path/to/vault。
  2. 設定 TASKFORGE_VAULT 環境變數。
  3. 用 TaskForge 3.0 以上版本開啟儲存庫一次,讓 TaskForge/Settings/dialect.json 存在,然後在儲存庫資料夾內執行指令。

僅限本機

taskforge 在你的機器上執行,只會動到你所指定儲存庫中的 Markdown 檔案。不需要帳號、不需要 API 金鑰,也不會有任何網路連線。你原本用來同步儲存庫的方式,無論是 iCloud、Dropbox 或 Obsidian Sync,都會把這些變更帶到你的其他裝置。

想讓代理來操作嗎?

CLI 適合終端機與指令碼使用。如果你想讓 Claude Desktop 或其他 MCP 客戶端透過工具介面新增和完成任務,請改為設定 MCP 伺服器。同一個儲存庫,同樣的規則。兩種方式用的都是同一個 taskforge 執行檔,執行 taskforge mcp --stdio 就能把它切換成 MCP 伺服器。

設定 MCP 伺服器 →

CLI 負責編輯任務,App 讓它們持續運作。

taskforge 能從任何終端機寫入你的儲存庫;TaskForge 則把同樣的檔案變成手機和桌面上的清單、小工具和提醒。可在 iPhone、iPad、Mac、Android 和 Windows 上免費下載。