仓穹 CangStream

v1.2 · 仓颉 Web 框架 + AI Agent 基础设施

JSON · HTTP · SSE · 路由 · 持久化 · 子进程 —— 一个依赖,全栈覆盖。让仓颉开发者轻松构建 AI Agent 应用。

五大核心模块

📋

cangstream.json

基于 stdx.encoding.json 的路径访问扩展 + 链式构建器。json.pathString("a.b.0.c") 替换 15 行嵌套 match。

🌐

cangstream.http

JSON HTTP 客户端 + SSE 事件流解析器。一键调用 DeepSeek / OpenAI,支持流式 LLM 响应。

🚀

cangstream.api

JSON / SSE 服务端路由。server.jsonRoute / sseRoute 一行注册 REST API 和流式推送。

💾

cangstream.store

JSON 文件持久化。内置 Mutex 并发锁,支持 load / get / save / update 四大操作。

⚙️

cangstream.process

子进程执行器。基于 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()
}

启动 JSON/SSE 服务器

一行注册 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
}

立即获取

v1.2.0

最新稳定版本

适用于 Cangjie 1.0.1+

📥 GitHub Release
源码

克隆完整仓库

包含 5 个独立示例

🔗 访问 GitHub
文档

README + CHANGELOG

中文 API 参考

📖 查看文档

版本更新

v0.1.0 - 2025.12

首个正式版本:UI 框架

  • ✅ Streamlit 风格声明式 UI 组件
  • ✅ CangStreamApp 主类
  • ✅ HTTP 服务器封装
  • ✅ 线程安全 SessionState

v1.2.0 - 2026.04 ★ 最新

AI Agent Ready 升级版

  • ✨ cangstream.json 路径访问 + 链式构建器
  • ✨ cangstream.http JSON 客户端 + SSE 解析
  • ✨ cangstream.api JSON/SSE 服务端路由
  • ✨ cangstream.store JSON 文件持久化
  • ✨ cangstream.process 子进程执行器
  • ✨ 零依赖增强 stdx(~1400 行仓颉代码)

v1.3 - 计划中

UI + Agent 一体化

  • 🔄 重构 v0.1.0 的 UI 框架,解决循环依赖
  • 🔄 CangStreamApp 集成 JsonServer
  • 🔄 WebSocket 支持
  • 🔄 主题系统和插件机制

v1.4 - 长期目标

CangBot 完整实现

  • 🎯 用 CangStream 1.3 重写 CangBot 智能体
  • 🎯 验证 SDK 设计完整性
  • 🎯 成为仓颉生态首个完整 AI Agent 范例
×

用户登录

还没有账号?立即注册