Skip to content
Open
Show file tree
Hide file tree
Changes from 86 commits
Commits
Show all changes
111 commits
Select commit Hold shift + click to select a range
2250ed4
Add blueprint.
walterlv Sep 10, 2024
4fd95f3
Add SSH.NET
walterlv Sep 10, 2024
3435c75
Add basic UI layout.
walterlv Sep 26, 2024
bafe205
加上光影
walterlv Nov 14, 2024
baff636
添加连接和文件标签
walterlv Dec 2, 2024
d4c9178
添加并不好看的样式
walterlv Dec 15, 2024
e03d9d5
添加配置文件
walterlv Dec 15, 2024
65c7b6c
添加链接配置文件读取
walterlv Jan 3, 2025
d888e7b
修改样式
walterlv Jan 3, 2025
df8f473
修改命名空间为 DotNetCampus
walterlv Jan 3, 2025
c5d6573
让界面看上去像个样子
walterlv Feb 22, 2025
0b28f59
赶紧加 Shell 页
walterlv Feb 22, 2025
832b51a
拿点儿容器来用
walterlv Jul 4, 2025
454f158
改变计划
walterlv Jul 4, 2025
15523e7
删除 Avalonia 计划完全使用控制台
walterlv Jul 4, 2025
420db05
开启新的 UI
walterlv Jul 4, 2025
0ae75b2
整理项目
walterlv Jul 4, 2025
1c01c91
增加 AI 团队
walterlv Jul 4, 2025
1dd0538
AI 协作学习 Terminal.Gui 的使用经验
walterlv Jul 4, 2025
67eef95
添加 AI 任务说明
walterlv Jul 7, 2025
5174ec5
移动结构
walterlv Jul 7, 2025
ddcdf19
添加极简的 SSH 连接配置
walterlv Jul 7, 2025
85c09a9
接入列表
walterlv Jul 7, 2025
5f7df62
使用 Consolonia 替代 Terminal.Gui,因为其界面允许更复杂一些,交互也更现代化一些
walterlv Jul 7, 2025
f4024b1
调整一下界面
walterlv Jul 7, 2025
7df9046
可以在控制台和窗口之间切换
walterlv Jul 8, 2025
8641c7c
美化设备列表
walterlv Jul 8, 2025
49e9b2c
关联设备页
walterlv Jul 8, 2025
0d54cfe
收藏
walterlv Jul 8, 2025
53c6511
添加连接性测试
walterlv Jul 8, 2025
44114be
测试连接状态
walterlv Jul 8, 2025
e3254b1
连接状态样式
walterlv Jul 8, 2025
9cfec9b
使用 AI 整理文档
walterlv Jul 8, 2025
a1d6fa7
AI 学习 Cosolonia 库
walterlv Jul 8, 2025
1a264d3
AI 学习 Consolonia 官方文档
walterlv Jul 8, 2025
ba33b70
AI 设计
walterlv Jul 8, 2025
7bcef81
添加文档项目
walterlv Jul 8, 2025
9cfe91c
AI + 人类共同编写设备信息页
walterlv Jul 8, 2025
90562a9
AI + 人类共同完成设备信息页和文件夹同步页
walterlv Jul 8, 2025
8d08725
AI 学习 Toml
walterlv Jul 8, 2025
5adb213
AI 实现 Toml 配置文件的解析
walterlv Jul 8, 2025
5ec3a1a
删除 Debug 源
walterlv Jul 8, 2025
208ae46
AI 编写文件同步功能
walterlv Jul 8, 2025
6292495
使用日志库记录日志
walterlv Jul 8, 2025
e0c39a7
简化指令文档
walterlv Jul 8, 2025
8f8c657
调一下 UI
walterlv Jul 8, 2025
66f4a66
大幅美化一下界面布局
walterlv Jul 9, 2025
46d0c53
显示同步时间和同步消息
walterlv Jul 9, 2025
21a8c1d
加上两个方向的同步
walterlv Jul 9, 2025
ac466bb
AI 重构 FileSyncService
walterlv Jul 9, 2025
b06dc34
重构文件同步,使得能附带更多异常信息
walterlv Jul 9, 2025
41e540c
AI 优化提示双冒号问题
walterlv Jul 9, 2025
9734e4e
没有启用的同步组时,也提示
walterlv Jul 9, 2025
02d0a02
提示“正在同步”
walterlv Jul 9, 2025
106ec5e
实现 Shell 打开
walterlv Jul 9, 2025
dfd1813
AI 完成保存配置功能
walterlv Jul 9, 2025
3e9956b
AI 重构拆分 SshDeviceCommandsViewModel
walterlv Jul 9, 2025
fbbf6f8
AI 简化属性名
walterlv Jul 9, 2025
88afec8
AI 实现 LocalId/RemoteId 功能
walterlv Jul 9, 2025
4666aa2
保存配置时,列表自动刷新
walterlv Jul 9, 2025
b31b25f
UI 上可以追踪有未保存的修改
walterlv Jul 9, 2025
6121f9a
AI 实现删除和弹窗
walterlv Jul 9, 2025
812410b
AI 学习人类的交互式命令设计
walterlv Jul 9, 2025
2716d74
删除远程设备时,更新列表。
walterlv Jul 9, 2025
5eef628
优化 UI 细节
walterlv Jul 9, 2025
ad2eb2a
AI 拆分 SshRemoteDeviceInfoView
walterlv Jul 9, 2025
30c86d4
AI 提前预研 SSH 密钥认证
walterlv Jul 9, 2025
cd8c862
AI 做公私钥升级安全性分析
walterlv Jul 9, 2025
c45b65c
不过,我们产品有自己的算盘
walterlv Jul 9, 2025
ae879d5
AI 反思
walterlv Jul 9, 2025
4b84ef7
AI 编写基本的一键部署公私钥对的界面
walterlv Jul 9, 2025
e705799
AI 整理文档
walterlv Jul 9, 2025
56bf00e
AI 整理文档,第二波
walterlv Jul 9, 2025
0f46883
AI 实现部署公私钥对
walterlv Jul 9, 2025
3a901d4
AI 优化异步
walterlv Jul 9, 2025
49c0c77
AI 整理状态栏
walterlv Jul 9, 2025
0135427
AI 设计全局状态栏
walterlv Jul 9, 2025
1f2d083
AI 优化全局状态提示栏布局
walterlv Jul 9, 2025
1b3f738
AI 美化状态栏
walterlv Jul 9, 2025
0631a5f
状态栏按钮更加紧凑
walterlv Jul 10, 2025
7746fd3
删除之前 AI 临时用的脚本
walterlv Jul 10, 2025
bb1c039
修复 AOT 编译
walterlv Jul 10, 2025
aaced88
AI 修改配置文件位置
walterlv Jul 10, 2025
7e6ca9e
AI 进行配置文件脱敏
walterlv Jul 10, 2025
44c7586
AI 制作 CI/CD
walterlv Jul 10, 2025
1ad9343
AI 编写版本号注释
walterlv Jul 10, 2025
24fafa9
AI 添加 MIT 协议
walterlv Jul 10, 2025
792846e
fix: 简化GitHub Actions触发条件,支持所有tag格式
walterlv Jul 10, 2025
a27cad4
AI 修复打包
walterlv Jul 10, 2025
3dbcb81
AI 更新经验
walterlv Jul 10, 2025
b388260
AI 优化打出的包
walterlv Jul 10, 2025
129f2c4
fix: 修复跨平台打包中文件夹结构丢失问题
walterlv Jul 10, 2025
6b492ea
修改配置文件路径,加 s
walterlv Jul 10, 2025
1954705
AI 因为 AOT 限制,计划弃用 Toml
walterlv Jul 10, 2025
88091ca
AI 整理文档
walterlv Jul 10, 2025
842c3cd
AI 实现 toml 到 json 配置格式的迁移
walterlv Jul 10, 2025
96238ee
AI 删除 Toml 的解析
walterlv Jul 10, 2025
1e94d69
AI 整理配置文件格式
walterlv Jul 10, 2025
abf57c4
AI 整理所有的配置文件迁移记录
walterlv Jul 10, 2025
3b9e02e
整理整个解决方案,重新命名同步组为目录同步模型
walterlv Jul 11, 2025
a598e22
AI 整理重命名后续的文档修改
walterlv Jul 11, 2025
7e59bd8
AI 整理 toml 迁移任务
walterlv Jul 11, 2025
9149b55
AI 迁移 toml 1/3
walterlv Jul 11, 2025
c3672d9
AI 迁移 toml 2/3
walterlv Jul 11, 2025
e1cd9f1
AI 迁移 toml 3/3
walterlv Jul 11, 2025
c236dc9
AI 迁移 toml (AI 自己验收)
walterlv Jul 15, 2025
5718152
按照林德熙的建议,从 TUI 改成 GUI
walterlv Jul 15, 2025
9404f77
重新使用 GUI
walterlv Jul 16, 2025
e168298
AI 同步文件的修改时间
walterlv Jul 16, 2025
8c87659
AI 撰写终端模拟器文档
walterlv Jul 17, 2025
9ef95d0
AI 撰写集成终端的文档
walterlv Jul 17, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
102 changes: 102 additions & 0 deletions .github/AI任务分工.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
# AI 任务分工

