配置
設定說明
設定檔位置
設定檔儲存於專案目錄中的 .spck-editor/config/spck-cli.config.json。
重要:.spck-editor/config 是指向 ~/.spck-editor/projects/{project_id}/ 的符號連結,可將敏感資訊保存在專案目錄之外。
預設設定
{
"version": 1,
"root": "/path/to/your/project",
"name": "My Project",
"terminal": {
"enabled": true,
"maxBufferedLines": 10000,
"maxTerminals": 10
},
"security": {
"userAuthenticationEnabled": false
},
"filesystem": {
"maxFileSize": "10MB",
"watchIgnorePatterns": [
"**/.git/**",
"**/.spck-editor/**",
"**/node_modules/**",
"**/*.log",
"**/.DS_Store",
"**/dist/**",
"**/build/**"
]
},
"browserProxy": {
"enabled": true
},
"acp": {
"enabled": true
}
}
瀏覽器代理設定
browserProxy.enabled(布林值):啟用或停用瀏覽器代理功能- 預設值:
true - 設為
false可防止行動應用程式透過 CLI 開啟瀏覽器代理工作階段
- 預設值:
ACP(本機 AI 代理)設定
acp.enabled(布林值):啟用或停用 ACP(本機 AI 編碼代理)整合- 預設值:
true - 控制 Spck Editor 是否可以透過 Agent Client Protocol 在此主機上驅動本機安裝的 AI 編碼代理(Claude Code、Codex、Gemini CLI)
- 為
false時,acp.capabilities會回應{ available: false, agents: [] },編輯器的本機代理傳輸切換器會被隱藏,並改用雲端(SSE)路徑 - 代理具有間接的 shell 與檔案系統存取權,因此若不想暴露此攻擊面,請逐專案停用此選項
- 向下相容:在此選項出現之前建立的設定會自動填入
acp: { enabled: true }並重新儲存
- 預設值:
💡 另請參閱:行動裝置上的 AI 程式設計助手 (ACP) — 支援的代理(Claude Code、Codex、Gemini CLI)、身分驗證與計費的完整指南,包括 Anthropic 對從 Spck Editor 等第三方工具驅動的 Claude Code 所套用的獨立速率限制配額。
終端機設定
-
terminal.enabled(布林值):啟用或停用終端機存取- 預設值:
true - 設為
false可降低終端機遭未授權存取的風險
- 預設值:
-
terminal.maxBufferedLines(數字):最大捲動回溯緩衝區- 預設值:
10000 - 影響記憶體使用量(每 10,000 行約 1MB)
- 預設值:
-
terminal.maxTerminals(數字):最大同時終端機工作階段數- 預設值:
10 - 每個終端機約使用 5–10MB 記憶體
- 預設值:
檔案系統設定
-
filesystem.maxFileSize(字串):讀寫的最大檔案大小- 預設值:
"10MB" - 可接受:
"5MB"、"50MB"等
- 預設值:
-
filesystem.watchIgnorePatterns(字串陣列):從檔案監看中排除的模式- 預設值:忽略建置輸出和相依套件
- 透過避免監看大量自動產生的檔案來提升效能
安全性設定
security.userAuthenticationEnabled(布林值):啟用 Firebase 使用者身分驗證- 預設值:
false false時:延遲較低、與 Lite 版相容,仍受密鑰簽章保護true時:額外的安全層、使用者身分驗證,首次連線增加 2–20 秒延遲- 無論此設定為何,所有請求均始終進行密碼學簽章
- 預設值:
安全性
加密連線
所有通訊均使用:
- WSS(WebSocket Secure):TLS/SSL 加密
- HTTPS:加密初始交握
請求簽章
每個請求均進行密碼學簽章:
- 密鑰在本機產生,從不透過網際網路傳輸
- 建議避免使用可能暴露您密鑰的第三方 QR 掃描器
最佳實踐
-
保護憑證:
# 加入 .gitignore(設定過程中自動執行) echo ".spck-editor/" >> .gitignore -
在共用電腦上登出:
spck --logout -
限制開放的目錄:
# 不要開放整個家目錄 spck --root /path/to/specific/project -
若不需要可停用終端機:
{ "terminal": { "enabled": false } } -
若不需要可停用瀏覽器代理:
{ "browserProxy": { "enabled": false } } -
若不需要可停用 ACP(本機 AI 代理):
{ "acp": { "enabled": false } }
使用者身分驗證
Spck CLI 支援可選的 Firebase 使用者身分驗證,作為在始終啟用的請求簽章之上的第二道安全防線。
運作原理
啟用後,CLI 要求您使用 Spck Editor 帳號登入。連線透過每小時過期的 Firebase ID 令牌進行驗證,並使用儲存於 ~/.spck-editor/.credentials.json 的安全重新整理令牌自動更新。
啟用使用者身分驗證
{
"security": {
"userAuthenticationEnabled": true
}
}
取捨比較
| 停用(預設) | 啟用 | |
|---|---|---|
| 保護機制 | 密鑰簽章 | + Firebase 身分驗證 |
| 初始延遲 | 無驗證額外負擔 | 首次連線增加 2–20 秒 |
| Spck Editor Lite | ✅ 支援 | ❌ 不支援 |
| 離線使用 | 無需網路連線 | 需要網路連線以更新令牌 |
何時啟用
保持停用(預設)的情況:
- 使用 Spck Editor Lite——Lite 版不支援 Firebase 登入;將此設定為
true將導致 Lite 使用者無法連線 - 在本機網路或受信任環境中工作,且密鑰簽章已足夠安全
- 優先考量最小化連線延遲
啟用的情況:
- CLI 部署於可透過網際網路存取的伺服器上
- 除簽章金鑰外,您還需要使用者身分驗證作為額外的存取控制層
⚠️ Spck Editor Lite 不支援 Firebase 身分驗證。 若
userAuthenticationEnabled設為true,Spck Editor Lite 將無法連線。使用 Lite 版時請將此設定保持為false。