feat: 实现流式输出功能 v0.1.0

- 创建 hxclaw 项目,基于 picoclaw 的 CLI 增强工具
- 实现流式输出,使用 fmt.Print + os.Stdout.Sync() 实时刷新
- 解决 onChunk 回调累积文本导致的重复输出问题
- 使用 strings.Builder 收集完整响应并保存到 session
- 添加讨论记录和更新日志文档
This commit is contained in:
2026-04-11 22:32:43 +08:00
commit d42c70f5ff
8 changed files with 1024 additions and 0 deletions

60
agents.md Normal file
View File

@@ -0,0 +1,60 @@
# hxclaw AI 行为指南
## 开发规范
### 设计原则
- **面向对象 + 设计模式**:所有功能拆分成模块,模块可复用
- **模块化**:每个功能独立成包,包内高内聚,包间低耦合
- **设计模式**:常用单例、工厂、策略模式
### 代码要求
- **注释**:全局使用中文注释,注释内容详细,说明意图和实现逻辑
- **测试**:所有代码需编写单元测试和功能测试,通过后才可交付
- **命名**:变量、函数、文件名使用英文,注释使用中文
### 交流规范
- **语言**:全程使用中文回答和思考
- **问题处理**一个问题若超过3次尝试仍无法解决立即停止告诉用户遇到的问题询问用户接下来怎么办
- **进度同步**:每次开始编写代码前,更新讨论记录和其他文档
---
## 项目背景
### 定位
- hxclaw 是 picoclaw 的 CLI 增强工具
- 提供流式输出和 Markdown 终端渲染
- 作为独立二进制,与 picoclaw 共存
### 技术栈
- 语言Go 1.21+
- 依赖:通过 go.mod replace 复用 picoclaw
- 终端库charmbracelet/lipgloss
- 测试Go 标准测试框架
---
## 当前任务
### v0.1.0 目标
实现流式输出功能:
1. 创建 go.mod 配置依赖
2. 实现 main.go 入口
3. 实现流式 Provider 调用
4. 实时打印 token
5. 处理非流式 Provider 回退
---
## 注意事项
- 不要修改 picoclaw 源码
- 保持代码独立,便于后续版本同步
- 优先实现核心功能,再考虑增强功能
- 文档和代码同步更新