DotNetCampus Terminal 是一个基于 .NET 9.0 和 Consolonia 的远程设备连接管理工具。

## 协作规则

1. 🔥 **开始任务前必读**: 先阅读对应角色的经验总结文档 (见下方各角色链接)
2. 完成任务时更新进度状态 ✅
3. 重要技术经验记录到 `.github/knowledge/` 知识库
4. 大任务拆分成小任务,便于其他 AI 协助
5. 详细技术文档查看 `.github/knowledge/` 目录

## AI 角色分工

### 配置管理专家 (Configuration AI)
**📖 必读文档**: `.github/knowledge/AI协作经验/角色经验总结/配置管理专家-核心经验总结.md`
- ✅ TOML配置文件格式设计和实现
- ✅ 配置解析和数据模型
- ✅ 个人设备配置存储(TOML源保存功能)
- ✅ UI保存按钮绑定和命令实现
- ✅ 设备唯一标识符优化(避免改名导致重复保存)
- [ ] 团队配置同步
- [ ] 配置加密存储

### 文件同步工程师 (File Sync AI)
**📖 必读文档**: `.github/knowledge/AI协作经验/角色经验总结/文件同步工程师-核心经验总结.md`
- ✅ 基于SFTP的文件同步
- ✅ 同步状态监控和UI集成
- ✅ 远程到本地同步
- ✅ 增量同步优化
- ✅ 错误处理优化和诊断信息改进
- ✅ 错误消息格式优化(解决双冒号问题)
- ✅ "没有启用的同步组"UI错误提示优化

