参与贡献
Aeria 按 GPL-3.0 开源,代码大部分是 AI 辅助写的。想改一点东西、修一个 bug、写一个插件,这一篇说怎么开始、提交之前要过什么。
开始之前
- 先跑起来(3.1),再读本区的 3.5(写代码的规矩)和 3.2(仓库里什么在哪);每一篇最后的「没做到的」是已知的限制。
- 想加一个看得见的东西(界面上的新控件、新的说明文字),仓库公开以后先开 issue 说想法:这个项目对界面很克制,能不加就不加。
改的时候
- 照 3.5 的规矩:判断交给模型、护栏交给代码;提示词里不写示范句;一类东西只登记在一处;修一类 bug 留一道守卫。
- 测试数据全部是合成的:不放任何真人的聊天、编号、截图。
- 产品名不写死,从
src/aeria_identity/product.json读。 - 借鉴别的项目:只借做法、不拿外观,在工程笔记里写明出处。
- 改这个文档站:3.31。
提交之前
.venv/bin/python -m pytest
cd webui_frontend && npx vitest run && npx tsc --noEmit
.venv/bin/python scripts/privacy_gate.py source
.venv/bin/python scripts/secret_gate.py source
.venv/bin/python scripts/brand_residue.py
改了网页后台的界面,还要重新构建 webui_frontend 并提交 src/aeria/webui_dist/(运行时直接发这份)。每一道是什么、为什么,见 3.4。
许可证
GPL-3.0:用、改、再发布都可以,但再发布(包括改过的版本)也要按 GPL-3.0 开源。
没做到的
- 官方仓库还没公开:现在还没有 issue、讨论区和 PR 的地方,公开以后补上。
- 持续集成写好了(
.github/workflows/ci.yml),还没在公开仓库上跑过。 - 还没有贡献者协议、行为准则这些文件。