CLI 服務與檔案
onemind CLI 服務與檔案頁面涵蓋後台服務、Mind 資料庫、更新程序,以及各已安裝組件的本地狀態。
後台服務
安裝程序會註冊用戶級服務:
- macOS:LaunchAgent,路徑為
~/Library/LaunchAgents/com.onemind.cli.daemon.plist - Linux:systemd 用戶服務,路徑為
~/.config/systemd/user/onemind.service
檢查服務狀態:
onemind service status
重啓服務:
onemind service stop
onemind service start
移動二進制檔案或修復安裝後,可以重新創建服務定義:
onemind service install
在 macOS 上,daemon 標準輸出保存在 ~/Library/Logs/OneMind/daemon.log,錯誤輸出保存在 ~/Library/Logs/OneMind/daemon-error.log。
Mind 資料庫
Mind 資料庫是在團隊共享儲存配額下、按 Project 隔離的私有檔案空間。預設情況下,每次 onemind files 操作都會解析包含當前工作目錄的最具體活躍普通 Project binding;若沒有匹配,它會關閉式失敗,絕不會靜默改用 Team Project。只有明確要操作 Team Project 時才新增 --team。相同的檔案可在 onemind BETA 應用程式的 Mind 資料庫頁面中存取。
使用 onemind files 列出完整資料庫和配額摘要。使用 --prefix 只查看某個類似目錄的路徑,或使用 --json 輸出機器可讀結果:
onemind files
onemind files list --prefix skills/writing
onemind files list --prefix assets --json
onemind files list --team
預設情況下,onemind files 會解析包含當前工作目錄的最具體普通項目綁定;若沒有綁定,它會關閉式失敗,絕不會靜默改用團隊項目。每個任務可使用低噪聲檢查:
onemind files check --quiet --wait --ai codex
後台服務通常會在啟動、相關伺服器事件、身份驗證或網絡重連時檢查已分配檔案,並使用具備退避機制的 15 分鐘低頻回退檢查;這個過程不涉及 AI。託管指令會列出已分配的相對路徑,並始終通過 --ai 提供確切調用目標,從而避免多工具項目目錄產生歧義。命令僅發現 projectIDs 與 aiTargets 同時匹配的檔案,只向伺服器發送元數據。檔案已是最新時完全靜默;批准更新只輸出 Updated <path>.。拒絕會輸出穩定機器結果 project_file_refused 並以狀態碼 3 退出,依賴該檔案的工作必須停止,且不得自動重試。若基於請求期限的網絡或伺服器重試預算耗盡,命令會輸出 project_file_wait_exhausted、以狀態碼 4 退出,並同樣禁止自動重試。稍後處理也會以非零狀態結束且請求繼續保持待處理。狀態碼為 0 後,調用方必須先讀取刷新的本地檔案再依賴其內容。
受治理檢查目標鍵:codex、cursor、qoder、claude_code、antigravity、openclaw、opencode、hermes、pi、grok_build、deepseek_harness、trae、workbuddy。Mind 分配上傳目標鍵:codex、cursor、qoder、claude_code、antigravity、openclaw、opencode、hermes、pi、grok_build、deepseek_harness、trae、workbuddy。
過期檔案會建立或複用一次性裝置範圍請求。可在 onemind BETA 應用程式的 Project 檔案更新頁面選擇批准、拒絕、稍後處理或取消。公開狀態固定為 pending、refused、approved_awaiting_apply、applied、expired、conflict 和 failed;稍後處理會保持 pending。狀態等待使用經過身份驗證的有界長輪詢和重連退避,不進行頻繁輪詢。批准後,單寫入執行器會再次驗證兩側哈希和項目 head,拒絕符號連結及特殊檔案,保留恢復副本,再通過已刷盤的同目錄臨時檔案原子替換。關閉等待命令不會取消持久請求,後台服務仍可應用稍後的批准。
應用身份、審計和恢復副本都保存在項目檢出目錄之外、由 onemind 管理的應用狀態中。進行中的應用會以 mode 0600 持久保存協議版本、嘗試 ID、冪等確認 ID、階段以及輪換 lease 或舊伺服器 grant,因此重啟後只能恢復同一次批准。終態會清除秘密。恢復儲存上限為 100 MiB,未受保護的副本會在七天後清理。
Mind 路徑必須是相對路徑,並統一使用斜槓分隔。每次上傳都必須提供 --ai,明確哪些 AI 目標可以使用該檔案。請使用上方的 Mind 分配上傳目標鍵;多個目標可寫成 --ai codex,cursor。提交單個檔案時,如果沒有使用 --to,系統會使用本地檔案名。例如,下面的命令會為 ChatGPT(codex)和 Cursor 建議新增 release-review.md:
onemind files upload --ai codex ./release-review.md
使用 --to 可以明確指定 Mind 路徑。Prompt 檔案通常保存在 prompts/ 下:
onemind files upload --ai codex,cursor --to prompts/release-review.md ./release-review.md
目錄會遞歸上傳。--to 是 Mind 目標根路徑,目錄中的每個後代都會保留其相對路徑。假設本地技能目錄如下:
writing/
├── SKILL.md
├── examples/
│ └── example.json
└── references/
└── style.md
使用以下命令上傳:
onemind files upload --ai codex,claude_code --to skills/writing ./writing
待審核隊列會收到 skills/writing/SKILL.md、skills/writing/examples/example.json 和 skills/writing/references/style.md 的變更建議。如果目錄預檢發現不支持的格式,上傳會在提交任何檔案之前停止。
如果沒有使用 --to,目錄會以本地目錄名作為 Mind 根路徑。伺服器會將每個提交檔案與已批准的 Mind main 比較:不存在的路徑標記為「新檔案」,已有路徑的變更標記為「新版本」,內容完全相同則報告「未變化」且不建立建議。新檔案和新版本建議會一直等待,直到管理員在所選項目的 Mind 資料庫頁面明確批准或拒絕。
多檔案建議會按順序提交。如果後續檔案失敗,此前的建議仍處於待審核狀態,但已批准的 Mind main 不會改變。請先解決錯誤、在資料庫頁面檢查待審核隊列,然後重新運行命令。完全相同的重試會複用已有的待審核建議,不會建立重複項。管理員批准後,系統才會追加不可變的 Mind 提交、在項目歷史中保留舊版本,並更新配額用量。
下載操作只處理一個路徑完全匹配的 Mind 檔案。如果沒有使用 --output,CLI 會將檔案寫入當前目錄,並使用 Mind 路徑的基礎檔案名。除非傳入 --force,否則不會覆蓋已經存在的本地檔案:
onemind files download skills/writing/SKILL.md
onemind files download --output ./writing-SKILL.md skills/writing/SKILL.md
onemind files download --force --output ./writing-SKILL.md skills/writing/SKILL.md
刪除操作始終要求 --yes。如果沒有使用 --recursive,路徑必須與一個檔案完全匹配。使用 --recursive 時,系統會刪除完全匹配的路徑,以及 / 路徑段邊界之後的所有後代;名稱相似的同級前綴不會被選中:
onemind files delete --yes prompts/release-review.md
onemind files delete --recursive --yes skills/writing
遞歸刪除同樣會按順序執行,並不具備原子性。如果後續刪除失敗,之前已經刪除的檔案不會恢復。請檢查該前綴下仍存在的內容、解決錯誤,然後重新運行同一個已確認命令以完成清理。
資料庫中的內容只是靜態儲存。上傳 prompt 檔案不會更改當前啟用的項目 Mind、發佈團隊記憶,也不會繞過提案與管理員審核治理。上傳技能、腳本、hook 或資產不會在任何裝置上安裝或執行它們。onemind sync 絕不會更改技能。先運行 onemind skills status;只讀的 onemind skills resolve NAME 只為最新技能返回精確校驗過的 SKILL.md 路徑,不會聲稱宿主刷新了任務啟動時的技能目錄。再使用 install、update 或 uninstall 明確選擇具體名稱。onemind 會校驗下載、保護本地修改和項目邊界、隔離可恢復檔案,並記錄每個完成或阻止的操作。
更新 onemind
執行 onemind update --check 可只讀檢查新版本。檢查更新命令面板操作會執行相同的只讀檢查。直接執行 onemind update 會顯示官方簽名安裝程式說明、不做任何更改,並以穩定的「需要操作」狀態碼 3 退出,防止自動化誤報更新已完成。這兩條路徑都不會停止或啟動服務、下載構建產物、替換 CLI 二進位檔案或更改本地狀態。
後台服務也會在啟動時及每六小時檢查新版本,發現新版本時會輸出一行 stderr 通知,並在 macOS 和 Linux 上傳送桌面通知。相同版本的通知不會重複顯示。
如需安裝新版本,請從 CLI 快速開始 重新運行適用於當前操作系統的官方安裝命令。公開的 macOS/Linux 更新命令僅安裝 CLI,並使用 ONEMIND_INSTALL_APP=0;在 macOS 上,它不會下載、替換、配置或打開 OneMind.app 或 OneMind BETA.app。官方安裝程序會同時更新 CLI、已簽名的 AI 工具集成包和安裝綁定;它不會更改 AI 宿主插件。不要單獨替換 CLI 二進制檔案,否則集成狀態可能進入 repair_required,直到安裝完整的簽名發行版。完成後,運行被動的 onemind integrations list --json,只對報告需要操作的目標明確安裝、更新或修復。
檔案和本地狀態
| 狀態 | 位置和行為 |
|---|---|
| CLI 配置 | 位於操作系統用戶配置目錄中的 onemind/config.json。保存語言、API 地址、設備 ID、項目路徑、同步模式和同步進度。 |
| 會話憑據 | 保存在操作系統憑據存儲的 onemind CLI 服務/帳戶中。token 不會保存在 config.json。 |
| 用戶激活的 WorkBuddy/CodeBuddy Project 指令檔案 | 如果存在普通且非符號鏈接的 CODEBUDDY.md,就使用它;否則為兼容而使用 AGENTS.md。只有以規範目標 workbuddy 激活的精確普通 Project binding 才會接收管理區塊;僅發現路徑不會寫入任一檔案。 |
Qoder 代碼倉庫 AGENTS.md | 在同步設定綁定 Project 並執行同步後接收管理區塊。Qoder 會將它作為項目指令載入。 |
TRAE 代碼倉庫 AGENTS.md | 在同步設定綁定 Project 並執行同步後接收管理區塊。TRAE 會將它作為儲存庫規則載入。 |
| 所選 Project 指令檔案 | 精確綁定 Project 中對應工具的原生指令檔案,例如 <project>/AGENTS.md、<project>/GEMINI.md、<project>/CLAUDE.md 或 <project>/.cursor/rules/one-mind.mdc。onemind 只會創建或替換自己的管理區塊。現有主目錄目標僅作為顯式舊版遷移狀態保留。 |
.one-mind/*.md.backup | onemind 接管前原始內容:首次將 Mind 應用到所選指令檔案前,對用戶既有 agent 提示詞(或其他內容)的完整檔案備份。後續同步永不覆蓋。可用 onemind mind restore pre-onemind --yes 恢復,或手動將該備份複製回正在使用的指令檔案。 |
.one-mind/mind-backups/<file>/ | 在後續同步覆蓋已應用 Mind 之前自動創建的已應用 Mind 完整檔案快照,含 manifest.v1.json 與 history/ 下的目的地副本。用 onemind mind backups 列出。 |
.one-mind/outbox-event-<sha256>.json | 不可變的逐事件可靠傳輸隊列。通常應使用 onemind propose;集成方必須持有 .one-mind/outbox-v2.lock,執行共享的 1,000 條事件/4 MiB 容量檢查,再完整寫入並刷新臨時檔案,以不覆蓋既有檔案的原子操作發佈。每個發生變化且有效的舊版 outbox.json 快照都會在不改寫或刪除源檔案的情況下導入,且僅在全部導入事件持久化後推進其摘要。 |
| 同步備份目錄 | macOS 默認:~/Documents/onemindapp/backups/。Linux 和其他平台:{project}/.one-mind/sync-backups/。使用 onemind sync-backup list 和 onemind sync-backup restore 管理還原點。在 macOS 上,可通過 ONEMIND_SYNC_BACKUP_ROOT 覆蓋。 |
~/.onemind/integrations/receipts/v2/<targetID>.json | 整合生命週期收據;整合安裝、更新或採用確認後寫入。 |
~/.onemind/integrations/transactions/<targetID>.json | 集成事務日誌;用於原子安裝和恢復。 |
~/.onemind/integrations/host-rollback/ | 集成更改前創建的宿主回滾快照;保留用於恢復。 |
ONEMIND_VERSION_URL | 環境變量。覆蓋用於檢查最新發行版本的 URL。默認:https://onemind.team/downloads/cli/version.txt。 |
ONEMIND_SYNC_BACKUP_ROOT | 環境變數。覆寫任何支援平台上的同步備份根目錄。未設定時,macOS 使用 ~/Documents/onemindapp/backups/,其他平台使用 {project}/.one-mind/sync-backups/。 |
同一 Project 和根目錄的所有活躍工具綁定共享此隊列。守護進程的確定性綁定選擇僅用於上傳授權路由。schema v11 LearningEvent 不包含生產工具身份,提議響應也完全省略生產工具身份;這種缺失表示生產者不可歸屬,並不表示被選中的上傳工具生成了事件。保留的設備與帳戶只標識獲授權的提交路由和提交者,不標識生成事件的進程。
不要手動修改管理標記。標記缺失、重複、順序錯誤或格式損壞時,同步會停止,以免影響用戶自己的內容。