### UI界面设计师 (UI Designer AI)
**📖 必读文档**: `.github/knowledge/AI协作经验/角色经验总结/UI界面设计师-核心经验总结.md`
- ✅ 主界面布局和SSH设备编辑界面
- ✅ 数据绑定和MVVM模式
- ✅ 同步状态显示和全局进度条
- ✅ 最近同步时间显示和错误消息绑定
- ✅ 新Shell标签页打开功能(解决TUI应用中的Shell冲突问题)
- ✅ SshRemoteDeviceInfoViewModel重构(拆分为同步和命令子ViewModels)
- ✅ 建立ViewModels和Views的文件夹重构规范
- ✅ 删除设备功能(使用交互式命令模式实现)
- ✅ SshRemoteDeviceInfoView.axaml重构(从208行拆分为31行主View + 3个子TabViews)
- ✅ 一键部署SSH密钥对功能的界面和ViewModel实现
- [ ] 路径省略功能
- [ ] 交互优化

### SSH连接专家 (SSH Connection Expert AI)
**📖 必读文档**: `.github/knowledge/AI协作经验/角色经验总结/SSH连接专家-核心经验总结.md`
- ✅ SSH密钥认证配置指南
- ✅ 多设备连接安全性分析
- ✅ SSH.NET封装和连接管理
- ✅ 一键部署SSH密钥对功能(与UI设计师协作完成)
- [ ] SSH连接池优化
- [ ] 断线重连机制
- [ ] SSH隧道和端口转发支持

