指南OneMux

設定 ClineCore,打造重視隱私的程式設計工作階段

實用指南:設定 ClineCore 工作階段、降低敏感資料暴露,並排解常見的設定問題。

AI

摘要 · TL;DR

ClineCore 將共用的執行階段選項與工作階段模型設定分開。善用這項區隔,可避免憑證出現在提示和記錄中、限制資料留存,並在排解設定問題時避免假設所有提供者都支援相同參數。

重點

  • 將後端、工具政策和執行階段功能設為 ClineCore 共用選項;模型和憑證設定則傳入各個工作階段。
  • 將 API 金鑰存放在伺服器端環境變數中,絕不可放進提示、metadata 或預先載入的訊息。
  • 將工作階段訊息、識別碼和使用量記錄視為可能含有敏感資料;決定哪些人可以存取,以及資料要保留多久。
  • 必須依提供者的文件確認提供者專屬欄位和端點相容性;ClineCore 提供的參考文件並未證實所有提供者都普遍支援這些設定。
文章目錄 (6)

傳送私人程式碼前,先設定工作階段

ClineCore 可讓應用程式建立執行階段,並以模型和執行階段設定啟動工作階段。隱私方面的實際考量不只在於選用哪個提供者,也包括工作階段會收到哪些資料、哪些工具可以處理這些資料,以及應用程式之後會保留或公開哪些內容。

以下範例僅供說明,並非經測試的整合方式。ClineCore 參考文件說明了 API 的形式,但沒有證實所有提供者都接受相同的模型參數或端點設定。依賴提供者專屬選項前,請先查閱該提供者的文件。

區分共用設定與工作階段設定

ClineCore.create 選項涵蓋用戶端名稱、後端模式、工具政策、功能,以及是否啟用自動化等選擇。start 呼叫則需要包含工作階段模型和執行階段設定的 config。文件中的範例包含 providerId、modelId、apiKey、systemPrompt、cwd、workspaceRoot,以及工具和代理程式旗標。

精簡的伺服器端模式如下:

import { ClineCore } from "@cline/sdk"

const cline = await ClineCore.create({
  clientName: "private-code-review",
  backendMode: "auto",
  toolPolicies: {
    // Set policies for the tools your application exposes.
  },
})

const session = await cline.start({
  prompt: "Review the selected files for risky input handling.",
  config: {
    providerId: process.env.CLINE_PROVIDER_ID!,
    modelId: process.env.CLINE_MODEL_ID!,
    apiKey: process.env.CLINE_API_KEY!,
    systemPrompt: "Review only the supplied code. Do not request secrets.",
    cwd: process.cwd(),
    workspaceRoot: process.cwd(),
    enableTools: false,
    enableSpawnAgent: false,
    enableAgentTeams: false,
  },
})

此範例使用環境變數作為憑證處理方式;參考文件並未指定密鑰管理服務,也未定義這些環境變數名稱。請將金鑰保留在可信任的伺服器上,不要傳送給瀏覽器端程式碼,並避免將工作階段設定輸出至應用程式記錄。如果提供者要求端點或其他參數,請僅依其文件指示進行設定,並確認 ClineCore 支援所需欄位。

明確制定隱私決策

啟動工作階段前,先決定代理程式實際需要哪些資料。若任務允許,請優先提供範圍較小的工作區或指定檔案,而非整個程式碼儲存庫。不要將密鑰、個人資料和無關檔案提供給代理程式。系統提示可以說明資料處理要求,但不能取代存取控制或資料最小化措施。

請同樣仔細檢視工具存取權限與提示內容。ClineCore 支援預設和個別工作階段的工具政策,而執行階段功能可包含由用戶端管理的工具執行器和核准回呼。任務不需要工具時,請停用工具;需要工具時,請採用符合其影響的政策和核准機制。參考文件說明了這些設定介面,但沒有定義各工具的行為,也不保證特定政策能阻止所有敏感操作。

