Rust同步技能Skill gen-rust

这个技能用于确保Rust代码与Python逻辑同步,专注于核心功能(排除UI和登录)。它涉及代码审查、模块映射、逻辑移植和测试更新,以保持跨语言实现的一致性和测试覆盖率。关键词:Rust同步、Python代码移植、测试自动化、软件开发、代码一致性。

测试 0 次安装 0 次浏览 更新于 3/8/2026

名称: gen-rust 描述: 通过审查最近更改、映射模块、移植逻辑和更新测试,将Rust实现与Python更改同步(排除UI和登录/认证)。

gen-rust

当用户希望Rust(kagent/kosong/kaos)在逻辑上与Python(kimi_cli/kosong/kaos)保持一致,排除UI和登录/认证时,使用此技能。这包括代码和测试:Rust行为和测试必须与Python更改完全同步。

注意:Rust二进制文件名为kagent。Rust中面向用户的CLI/输出文本必须使用kagent而不是kimi,以匹配Rust命令名称。

快速工作流

  1. 构建完整的更改清单

审查最近更改以了解需要同步的内容:

# 检查暂存更改
git diff --cached --name-only
git diff --cached -- src packages

# 检查最近提交
git log --oneline -20 -- src packages
git diff HEAD~20..HEAD -- src packages

# 审查CHANGELOG.md以获取上下文
head -50 CHANGELOG.md
  1. 分类更改
  • 排除UI和登录/认证更改(Shell/Print/ACP UI,登录/注销命令)。
  • 其他所有内容必须在Rust中镜像。
  • 保持一个小清单:文件 -> 更改摘要 -> Rust目标 -> 状态。
  1. 映射 Python -> Rust

常见映射:

  • src/kimi_cli/llm.py -> rust/kagent/src/llm.rs
  • src/kimi_cli/soul/* -> rust/kagent/src/soul/*
  • src/kimi_cli/tools/* -> rust/kagent/src/tools/*
  • src/kimi_cli/utils/* -> rust/kagent/src/utils/*
  • src/kimi_cli/wire/* -> rust/kagent/src/wire/*
  • packages/kosong/* -> rust/kosong/*
  • packages/kaos/* -> rust/kaos/*
  1. 小心移植逻辑
  • 精确匹配错误消息和工具输出文本(测试通常断言字符串)。
  • 保留输出类型(文本与部分)和顺序。
  • 对于媒体/工具输出,验证ContentPart包装和序列化。
  • 如果Python添加了新辅助模块,镜像最小的Rust实用程序。
  • 使用rg查找现有类比和引用。
  1. 更新测试
  • 更新断言内容/字符串/部分的Rust测试。
  • 镜像Python单元和集成测试(当存在时);添加缺失的Rust测试,使覆盖率匹配意图。
  • 确保E2E对等:通过设置KIMI_E2E_WIRE_CMD,使用现有的Python E2E套件针对Rust二进制文件运行(不要在Rust中重写E2E)。所有E2E用例必须通过,否则必须记录差距。
  • 首先优先进行有针对性的测试(cargo test -p kagent --test <name>),然后如果需要,运行完整套件。
  1. 验证是强制性的
  • 运行完整的Rust测试套件并确保所有Rust测试通过。
  • 运行E2E测试,将wire命令替换为Rust(设置KIMI_E2E_WIRE_CMD),并确保通过。
  1. 最终报告
  • 列出同步的文件和逻辑。
  • 指出故意跳过的UI/登录更改。
  • 列出运行的测试和结果(必须包括完整的Rust测试和带有wire命令覆盖的Rust E2E)。

需要避免的陷阱

  • 跳过llm.py:它经常更改模型能力逻辑。
  • 使用提交消息过滤而不是完整差异。
  • 忘记在输出文本/部分更改时更新Rust测试。
  • 将UI/登录更改混入核心同步。
  • 留下测试对等模糊;始终说明单元/集成/E2E状态。

最小差异清单(模板)

  • [ ] 最近更改已审查(暂存、提交、更改日志)
  • [ ] Python差异已检查核心逻辑
  • [ ] Rust映射已应用
  • [ ] 测试已更新
  • [ ] 有针对性的测试已运行
  • [ ] 完整的Rust测试套件已通过
  • [ ] Rust E2E已通过KIMI_E2E_WIRE_CMD