Repository navigation
v1.0.0
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