它由 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

下面的名字只是示例,内容由你自己写。

用户指南:提示词集

从你的仓库开始

安装自包含版本,打开一个工作区。模型端点始终由你掌控。