### 文档维护员 (Documentation AI)
**📖 必读文档**: `.github/knowledge/AI协作经验/角色经验总结/文档维护员-核心经验总结.md`
- ✅ 简化协作文档,提升AI协作效率
- ✅ 知识库分类重组(`.github/knowledge/` 目录结构优化)
- ✅ 项目文档维护和技术标准制定
- ✅ AI角色权限和职责优化
- ✅ Copilot指令文档完善
- [ ] 自动化文档生成工具
- [ ] 多语言文档支持
- [ ] API文档自动更新

### DevOps 自动化专家 (DevOps Automation Expert AI)
**📖 必读文档**: `.github/knowledge/AI协作经验/角色经验总结/DevOps自动化专家-核心经验总结.md`
- ✅ GitHub Actions CI/CD 流水线设计和实现
- ✅ 跨平台应用程序自动化构建(Windows/Linux/macOS)
- ✅ 自动化发布和版本管理
- ✅ 构建产物自动化打包和分发
- ✅ GitHub Releases 自动化发布
- ✅ 代码质量检查和自动化测试集成
- ✅ 依赖项安全扫描和更新
- [ ] 性能基准测试自动化
- [ ] 部署环境配置和基础设施即代码

### 其他模块
- 进程管理专家:Shell启动和进程管理
- Windows连接专家:Windows远程连接
- 测试工程师:测试框架和自动化
- 知识学习者:技术文档和最佳实践

## 协作流程

1. **开始任务前必读** 📖 对应角色的经验总结文档(见各角色的必读文档链接)
2. **技术文档查阅** `.github/knowledge/` 相关技术文档
3. **接口设计** 优先,确保模块间依赖清晰
4. **及时测试** 每个模块完成后立即编译验证
5. **知识共享** 将技术问题和解决方案更新到知识库和经验总结
6. **进度同步** 接口变更时通知相关AI

## 重要提醒

- 详细的编码规范、Consolonia使用指南等技术文档已整理到 `.github/knowledge/` 目录
- 遇到技术问题先查阅知识库,避免重复踩坑
- 复杂问题及时寻求人类帮助,避免AI陷入错误循环
151 changes: 151 additions & 0 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
# GitHub Copilot 指导文档

DotNetCampus Terminal 项目的 AI 协作开发指南。

## 项目概述

基于 .NET 9.0 和 Consolonia 的远程设备连接管理工具,采用多AI协同开发模式。

**🤖 AI角色自动认领机制**:如果用户在提示词中指定了AI的角色(如"你是文档维护员"、"你是UI界面设计师"等),AI应该:
1. 立即查看 `.github/AI任务分工.md` 文件认领对应职位
2. 阅读该角色的必读文档(角色经验总结文档)
3. 按照职位要求和经验总结执行后续行动
4. 遵循该角色的技术规范和工作流程

**技术栈**:.NET 9.0, Consolonia, SSH.NET, Tomlet, DotNetCampus.Logger

## 核心编码规范

### 命名约定
- 类名/方法名/属性名:PascalCase
- 私有字段:camelCase + 下划线前缀 `_fieldName`
- 接口:以I开头

### 代码风格
- 启用 nullable 引用类型
- 异步方法以 Async 结尾
- 使用依赖注入
- 添加 XML 文档注释

