Files
HxClaw/agents.md
titor bdad44de7d
Some checks failed
Release / build (push) Failing after 22s
feat: 优化流式输出,添加按行延迟和配置化
- 使用 ProcessDirect 替代 ChatStream,支持工具调用结果显示
- 新增 project.config.yml 统一配置(Logo、用户前缀、流式延迟、Markdown等)
- Markdown 渲染支持自动终端宽度换行
- 按行输出文本,每行延迟可配置
- 简化状态栏,只显示耗时(图标颜色 #f0c75e,文字颜色 #2b2e32)
- spinner 动画右移两个字符
- 用户输入前缀可配置化
2026-04-15 06:13:52 +08:00

156 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 回退
6. Markdown 终端渲染glamour
---
## 实现进度
### v0.1.0 已完成功能
1. **流式输出(新流程)**
- 等待 AI 返回完整响应
- Markdown 转译
- 模拟流式输出(从配置读取速度)
- 效果更好,无残留问题
2. **Markdown 渲染**
- 使用 glamour 库渲染 Markdown
- 支持多种主题dark, light, dracula, tokyo-night 等)
- 通过 project.config.yml 配置主题
3. **项目配置**
- 通过 project.config.yml 统一管理配置项
- 支持流式速度、渲染主题、Logo 等配置
---
## 项目配置
### project.config.yml
配置文件位于项目根目录:
```yaml
# hxclaw 项目配置文件
# 模拟流式输出配置
streaming:
simulated_speed_ms: 30 # 模拟流式输出速度(毫秒/字符)
# Markdown 渲染配置
markdown:
glamour_style: dark # 渲染主题dark, light, dracula, tokyo-night 等
# UI 配置
ui:
logo: "🦐"
```
配置加载优先级:
1. 环境变量 `HXCLAW_CONFIG` 指定路径
2. 项目根目录 `project.config.yml`
---
## 依赖管理
### Go 依赖
- `charm.land/glamour/v2` - Markdown 渲染
- `charm.land/lipgloss/v2` - 终端样式
- `charm.land/x/term` - 终端控制
- `github.com/muesli/termenv` - 终端环境工具
- `gopkg.in/yaml.v3` - 配置文件解析
### 配置文件
- `cmd/hxclaw/main.go` - 主入口逻辑
- `cmd/hxclaw/internal/markdown.go` - Markdown 渲染器
- `cmd/hxclaw/internal/helpers.go` - 辅助函数
- `cmd/hxclaw/internal/config.go` - 项目配置加载
---
## 已知问题
1. **重绘残留**:某些情况下有轻微文本重复(可接受)
2. **终端兼容性**termenv 在某些终端可能不完全工作
---
## 待优化
1. 优化重绘逻辑,解决残留问题(已通过新流程解决)
2. 添加更多主题支持
3. 添加命令行参数支持主题选择
---
## 构建命令
picoclaw GitHub地址https://github.com/sipeed/picoclaw.git
```bash
go build -o hxclaw ./cmd/hxclaw
```
生成的可执行文件位于项目根目录。
---
## 注意事项
- 不要修改 picoclaw 源码
- 保持代码独立,便于后续版本同步
- 优先实现核心功能,再考虑增强功能
- 文档和代码同步更新