它由 AI 輔助建構, 並最終建構 AI。

面向希望用 .NET 程式碼改造自己 Agent 的開發者。

GitHub

在你熟悉的終端機裡執行 Agent

Crystal Code 在目前儲存庫中執行,模型和工具的每一步都會即時輸出到終端機。工作區範圍、核准和逾時仍由宿主控制。

你可以在同一個工作區裡修改工具、提示詞和技能。

以現代 .NET 打造

目前只有一個自包含的前端;引擎已經獨立,將來可以再接一個前端。

單一執行檔

Crystal Code 以自包含的 .NET 二進位檔發佈,底層沒有 Node 執行環境。

一套共用引擎

工作階段、核准、壓縮和工具都由同一個類別庫提供,與終端機介面分開。

已為桌面端做好準備

將來的桌面用戶端可以直接引用同一套引擎。目前還沒有桌面用戶端。

以引擎為基礎開發

由第二個模型審查

Review 會自動核准,但不會一律放行。主 Agent 發起會產生副作用的呼叫後,另一個模型會檢查任務、指令和風險,再決定放行,還是把拒絕結果交還給 Agent。

  • 被禁止的操作仍然無法通過。
  • 審查者可以來自其他供應商,也可以使用其他模型。
  • 關掉獨立審查者,不等於關掉 Review。
  • 審查失敗時,宿主會把決定權交還給你。
使用者指南:審查與核准
config.json範例
{
  // Review 模式:由另一個模型審查會產生副作用的呼叫。
  "approval": "review",

  "approvalModel": {
    // true 表示使用獨立審查者。
    // false 或省略時,Review 仍然開啟,並使用工作階段模型。
    "enabled": true,
    "provider": "deepseek",
    "model": "deepseek-flash",
    "thinkingEffort": "max"
  }
}

註解僅作說明。config.json 是 JSON,不支援註解。

留住真正重要的上下文

長工作階段不必因為上下文視窗而中斷。自動壓縮會總結較早的輪次,保留最近一段;完整對話仍保存在磁碟上。

  • 可以設定自動壓縮的觸發時機。
  • 可以用獨立的摘要模型,也可以重用工作階段模型。
  • 關掉獨立摘要模型,不等於關掉壓縮。
  • 清理舊工具輸出時,可以設定要保護多少最近的內容。
使用者指南:上下文壓縮
config.json範例
{
  // 上下文視窗用到 80% 時開始壓縮。
  "compactionThreshold": 0.8,

  "compactionModel": {
    // true 表示使用獨立摘要模型。
    // false 或省略時,壓縮仍然開啟,並使用工作階段模型。
    "enabled": true,
    "provider": "deepseek",
    "model": "deepseek-flash",
    "thinkingEffort": "default"
  },

  "microCompaction": {
    // 每次呼叫模型前,替換掉早先成功的工具結果。
    "enabled": true,
    // 保留最新的兩個使用者輪次,以及 4 萬 token 的舊工具輸出。
    "protectTurns": 2,
    "protectTokens": 40000,
    // 只有移除的文字超過 2 萬 token 時才清理。
    "minimumTokens": 20000
  }
}

註解僅作說明。config.json 是 JSON,不支援註解。

用自己的程式碼,改造這個 Agent

Crystal Code 從設計上就允許你改造。工作區範圍、核准和逾時仍由宿主控制,Agent 能做什麼由你決定。

外掛
外掛由你自己的組件提供。它跟產品一起載入,但執行在獨立的內容中。
提示詞
替換內建的 Work、Plan 或 Review 提示詞,也可以附加可重複使用的提示詞附件。
技能
把 Markdown 流程放進儲存庫,用到時讓 Agent 自己載入。
工具
把工具放進 ~/.crystal/tools 或儲存庫裡。核准和逾時仍由宿主控制。
擴充 Crystal Code

不同的工作,用不同的提示詞集

提示詞集就是一個目錄,裡面放著某類工作要用的指令。你可以把多套放在 ~/.crystal/promptsets/ 下,再用 /promptset 一次啟用一套。

  • /promptset search
  • /promptset reverse
  • /promptset security
  • /promptset develop
  • /promptset frontend
  • /promptset backend
  • /promptset code-review
  • /promptset docs
  • /promptset test
  • /promptset refactor
  • /promptset plan
  • /promptset review
  • /promptset debug
  • /promptset migrate
  • /promptset release
  • /promptset data
  • /promptset infra
  • /promptset api
  • /promptset design
  • /promptset research
  • /promptset incident
  • /promptset performance
  • /promptset accessibility
  • /promptset writing

下面的名字只是範例,內容由你自己寫。

使用者指南:提示詞集

從你的儲存庫開始

安裝自包含版本,開啟一個工作區。模型端點始終由你掌控。