### 常见错误提醒 ⚠️
**以下是AI同事经常犯的错误,必须避免**:
1. **日志命名空间**:使用 `DotNetCampus.Logging` 而不是 `DotNetCampus.Logger`(前者是命名空间,后者是库名称)
2. **日志方法名**:使用 `Log.Warn` 而不是 `Log.Warning`
3. **编译文件占用**:`dotnet build` 提示文件被占用时,这是正常现象(VS Code的bug),不要报错
4. **SSH.NET引用**:确保添加 `using Renci.SshNet;`

### 兼容性原则
**重要:本项目不需要考虑兼容性问题**
- 不使用 `[Obsolete]` 标记
- 不保留旧方法或接口
- 不添加"兼容旧版本"等注释说明
- 直接重构和替换,无需向后兼容
- 项目处于开发阶段,API可以自由变更

### 代码重构原则
- **400行规则**:代码超过400行时,需要酌情考虑重构
- **600行硬限制**:代码超过600行时,必须考虑重构
- **例外情况**:超过600行但非常单一易懂的代码(如大型枚举)可以保留
- 重构方式:拆分类、提取方法、分离职责

## Consolonia 关键要点

### 核心概念
- **像素 = 字符**:每个像素对应一个控制台字符
- **文件扩展名**:使用 `.axaml` 而不是 `.xaml`
- **命名空间**:`xmlns:console="https://github.com/jinek/consolonia"`
- **主题**:推荐使用 `TurboVisionDarkTheme`

### 重要差异
- 使用 `AvaloniaList<T>` 替代 `ObservableCollection<T>`
- 使用 `console:LineBrush` 配置边框样式
- 按钮禁用阴影:`console:ButtonExtensions.Shadow="False"`
- 异步UI更新:`Dispatcher.UIThread.InvokeAsync`

### 性能优化
- 使用 `VirtualizingStackPanel` 处理大数据集
- 选择合适的绑定模式(OneTime/OneWay/TwoWay)
- 使用 `x:DataType` 实现强类型绑定

## 日志规范

使用 **DotNetCampus.Logger**:
- 使用静态 `Log` 类,无需依赖注入
- 日志格式:`Log.Info("[标签] 消息内容")`
- 标签约定:`[FileSync]` `[SSH]` `[UI]` `[Config]` `[Network]` `[System]`
- **常用方法**:`Log.Info()`, `Log.Warn()`, `Log.Error()`

## 协作要点

### 开发流程
1. 🔥 **首要步骤**:查看 `.github/AI任务分工.md` 确定自己的角色
2. 📖 **必读文档**:阅读对应角色的经验总结文档(详见下方技术文档索引)
3. 📚 **技术查阅**:查看 `.github/knowledge/` 相关技术文档
4. 接口设计优先,确保模块依赖清晰
5. 及时测试,避免积累错误
6. 知识更新到知识库和经验总结,便于复用

### 求助时机
以下情况建议寻求人类帮助:
- 多个命名空间冲突
- API版本兼容性问题
- 复杂的泛型推断失败
- 平台特定显示问题
- **反复犯错**:如果发现自己在重复犯同样的错误

**注意**:`dotnet build` 文件占用问题是VS Code的已知bug,属于正常现象,无需求助。

## 技术文档索引

详细的技术资料已整理到 `.github/knowledge/` 目录:

### 角色经验总结(首要阅读)
- `UI界面设计师-核心经验总结.md` - UI设计师核心经验
- `文件同步工程师-核心经验总结.md` - 文件同步工程师核心经验
- `配置管理专家-核心经验总结.md` - 配置管理专家核心经验
- `SSH连接专家-核心经验总结.md` - SSH连接专家核心经验
- `文档维护员-核心经验总结.md` - 文档维护员核心经验

### 技术参考文档
详细的技术资料已按照以下结构组织,AI可根据具体技术需求选择相应文档:

