嗨,我是辉哥,一个致力于使用AI技术搞副业的超级个体
之前我们给DeepWrite(内容多平台分发工具)总结出了一套完整的Rules规则,最终的期望是让Cursor帮我们在集成其他平台时,可以解决大部分重复的工作,同时代码风格也要遵循我们项目规范,便于后续维护
拆分后的规则回顾
之前我们将一个大规则,按照功能边界进行了拆分,并且补充了一个导航的文件readme-rule.mdc:
---
description: "项目开发规范"
globs:
alwaysApply: false
---
# DeepWrite 项目开发规范
## 概述
本规范定义了DeepWrite项目的开发标准和最佳实践,旨在确保代码质量、一致性和可维护性。规范文件按照不同关注点进行拆分,便于查找和维护。
## 规则文件结构
.cursor/rules/
├── readme-rule.mdc # 当前文件:总体概述和指引
├── coding-standards.mdc # 代码风格、命名规范和编码标准
├── network-layers.mdc # API架构、网络请求与响应规范
├── platform-adapter.mdc # 平台适配器架构与实现规范
└── platform-settings.mdc # 平台设置配置与UI实现规范
## 规则文件说明
### coding-standards.mdc
定义了项目的基本编码规范,包括代码格式、命名约定、注释标准等。该规则适用于所有源代码文件,是其他规则的基础。
### network-layers.mdc
规定了四层网络架构设计,包括API接口、服务层、适配器层和数据模型层的职责与交互方式。该规则适用于所有网络请求相关代码。
### platform-adapter.mdc
详细说明了平台适配器的设计原则、接口规范、错误处理和生命周期管理。该规则适用于平台集成相关代码,特别是`src/platforms`目录。
### platform-settings.mdc
定义了平台设置的实现标准,包括配置结构、UI组件、验证逻辑和存储管理。该规则适用于平台设置相关代码。
## 如何使用这些规则
1. **开发新功能时**:首先阅读`coding-standards.mdc`了解基本编码规范
2. **实现API请求时**:参考`network-layers.mdc`了解网络架构设计
3. **开发平台适配器时**:参考`platform-adapter.mdc`了解适配器实现规范
4. **配置平台设置时**:参考`platform-settings.mdc`了解设置实现标准
## 规则维护
1. 规则文件应保持聚焦,每个文件专注于一个特定领域
2. 避免规则之间的重复,必要时使用引用关系
3. 随着项目发展,定期更新规则以反映最新的开发实践
4. 规则更新需要经过团队审核
## 适用范围
这些规则适用于DeepWrite项目的所有代码,尤其是核心功能模块和平台集成相关代码。每个规则文件开头的`globs`属性定义了具体的适用文件范围。
使用Rules集成新的平台
由于项目已经实现了公众号、头条、知乎的分发逻辑,现在我们通过Rules让Cursor实现稀土掘金的集成
实现过程中会有一些关键的信息,没有正确定位到文件位置,或者缺失一些文件的内容更新。我们通过新的会话进行上下文的补充
最后这种问题解决完成后,可以继续迭代我们的规则内容,提升后续其他平台的集成代码质量
总的来说,都是一些小问题或者简单的报错,复制出来扔给Cursor后,可以直接修复
同时,在这个过程中,需要检查之前所定义好的Rule,是否可以进行完善,照着这个思路进行下去即可
下面说一个在这个过程中遇到的棘手问题,Cursor反复很多次修复最终才解决,这个过程也值得思考与总结
掘金平台图片上传问题
掘金平台对于图片上传跟之前的都不同,比较复杂。Cursor自己生成的代码都有问题,基本上都是api过期,我通过@web指令实时搜索最新api也无法解决。可能是外网的一些资料关于这部分知识比较缺失导致的,所以这部分只能人工来实现
通过平台图片上传接口的抓包,发现其使用的是字节跳动提供的图片处理和存储服务ImageX,这个过程会涉及复杂的AWS V4签名算法,该签名算法严格要求报文的参数格式符合规范才能通过
这部分的实现我尝试使用了Claude3.7+GPT4.1的反复实现与修改,最终才解决。不过还是可以提供一些具体的思路。将涉及到的4个接口,正确的报文与响应抓取出来,放置到文档中进行记录,然后让Cursor帮我们分析实现思路,后续再修复问题调试参数的时候,尽可能让其参考文档的报文进行比对修
总结
整体来看,通过rules我感觉解决了70%左右的工作量,我们使用AI的同时,也要能够接受它的不完美。但是我们要做的是,针对我们的项目,可以形成一套自己的方法论,来提升AI的正确率与解决问题的效率
比如上述AI无法处理最新的api,我通过抓包提供给其最新的接口报文后,Cusor实现的代码同样一直会报错,反反复复修补不正确。此时多轮上下文的信息非常膨胀,可能已经无法理解我们正确的报文数据了。后续我将正确的接口报文形成文档,每次修复问题都让其与文档接口进行比对后再修复,这样确实更加高效
这里也可以说明另一点,我们可以将项目中关键的知识内容文档化保存,在对话过程中,充分利用好窗口上下文的内容,毕竟这个直接决定AI回答的质量好于坏
</section><p style="font-size: 0px; line-height: 0; margin: 0px;"> </p>