AutoDev 是一款高度自动化的 AI 辅助编程工具。AutoDev 能够与您的需求管理系统(例如 Jira、Trello、Github Issue 等)直接对接。在 IDE 中,您只需简单点击,AutoDev 会根据您的需求自动为您生成代码。您所需做的,仅仅是对生成的代码进行质量检查。
与 GitHub Copilot 差异:
特征 | GitHub Copilot | AutoDev |
---|---|---|
LLM训练 | 经过大模型训练,结果更加准确 | 引入 ChatGPT 或自己训练,结果不是那么准确 |
返回结果 | 一次返回多个结果 | 一次返回一个完整的方法 |
返回类型 | 返回一个完整的类 | 返回一个完整的方法 |
支持语言 | 支持多种语言 | 仅支持Java |
支持功能 | 生成代码、生成注释、生成测试用例等 | 生成代码、寻找bug、生成注释等 |
开源 | 不开源 | 开源 |
结论:AutoDev 的唯一优势是开源,GitHub Copilot 完胜。
- Languages Support by PSI
- Java
- Languages Support by LSP
- Kotlin
- TypeScript
- DevTi Protocol
- format 1:
devti://story/github/1102
- format 1:
- Intelli code change
- Endpoint modify suggestions
- Controller Suggestion
- import all common imports
- Service Suggestion
- Repository Suggestion
- Code AI
- Generate code
- Add comments
- Code Suggestions
- Find bug...
- Explain code by selection
- Trace Exception
- Chat with IDE
- Generate test
- 实现:
重现 xx 功能
,devti:/chat/feature
- 重构:
重构 xx 方法
- 替换:
替换 xx 方法
,devti:/refactor/method
- Custom LLM Server
- Telemetry Server
- Accept
- Reject
- Feedback
- Context Engineering
- Open Tabs
- Related Files
- with DependencyContext
- parse Gradle for dependencies
- Install
- configure GitHub Token (optional) and OpenAI config in
Settings
->Tools
->DevTi
- click as you want:
- add
// devti://story/github/1
comments in your code. - configure GitHub repository for Run Configuration.
- click
AutoDev
button in the comments' left.
Token Configure:
Run Screenshots:
Output Screenshots:
AutoDev 处理过程:
- 对接了需求系统,从需求系统中获取到需求文档
- 根据需求文档,自动分析需求,并完善需求文档
- 根据完善后的需求,寻找最适合的 Endpoint,即 Controller
- 根据 Endpoint,自动生成 Controller 代码
- 根据 Controller 代码,自动生成 Service 代码
- 根据 Service 代码,自动生成 Repository 代码
git clone https://github.com/unit-mesh/AutoDev.git
- open in IntelliJ IDEA
./gradlew runIde
{
"range": {
"start": {
"line": 0,
"column": 0
},
"end": {
"line": 0,
"column": 0
}
},
"text": "",
"language": "xxx",
"uuid": "xxx"
}
authorization: Bearer ${token}
{
"auto_complete": {
"instruction": "",
"input": ""
},
"auto_comment": {
"instruction": "",
"input": ""
},
"code_review": {
"instruction": "",
"input": ""
},
"find_bug": {
"instruction": "",
"input": ""
}
}
then return:
{
"instruction": "implementation the method",
"input": "xxxx",
"output": "xxxx"
}
- IDE with InlaysAction (extends EditorAction)
- send RPC to JSON RPC
- WASM with TreeSitter
- Return to IDE
ChatUI based on: https://github.com/Cspeisman/chatgpt-intellij-plugin
@Thoughtworks AIEEL Team. This code is distributed under the MPL 2.0 license. See LICENSE
in this directory.