#### 依赖库使用指南
- `依赖库文档/Consolonia/01-快速参考指南.md` - Consolonia快速参考
- `依赖库文档/Consolonia/02-架构核心要点.md` - 架构设计要点
- `依赖库文档/Consolonia/03-UI框架使用.md` - UI框架详细使用
- `依赖库文档/Consolonia/04-UI设计模式最佳实践.md` - UI设计模式
- `依赖库文档/DotNetCampus.Logger/01-日志框架使用指南.md` - 日志使用指南
- `依赖库文档/SSH.NET/01-基础使用指南.md` - SSH.NET基础使用
- `依赖库文档/SSH.NET/02-文件同步实现.md` - 文件同步指南
- `依赖库文档/Tomlet/01-TOML解析使用指南.md` - TOML配置解析
- `依赖库文档/DotNet9/01-新特性在项目中的应用.md` - .NET 9新特性

#### 技术设计文档
- `技术设计文档/界面设计/01-Terminal界面开发指南.md` - Terminal界面开发
- `技术设计文档/界面设计/02-SSH设备信息视图设计.md` - SSH设备视图设计
- `技术设计文档/界面设计/03-进度显示和数据绑定.md` - 进度显示设计
- `技术设计文档/界面设计/04-ViewModel重构最佳实践.md` - ViewModel重构
- `技术设计文档/界面设计/05-TUI与Shell集成解决方案.md` - Shell集成方案
- `技术设计文档/界面设计/06-交互式命令模式设计.md` - 交互式命令设计
- `技术设计文档/配置管理/01-TOML配置文件架构设计.md` - 配置架构设计
- `技术设计文档/配置管理/02-配置保存功能实现.md` - 配置保存实现
- `技术设计文档/配置管理/03-配置数据源迁移方案.md` - 配置迁移方案
- `技术设计文档/配置管理/04-设备唯一标识符设计.md` - 设备ID设计
- `技术设计文档/文件同步/01-远程到本地同步架构.md` - 同步架构设计
- `技术设计文档/文件同步/02-增量同步性能优化.md` - 同步性能优化
- `技术设计文档/文件同步/03-同步错误处理机制.md` - 错误处理机制
- `技术设计文档/SSH连接管理/01-SSH密钥认证配置方案.md` - SSH密钥配置
- `技术设计文档/SSH连接管理/02-多设备连接安全分析.md` - 连接安全分析

#### 问题排查指南
- `问题排查/开发问题快速解答手册.md` - 问题解决方案

#### AI协作经验
- `AI协作经验/实现经验总结/设备唯一ID实现技术总结.md` - 设备ID实现经验
- `AI协作经验/实现经验总结/TOML配置功能实现踩坑记录.md` - 配置功能踩坑记录
- `AI协作经验/AI多角色协作开发经验.md` - 多角色协作经验

**重要提醒**:
1. 🔥 开始任务前,必须先阅读对应角色的经验总结文档
2. 📚 遇到技术问题先查阅知识库,避免重复踩坑
3. 💡 将新的踩坑经验及时更新到经验总结文档中
121 changes: 121 additions & 0 deletions .github/knowledge/AI协作经验/AI多角色协作开发经验.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
# AI 协作开发经验教训

## 概述

本文档记录了在 DotNetCampus Terminal 项目中多 AI 协作开发过程中总结的经验教训,帮助提高协作效率和代码质量。

## 开发过程中的经验教训

### 2025年7月8日 - 技术栈迁移阶段

#### 经验总结

1. **技术栈变更管理**
- **问题**: 项目从 Terminal.Gui 迁移到 Consolonia,旧的知识库需要清理
- **教训**: 技术栈变更需要系统性地清理相关文档和配置
- **改进**: 建立技术栈变更checklist,确保所有相关文档都得到更新

