Skip to content

Commit 1254088

Browse files
committed
docs(ide): add support for AutoDev AI Agent
In the [#51](#51) issue, we designed the AI Agent capability for AutoDev, an open-source AI IDE plugin. After half a year, we have finally delivered this feature.
1 parent cb277d9 commit 1254088

File tree

2 files changed

+89
-1
lines changed

2 files changed

+89
-1
lines changed

docs/whats-new/autodev-1-7-0.md

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
---
2+
layout: default
3+
title: AutoDev 1.7.0:AutoDev AI Agent
4+
nav_order: 8
5+
parent: 更新日志
6+
---
7+
8+
在开源 AI IDE 插件 AutoDev 的 [#51](https://github.com/unit-mesh/auto-dev/issues/51) issue 中,我们设计了 AutoDev 的 AI
9+
Agent 能力,半年后我们终于交付了这个功能。
10+
11+
在 AutoDev 1.7.0 中,你将可以接入内部的 AI Agent,并将其无缝与现有的 AI 辅助能力结合在一起。
12+
13+
本文将使用结合 AI Agent 作为 demo,来展示如何使用 AutoDev 无疑 Agent
14+
能力。详细见文档:https://ide.unitmesh.cc/agent/agent.html ,或者阅读代码。
15+
16+
## 自定义 AI Agent
17+
18+
背景:如我们所知,通用的大语言模型是缺乏内部的相关资料的,我们需要结合 RAG 来做扩展。而在这些场景下,由于我们的资料可能会一直在更新,在
19+
IDE 上做类似的功能是不合适的。为此,我们应该在服务端实现类似的能力,并将接口暴露给 IDE 。
20+
21+
因此,我们基于先前的自定义 LLM 经验,设计了 AutoDev 的自定义 AI Agent 能力,方便于
22+
23+
## 1. 直接返回结果示例:内部 API 集成
24+
25+
典型场景:
26+
27+
- 模型不了解的知识。在学习鸿蒙应用的开发时,也可以在内部部署对应的 API,来加速学习。
28+
- 内部知识。当内部包含大量的领域知识、规范、 API 信息等场景
29+
30+
在这些场景下,可以直接使用 `Direct` 作为返回类型,集成对应的 AI Agent。对应的配置示例:
31+
32+
```json
33+
{
34+
"name": "内部 API 集成",
35+
"url": "http://127.0.0.1:8765/api/agent/api-market",
36+
"responseAction": "Direct"
37+
}
38+
```
39+
40+
即,直接返回并处理对应的内容。
41+
42+
## 2. 返回检索结果示例:组件库集成
43+
44+
典型场景:
45+
46+
- 结合知识检索。即需要的是某一类的知识,而只需要基于这些知识进一步往下沟通。诸如于,我需要让 AI
47+
选择合适的组件,那么就需要拥有所有的组件信息,以进一步向下编码。
48+
49+
在这些场景下,可以直接使用 `TextChunk` 作为返回类型,集成对应的 AI Agent。对应的配置示例:
50+
51+
```json
52+
{
53+
"name": "组件库查询",
54+
"url": "http://127.0.0.1:8765/api/agent/component-list",
55+
"responseAction": "TextChunk"
56+
}
57+
```
58+
59+
即,AI 返回的是检索的结果,我可以基于结果来进行下一步聊天。
60+
61+
## 3. WebView 结果示例:低代码页面生成
62+
63+
典型场景:
64+
65+
- 前端页面生成。
66+
- 低代码页面生成。
67+
68+
这两种场景颇为相似,由于 AI 生成的前端代码问题多,往往需要结合内部的组件库或者 RAG 来进行。虽然如此,RAG
69+
在这两种场景下结果也不好。与之相比,直接由 AI 生成一个原型图,交由产品经理和 UX 、 Dev 聊天显得更有价值。
70+
71+
在这些场景下,可以直接使用 `WebView` 作为返回类型,集成对应的 AI Agent。对应的配置示例:
72+
73+
```json
74+
{
75+
"name": "页面生成",
76+
"url": "http://127.0.0.1:8765/api/agent/ux",
77+
"auth": {
78+
"type": "Bearer",
79+
"token": "eyJhbGci"
80+
},
81+
"responseAction": "WebView"
82+
}
83+
```
84+
85+
即,返回的结果是一个 WebView,后续在聊天中会展示对应的页面。
86+
87+
## 小结
88+
89+
在 IDE 里,我们可以将 AI Agent 视为一系列的能力插件,用于加速我们的开发过程。

src/main/kotlin/cc/unitmesh/devti/gui/chat/AutoDevInput.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ import com.intellij.util.EventDispatcher
2525
import com.intellij.util.messages.MessageBusConnection
2626
import com.intellij.util.ui.JBUI
2727
import java.awt.Color
28-
import java.awt.event.KeyAdapter
2928
import java.awt.event.KeyEvent
3029
import java.util.*
3130
import javax.swing.KeyStroke

0 commit comments

Comments
 (0)