用华为仓颉语言从零实现的交互式编码代理(coding agent harness)。

终端里用自然语言描述任务 → Agent 理解意图、自主规划、调用工具、观察结果、迭代直至完成。全流程在 TUI 中实时呈现,亦可通过 Web 远程驱动。

cjh 是仓颉语言原生实现的 coding agent harness:单二进制零依赖分发(一个文件 = 一个 agent)、语言级内存安全加持的插件信任链、以「省 token + 高执行效率」为双硬性指标的系统化工程优化。终端 TUI 与 Web 远程双驱动,并面向 多 agent 并行编排 演进(借鉴 swarm 等成熟范式,取并行子代理取向)。


在这里插入图片描述

🎯 立项初衷:仓颉原生的差异化价值

AI 编程 agent 领域已有 codex、claude code、deepseek dsh、pi、omp 等成熟方案,功能层面已被充分验证。cjh 的价值,是用仓颉语言从底层把一个 完整、可运行、可复用的 coding agent harness 重新实现出来——源码注释完备、可读可学习,是仓颉做 agent 的一手参考实现。单二进制分发、语言级安全、多后端编译、M:N 原生并发,这些仓颉语言特性在 agent 这一真实工程场景里完整落地,并由此支撑 多 agent 并行编排

立项核心命题:主流 agent 已证明功能可行,功能堆砌无意义;仓颉独有优势才是立身之本。 三个硬约束贯穿全部设计:

  1. 不重复造轮子:功能层面主流 agent 已证明可行,功能堆砌无意义;
  2. 仓颉独有优势是前提:别的语言能轻易做到的,不构成竞争力;取长补短,好的当然可以借鉴,但仓颉语言特性带来的差异化更值得做;
  3. 生态贡献是目标:像 dsh 的插件生态一样,让社区愿意为 cjh 贡献——这要求插件门槛足够低、分发足够顺、信任机制足够完善。

仓颉语言特性如何命中痛点

仓颉特性解决的痛点差异化优势
静态编译单二进制(cjnative)运行时包袱、分发成本无 Node/Bun/npm 依赖树,一个文件 = 一个 agent,<10MB
强安全语言设计(安全 DNA)安全模型插件/技能编译期类型检查,内存安全,恶意代码风险结构性降低
多后端编译 + 终端层平台抽象(cjnative/cjvm + 鸿蒙位)平台覆盖Linux / macOS / Windows 原生运行,鸿蒙预留;终端层 VT 输出统一 + 平台后端条件编译,一份源码多平台二进制
M:N 轻量线程 + 高性能上下文管理、并发原生并发处理流式/多 agent,低开销
国产根技术信创/自主可控政企、金融等敏感场景无涉外运行时依赖

🎯 两大硬性指标

cjh 的核心设计目标是两大硬性指标:省 token + 高执行效率。这两点直接决定 coding agent 的实用价值与成本。

指标一:省 token

LLM API 按 token 计费,coding agent 多轮工具调用累积 token 消耗惊人。cjh 参考 Pi agent 的省 token 工程化经验,从四个维度系统优化:

优化手段实现方式效果
工具结果截断与回溯超阈值工具结果保留头尾 + 完整落盘 ~/.cjh/spill/<sessionId>/<toolCallId>.txt + 省略标记含落盘路径,模型可用 read_file 按需读回避免像某些 agent 只取开头和结尾丢失中间信息;落盘回溯既省 token 又不丢信息
自动 Compaction消息条数或估算 token 超阈值触发 LLM 摘要压缩早期历史长会话不爆上下文窗口,省 token 又防溢出
prompt cache 利用DeepSeek prompt_cache_hit_tokens + Anthropic cache_read_input_tokens 统计与展示利用 Provider 的 prompt 缓存,重复前缀不重复计费
回合总结条每轮结束显示 ✓ 2 rounds · 3 tools · 42.6s · 1.5k tokens · 99% cachedtoken 消耗实时可见,便于人工干预

