設定 ClineCore,打造重視隱私的程式設計工作階段
實用指南:設定 ClineCore 工作階段、降低敏感資料暴露,並排解常見的設定問題。
摘要 · 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 API 參考文件 — API 選項、工作階段設定、工作階段管理方法和自動化概覽。
常見問題
哪些 ClineCore 設定不受提供者影響?
參考文件說明了 `clientName`、`backendMode`、工具政策、功能和自動化等共用執行階段選項。工作階段設定也包含提供者和模型識別碼、憑證及執行階段欄位。參考文件未證實提供者專屬端點和參數具有相容性,因此請另外確認。
把 API 金鑰放進 Cline 提示中安全嗎?
不安全。請將憑證保存在可信任的伺服器端設定中,並透過文件所述的工作階段設定機制傳入。不要將金鑰放進提示、訊息、metadata 或記錄中。
ClineCore 會自動將工作階段資料匿名化嗎?
提供的 API 參考文件未說明匿名化、遙測資料保留或工作階段資料保護方式。請將訊息、metadata、識別碼和使用量記錄視為可能含有敏感資料,並自行採取存取和資料保留控制。
如何縮小程式設計代理可存取的範圍?
只提供任務所需的檔案,並在可行情況下使用受限的工作區,同時檢視工具政策和功能。不需要工具時請停用;個別工具的實際影響取決於你的實作方式。
相關文章
指南
在 Cline 中設定 OpenAI 相容 Provider,使用 JSON Schema 擷取資料
了解如何在 Cline 中設定 OpenAI 相容 Provider,並透過 coding agent 工作流程建立結構化資料擷取流程,再使用 JSON Schema 驗證結果。
指南
在 Cline 設定 OpenAI 相容供應商,打造附來源引用的文件問答
透過 SDK 設定 Cline 的 OpenAI 相容供應商,並建立能提供可驗證來源引用的文件問答工作流程。
指南
使用 OpenAI-Compatible Provider 的 Cline:需人工核准的支援分流
設定 Cline 搭配 OpenAI-compatible provider 與 OneMux,用於客戶支援分流,同時確保所有面向客戶的操作都必須經過人工核准。
指南
如何設定 Cline 搭配 OpenAI 相容提供者,以驗證儲存庫變更
設定 Cline 搭配 OpenAI 相容提供者,將其連接至程式碼工作流程,並透過測試驗證儲存庫變更。內容涵蓋先決條件、TypeScript 設定、限制與疑難排解。