Steamauto文档生成工具:API文档自动更新方案
项目概述
Steamauto是一款免费开源的网易BUFF、悠悠有品、Steam全自动收发货解决方案,支持多平台资产同步与交易自动化。项目核心功能通过插件化架构实现,主要模块包括Steamauto.py主程序、steampy/ Steam API客户端、plugins/交易平台插件集。
文档自动更新痛点
传统API文档维护面临三大挑战:
- 代码迭代与文档不同步,如BuffAutoAcceptOffer.py的
should_accept_offer逻辑变更后文档未更新 - 多平台API差异管理复杂,网易BUFF(BuffApi/)与悠悠有品(uuyoupinapi/)接口格式各异
- 交易流程文档滞后,如ECOsteam.py的
sync_sell_shelves同步逻辑缺乏最新说明
解决方案架构
文档生成架构
核心实现模块
- 代码解析器:通过utils/tools.py的反射机制提取函数定义
- 文档生成器:基于Steamauto.py的
import_all_plugins实现插件文档聚合 - 更新触发器:监听versions.json版本变更自动执行生成任务
实施步骤
1. 配置文档模板
在pages/config.html中设置API文档模板,包含:
<div class="api-section">
<h3>{{plugin_name}}</h3>
<ul class="api-methods">
{% for method in methods %}
<li>{{method.name}} - {{method.desc}}</li>
{% endfor %}
</ul>
</div>
2. 集成注释提取
修改utils/logger.py,添加文档注释解析功能:
def extract_docs(func):
"""从函数注释提取API文档信息"""
if func.__doc__:
return {
"name": func.__name__,
"params": parse_params(func.__doc__),
"returns": parse_returns(func.__doc__)
}
3. 执行自动生成
通过命令行触发文档更新:
python -m utils.add_build_info --generate-docs
效果验证
生成的API文档将包含:
- 所有插件方法列表,如UUAutoLease.py的
auto_lease - 参数约束说明,基于steampy/models.py的Asset类定义
- 错误码参考,来自steampy/steam_error_codes.py
扩展建议
- 增加protobufs/协议文档自动生成
- 集成Apprise/pushplus.py实现更新通知
- 开发plugins/BuffProfitReport.py的报表导出功能
项目资源
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