指标二:高执行效率

优化手段实现方式效果
V2d 并发执行引擎DAG 依赖分析(从 ToolCall 提取资源访问 (path, isWrite))+ 拓扑分组调度(同组 spawn 并发,组间串行)LLM 并行工具调用自动并发执行
hashline 文件改写(借鉴 OMP)行号锚点 @@N + 内容验证编辑避免 read 整文件 + write 整文件的开销,大文件精确行级编辑
keep-alive 连接复用上一轮响应自然读完的连接入池,下一轮 chatStream 优先复用多轮任务省 TCP+TLS 握手(实测 2-5s/轮次)
📊 实测基准(真实 LLM 任务)
指标优化前优化后说明
prompt 峰值42.9K token(无上限爬升)9.4K(压缩后重置 5-7K)历史压缩机制修复
同窗口轮次48 轮 / 300s15 轮 / 240s单轮耗时降为 2-5s(此前 5-22s)
压缩触发从不触发每 ~5 轮自动压缩双阈值:消息条数 OR 真实 prompt token
工具执行耗时<100ms<100ms框架本身非瓶颈

🚀 功能一览

Agent 核心

  • 多轮工具调用循环:消息历史 → LLM → 工具调用 → 结果回填 → 再调用
  • 三域 Capability 安全模型:commands / tools / resources 白名单 + 危险操作审批链
  • 自动 Compaction(后台异步):后台 spawn 摘要,不阻塞主循环
  • 项目指令:自动加载 AGENTS.md / .atomcode.md 注入 system prompt

工具系统(14 个内置 + 可扩展)

  • bash:执行 shell 命令
  • read_file / write_file / append_file:文件读写与追加
  • hashline_edit / edit:精确行锚点编辑与字符串替换
  • grep / glob / ast_grep:代码搜索与匹配
  • list_dir:列出目录树
  • todo_write:任务列表管理
  • task:派发子代理(explore/worker)
  • web_search / web_fetch:联网搜索与网页抓取

LLM Provider 层

支持 OpenAI, DeepSeek, GLM, Anthropic, Ollama, MCP 服务器。


📁 架构

┌─────────────────────────────────────────────────────────┐
│             cjh 主入口 (entries.cj + main.cj)             │
│              CLI / TUI / JSON / Web / Mock               │
├─────────────────────────────────────────────────────────┤
│  TUI 层 (tui/)          │  Web 层 (web/)                │
│  差分渲染 + 按键 + 主题   │  HTTP Server + WebSocket       │
├─────────────────────────────────────────────────────────┤
│              Agent 运行时 (agent/loop.cj)                │
│        消息状态机 + 工具调用协议 + DAG 并发调度             │
├──────────────────┬──────────────────────────────────────┤
│  工具集 (tools/)  │  LLM 层 (libs/cjllm/)               │
│  bash/read/write  │  OpenAI / Anthropic / Ollama / Mock  │
│  grep/list/edit   │  SSE 流式解析 + 累加器                │
│  plugin/mcp/todo  │                                      │
├──────────────────┴──────────────────────────────────────┤
│  基础设施库 (libs/)                                      │
│  cjterm(终端UI)· cjcfg(配置)· cjutil(工具)· cjlog  │
└─────────────────────────────────────────────────────────┘

🤝 仓颉生态价值

开发过程中沉淀出 5 个零依赖(或仅官方 stdx)的独立仓颉库

  1. cjterm:终端 UI 组件库(ANSI / 差分渲染 / 跨平台终端层)
  2. cjlog:异步日志库
  3. cjconfig:通用分层配置库
  4. cjutil:通用工具库(SHA256 / 国密 SM2 / UTF-8 安全截断 / BM25 检索)
  5. cjllm:LLM 协议库(OpenAI / Anthropic / Ollama / SSE)

📄 License

MIT

Logo

一站式 AI 云服务平台

更多推荐