Skip to content

v1.0.0

Choose a tag to compare

@sinabs sinabs released this 02 Nov 13:54
3021f30

Yoke 1.0.0

首个正式版本:Spring Boot 4.1 + AgentScope Java 2.0 的单模块 Agent 服务,支持同步与 SSE 流式对话,内置天气工具。

新功能

  • SSE 流式对话 POST /api/chat/stream:边推理边推送事件(textDelta、toolCall、toolResult、done、error)。框架吐出的工具参数碎片在服务端攒齐;模型出错时发 error 事件而不是断连。
  • 天气工具 get_weather:通过开源的 Open-Meteo 查询当前天气,无需密钥。
  • 同步对话 POST /api/chat:一次返回整段回复。
  • 本地环境接火山方舟(OpenAI 兼容协议),密钥读环境变量 ARK_API_KEY。

修复与加固

  • 流式响应补上 charset=UTF-8,解决 IDEA 等客户端把中文显示成乱码的问题。
  • 天气工具:上游响应限长读取(最多 64KB);上游缺必须字段时提示服务不可用,不再用 0 编造天气;很小的经纬度不再被拼成科学计数法。

其他

  • 对外事件定义在 model.ChatEvent(sealed),框架类型只允许出现在 codec 和 middleware,由 ArchUnit 测试守着。
  • 代码风格统一:空白判断用 Hutool StrUtil,判空用 Objects.isNull/nonNull,默认值用 Optional。
  • 新增 src/test/java/com/yoke/curl/01-sse-streaming.http,在 IDEA 里点绿色三角即可运行示例请求。

注意

  • Open-Meteo 免费接口仅限非商业使用,商用需换付费版或别的数据源。
  • 同一会话的并发请求不会被串行化,由调用方保证同一会话同一时间只发一个请求。

完整变更见 #1