JSON · HTTP · SSE · 路由 · 持久化 · 子进程 —— 一个依赖,全栈覆盖。让仓颉开发者轻松构建 AI Agent 应用。
基于 stdx.encoding.json 的路径访问扩展 + 链式构建器。json.pathString("a.b.0.c") 替换 15 行嵌套 match。
JSON HTTP 客户端 + SSE 事件流解析器。一键调用 DeepSeek / OpenAI,支持流式 LLM 响应。
JSON / SSE 服务端路由。server.jsonRoute / sseRoute 一行注册 REST API 和流式推送。
JSON 文件持久化。内置 Mutex 并发锁,支持 load / get / save / update 四大操作。
子进程执行器。基于 std.process.launch,spawn 协程监督实现超时控制,捕获 exit/stdout/stderr。
所有模块都是 std / stdx 的轻量增强。保持框架轻量,不引入第三方依赖。
调用 DeepSeek API,用 5 行代码完成(原生 stdx 需要 30+ 行)
import std.collection.*
import cangstream.json.*
import cangstream.http.*
main() {
// 1. 创建 JSON 客户端
let headers = HashMap<String, String>()
headers.add("Authorization", "Bearer sk-xxx")
let llm = JsonClient("https://api.deepseek.com", headers, timeoutSeconds: 60)
// 2. 链式构建请求体
let req = Json.obj()
.put("model", "deepseek-chat")
.put("messages", Json.arr()
.add(Json.obj()
.put("role", "user")
.put("content", "介绍一下仓颉语言")))
.build()
// 3. 发送请求并用路径访问提取回复
let resp = llm.post("/v1/chat/completions", req)
let content = resp.body.pathString("choices.0.message.content") ?? ""
println(content)
llm.close()
}
一行注册 REST API 和 SSE 流式推送路由
import cangstream.json.*
import cangstream.api.*
main() {
let server = JsonServer(8080)
// REST API 路由
server.jsonRoute("/api/echo", { req: JsonRequest =>
let name = req.body.pathString("name") ?? "guest"
return JsonResponse.ok(Json.obj()
.put("greeting", "Hello, ${name}!")
.build())
})
// SSE 流式推送路由(用于 LLM 流式输出)
server.sseRoute("/api/stream", { _: JsonRequest, sse: SseSender =>
for (i in 1..=10) {
sse.sendJson(Json.obj().put("tick", i).build())
}
sse.sendDone()
})
server.run() // 阻塞监听 127.0.0.1:8080
}
首个正式版本:UI 框架
AI Agent Ready 升级版
UI + Agent 一体化
CangBot 完整实现