2. **文档维护的重要性**
- **问题**: 旧的技术文档可能误导后续开发
- **教训**: 文档维护需要及时跟进技术变更
- **改进**: 指定专门的文档维护员角色,负责文档的一致性

### 2025年7月4日 - Terminal.Gui 知识学习阶段(已迁移)

#### 经验总结

1. **知识文档管理**
- **问题**: 创建了重复的文档(`terminal-gui-guide.md` 和 `Terminal.Gui-使用指南.md`)
- **教训**: 在创建新文档前,应该先检查是否已有类似文档
- **改进**: 建立统一的文件命名规范,使用中文命名更清晰

2. **编译错误处理策略**
- **问题**: AI 在遇到复杂编译错误时容易陷入重复尝试的循环
- **教训**: 应该更早地识别需要人类帮助的情况
- **改进**: 建立明确的求助触发条件,避免无效迭代

3. **知识积累方式**
- **问题**: 刚开始没有系统性地记录遇到的问题和解决方案
- **教训**: 应该在开发过程中实时记录经验,而不是事后总结
- **改进**: 建立"边开发边记录"的习惯

4. **文档结构优化**
- **问题**: `copilot-instructions.md` 文件过长,不利于快速查阅
- **教训**: 主要文档应该保持简洁,详细内容应该分散到专门的知识库中
- **改进**: 采用"总纲+详细文档"的结构,通过链接引导到具体内容

#### 技术层面的发现(已过期)

*注意:以下内容关于 Terminal.Gui 的技术细节已过期,项目现已迁移到 Consolonia*

1. **Terminal.Gui v2 的变化**
- 命名空间结构发生了重大变化,不能使用 v1 的经验
- `MenuBarv2` 替代了旧版 `MenuBar`
- 事件处理模型有所调整(`KeyDown` 替代 `Accept`)

2. **编译错误的模式**
- 命名空间冲突是最常见的问题
- 泛型推断失败通常是类型不明确导致的
- 事件绑定错误往往是 API 版本差异导致的

3. **最有效的调试方法**
- 使用 `MessageBox.Query` 进行快速调试
- 分层验证:先基础控件,再复杂布局,最后事件处理
- 渐进式开发比一次性完成更可靠

#### 协作流程的改进

1. **人机协作的边界**
- **AI 适合**: 模式化的代码实现、文档整理、知识积累
- **人类适合**: 复杂问题诊断、架构决策、跨模块协调
- **关键**: 及时识别问题的复杂度,避免AI在困难问题上浪费时间

2. **知识传承机制**
- 建立系统性的知识库,按技术栈分类
- 重要经验要同时记录在主文档和详细文档中
- 使用统一的文档格式和命名规范

3. **任务分工的优化**
- 知识学习者应该先建立技术基础,再进行实际开发
- 实际开发过程中发现的问题要及时反馈到知识库
- 不同AI之间应该有明确的依赖关系和沟通机制

## 最佳实践总结

### 1. 开发前准备
- 查阅相关技术的知识库文档
- 了解依赖模块的接口状态
- 制定渐进式的开发计划

### 2. 开发过程中
- 遇到编译错误先查知识库
- 复杂问题及时求助人类开发者
- 实时记录新发现的问题和解决方案

### 3. 开发完成后
- 更新相关的知识库文档
- 总结开发过程中的经验教训
- 通知依赖此模块的其他AI

### 4. 知识管理
- 使用统一的文档命名规范
- 保持主文档简洁,详细内容分散到专门文档
- 定期检查和清理重复或过时的文档

## 未来改进方向

1. **自动化工具**
- 考虑建立自动的编译错误诊断工具
- 实现知识库的自动索引和搜索功能

2. **协作机制**
- 建立更正式的AI间通信协议
- 实现进度跟踪和依赖管理系统

3. **质量保证**
- 建立代码审查流程
- 实现自动化测试和持续集成

---

**注意**: 这个文档应该持续更新,每次重要的协作经验都应该记录在这里,形成团队的集体智慧。
Loading