請將工作階段記錄視為可能含有敏感資料。API 可以列出工作階段、擷取 metadata 和訊息、讀取累計使用量、更新記錄,以及刪除工作階段。因此,應用程式應決定哪些人可以呼叫這些方法,以及適用哪些資料保留規則。避免在 sessionMetadata、初始訊息或提示中放入密鑰或不必要的個人資訊:metadata 和訊息屬於工作階段資料,並非安全的密鑰儲存方式。

distinctId 選項的說明是穩定的遙測/使用者識別碼。如果要使用此選項,請考量應用程式是否真的需要穩定識別碼,以及它是否可能識別出個人。參考文件未說明遙測資料的收集、保留或匿名化方式,因此不要假設此識別碼已匿名化,或設定它就能控制所有遙測資料。

排解常見設定問題

  • 建立工作階段時,設定遭到拒絕: 確認 config 存在,並確認提供者和模型識別碼符合該提供者接受的值。提供的參考文件僅列出範例,並非完整的提供者目錄。
  • 驗證失敗: 確認伺服器程序可以取得金鑰、金鑰與所選提供者相符,且未遭意外截斷或替換。絕不可將金鑰放入診斷提示,或貼到支援工單中。
  • 提供者專屬選項遭忽略或拒絕: ClineCore 參考文件並未說明端點或參數具有普遍相容性。請查閱提供者和 SDK 文件,不要假設某個提供者的設定可以套用到另一個提供者。
  • 工作階段可執行超出預期的操作: 檢查 enableTools、工具政策和提供的功能。不需要工具時,請先停用,再只啟用工作流程所需的工具。
  • 記錄中出現敏感內容: 檢查應用程式中哪些路徑會呼叫 readMessages、list 和相關工作階段 API,並套用適當的授權和資料保留控制。參考文件列出這些 API,但未說明應用程式的儲存或存取保護措施。
  • 工作意外持續執行: 使用文件所載的工作階段 abort 或 stop 方法,並在應用程式不再需要執行階段資源時將其釋放。

可重複使用的事前檢查清單

啟用 ClineCore 工作流程前,請確認憑證留在伺服器端;工作區只包含必要檔案;提示和 metadata 不含密鑰;工具存取範圍有限且已經過檢視;工作階段記錄有負責人和保留政策;並已依據目前的提供者文件核對提供者專屬設定。排解問題時,請記錄不含敏感資訊的事實,例如工作階段是否啟動,以及適用的內部請求 ID;不要記錄憑證、完整提示或原始程式碼檔案。

ClineCore 參考文件提供設定和工作階段管理介面,並不代表全面的隱私保證。重視隱私的操作方式,取決於應用程式如何提供資料、控管工具、保護工作階段記錄及處理憑證。

來源

常見問題

哪些 ClineCore 設定不受提供者影響?

參考文件說明了 `clientName`、`backendMode`、工具政策、功能和自動化等共用執行階段選項。工作階段設定也包含提供者和模型識別碼、憑證及執行階段欄位。參考文件未證實提供者專屬端點和參數具有相容性,因此請另外確認。

把 API 金鑰放進 Cline 提示中安全嗎?

不安全。請將憑證保存在可信任的伺服器端設定中,並透過文件所述的工作階段設定機制傳入。不要將金鑰放進提示、訊息、metadata 或記錄中。

ClineCore 會自動將工作階段資料匿名化嗎?

提供的 API 參考文件未說明匿名化、遙測資料保留或工作階段資料保護方式。請將訊息、metadata、識別碼和使用量記錄視為可能含有敏感資料,並自行採取存取和資料保留控制。

如何縮小程式設計代理可存取的範圍?

只提供任務所需的檔案,並在可行情況下使用受限的工作區,同時檢視工具政策和功能。不需要工具時請停用;個別工具的實際影響取決於你的實作方式。

相關文章