UI-TARS Contributors Guide: How to Submit Pull Requests

UI-TARS Contributors Guide: How to Submit Pull Requests

【免费下载链接】UI-TARS 【免费下载链接】UI-TARS 项目地址: https://gitcode.com/GitHub_Trending/ui/UI-TARS

为什么贡献UI-TARS?

作为领先的GUI自动化代理模型,UI-TARS正在重新定义人机交互的未来。你的代码贡献可以:

  • 提升跨平台GUI操作精度(当前OSWorld benchmark达42.5%成功率)
  • 扩展移动设备交互能力(支持AndroidControl基准测试64.2%的接地准确率)
  • 优化游戏自动化逻辑(14款Poki游戏实现100%完成率)

读完本文你将掌握:环境配置全流程、PR提交规范、代码审查要点、贡献者激励机制

贡献流程概览

mermaid

关键时间节点

  • 首次贡献者:完成环境配置约30分钟
  • 功能开发:根据复杂度1-7天
  • PR审查周期:平均3个工作日
  • 合并后上线:每周五发布窗口

1. 环境准备

1.1 克隆代码仓库

git clone https://gitcode.com/GitHub_Trending/ui/UI-TARS.git
cd UI-TARS

⚠️ 注意:请勿使用GitHub链接,项目官方镜像仅托管于GitCode

1.2 安装开发依赖

# 基础环境
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate

# 安装核心依赖
cd codes
pip install -e .[dev]  # 包含测试和格式化工具
uv pip install ui-tars  # 快速依赖管理(推荐)

1.3 验证开发环境

# 运行单元测试
pytest tests/ -v

# 检查代码格式
ruff check ui_tars/

2. 开发规范

2.1 分支管理策略

分支类型命名规范生命周期示例
主分支main永久-
开发分支develop永久-
特性分支feature/[issue-id]-[brief]临时feature/42-image-parser
修复分支hotfix/[issue-id]-[brief]临时hotfix/57-fix-coordinate-scaling
发布分支release/vX.Y.Z临时release/v1.6.0

2.2 代码风格要求

  • Python代码:遵循PEP 8规范,使用black自动格式化
    black ui_tars/ --line-length 120
    
  • 文档格式:Markdown文件使用markdownlint检查
  • 提交信息:采用Conventional Commits规范
    feat(action_parser): add support for multi-touch gestures
    fix(coord): correct coordinate scaling factor calculation
    docs: update deployment guide with vLLM instructions
    

2.3 测试要求

所有PR必须满足:

  • 单元测试覆盖率≥80%(使用pytest-cov
  • 通过所有现有集成测试
  • 新增功能需添加对应测试用例
# 生成覆盖率报告
pytest --cov=ui_tars tests/ --cov-report=html

3. 提交Pull Request

3.1 PR准备清单

✅ 已从develop分支创建特性分支
✅ 代码符合项目风格指南
✅ 新增功能包含测试用例
✅ 所有测试通过
✅ 文档已更新(如需要)
✅ Commit历史清晰可追溯

3.2 PR提交步骤

# 1. 确保本地分支与远程同步
git fetch origin
git rebase origin/develop

# 2. 推送分支到远程
git push -u origin feature/42-image-parser

# 3. 在GitCode界面创建PR
# 访问仓库页面 → Pull Requests → New Pull Request

3.3 PR模板填写

## 描述
[简要描述此PR解决的问题或实现的功能]

## 相关Issue
Closes #[issue编号]

## 实现细节
- [关键实现点1]
- [关键实现点2]

## 测试步骤
1. [测试步骤1]
2. [测试步骤2]

## 截图(如适用)

## 自查清单
- [ ] 代码符合风格指南
- [ ] 添加了测试用例
- [ ] 所有测试通过
- [ ] 文档已更新

4. 代码审查流程

mermaid

审查重点

  1. 功能完整性:是否完全解决Issue描述的问题
  2. 代码质量:逻辑清晰度、性能影响、潜在bug
  3. 兼容性:是否影响其他模块(特别是坐标解析和动作生成模块)
  4. 测试覆盖:边界情况是否考虑

5. 贡献者激励计划

贡献等级奖励内容评选标准
青铜贡献者项目README致谢提交≥1个有效PR
白银贡献者官方社区荣誉徽章提交≥5个PR或核心功能改进
黄金贡献者项目决策参与权持续贡献且质量优异

6. 常见问题

Q: 如何处理合并冲突?

A:

git fetch origin
git rebase origin/develop
# 解决冲突文件
git add <冲突文件>
git rebase --continue
git push --force-with-lease

Q: 提交PR后CI测试失败怎么办?

A: 查看CI日志,本地复现并修复问题:

# 运行与CI相同的测试命令
pytest tests/ --cov=ui_tars --cov-fail-under=80

Q: 可以贡献文档改进吗?

A: 非常欢迎!文档PR流程相同,直接修改对应Markdown文件提交即可。

7. 联系我们

  • 开发讨论:Discord社区 #contributors
  • 问题反馈:提交Issue时使用[Contribution]前缀
  • 紧急情况:邮件至tars-dev@bytedance.com(24小时内回复)

贡献即意味着你同意本项目的Apache-2.0开源协议。感谢你的贡献,让UI-TARS更加强大!

最后更新:2025年9月8日
维护者:UI-TARS核心团队

【免费下载链接】UI-TARS 【免费下载链接】UI-TARS 项目地址: https://gitcode.com/GitHub_Trending/ui/UI-TARS

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值