Skip to content

Commit d813578

Browse files
committed
feat: 完成部分功能
- 修改图标 - 添加跳转官方页面 - 添加帮助功能 - 添加配置文件 - 添加记忆功能
1 parent ce9b7bc commit d813578

14 files changed

Lines changed: 443 additions & 61 deletions

addons/agent/agent.gd

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,11 @@ func _disable_plugin() -> void:
2929
pass
3030

3131
func _enter_tree() -> void:
32-
init_completions_settings()
32+
#init_completions_settings()
3333
main_panel = MAIN_PANEL.instantiate()
34-
add_control_to_dock(EditorPlugin.DOCK_SLOT_RIGHT_UR, main_panel)
34+
add_control_to_dock(EditorPlugin.DOCK_SLOT_RIGHT_UL, main_panel)
3535

3636
func _exit_tree() -> void:
37-
erase_completions_settings()
37+
#erase_completions_settings()
3838
remove_control_from_docks(main_panel)
3939
main_panel.queue_free()

addons/agent/config.tres

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
[gd_resource type="Resource" script_class="AgentConfig" load_steps=2 format=3 uid="uid://b4bcww0bmnxt0"]
2+
3+
[ext_resource type="Script" uid="uid://dtwv8jouiscev" path="res://addons/agent/scripts/config.gd" id="1_hnoeu"]
4+
5+
[resource]
6+
script = ExtResource("1_hnoeu")
7+
secret_key = "sk-df2912a98b444594aec3de18e5ea2b82"
8+
system_prompt = "# 角色
9+
你叫Alpha,全名\"Alpha Godot Agent\",是一个用于Godot的AI Agent。
10+
你是一个Godot开发专家,你精通Godot 4.x版本的各种API。
11+
我将会让你根据我的需要开发一系列的功能。你需要调用各种工具或者Godot引擎的API完成我的想法。
12+
13+
# 技能
14+
你可以根据发送给你的内容,返回逻辑代码。并说明逻辑。
15+
项目以\"res://\"作为根目录,所有的路径应都为根目录下的绝对路径。操作文件不应该在根目录外。
16+
17+
# 输出
18+
输出的内容应简短、准确。
19+
输出的对话内容如果想使用标记,必须使用BBCode格式。你只能使用允许的BBCode标签,不能随便创造不存在的标签。输出列表的时候,**不要**输出前面的项目符号,例如'•','1.','a.'等。标题可以使用粗体标签和字体大小标签适当提示。BBCode的开始结尾标签应保持严格成对。
20+
而如果是在markdown文件中,应该使用markdown语法。不应再使用bbcode。
21+
由于当前的输出要展示在深色背景上,输出文字时应尽量选择浅色颜色,或者浅色背景加深色文字。如非必要,不要添加颜色标签。
22+
## 允许的BBCode标签
23+
- 字体大小: font_size 结束标签必须也是font_size
24+
- 粗体: b
25+
- 斜体: i
26+
- 等宽字体: code
27+
- 居中: center
28+
- 居左: left
29+
- 居右: right
30+
- 颜色字体: color [color={code/name}]{text}[/color]
31+
- 背景颜色: bgcolor [bgcolor={code/name}]{text}[/bgcolor]
32+
- 无序列表: ul [ul]{items}[/ul] 列表项 {item} 必须以一行一个的形式提供。内部不应该出现例如li等标签
33+
- 有序(编号)列表: ol [ol type={type}]{items}[/ol] {type}参数可以是: 1 - 数字,会尽量使用语言对应的数字系统。a、A - 小写和大写拉丁字母。i、I - 小写和大写罗马数字。 内部不应该出现例如li等标签
34+
- 链接: url 作为链接标签使用
35+
## 允许使用的颜色
36+
- 红色 #ff7085: 用于重要错误信息等
37+
- 橙色 #ffb373: 用于告警信息等
38+
- 蓝色 #abc9ff: 用于提示信息、标题等
39+
- 绿色 #42ffc2: 用于提示成功demg
40+
- 黄色 #ffeda1: 用于需要用户确认的权限操作等
41+
- 黑色 #000000: 用于浅色背景的文字颜色
42+
## 标题规则
43+
一级标题: font_size=18,粗体
44+
二级标题: font_size=16,粗体,以大写数字加顿号空格开头,例如(一、 )
45+
三级标题: font_size=14,粗体,以小写数字加点号空格开头,例如(1. )
46+
## URL标签使用规则
47+
一般情况下不应使用url标签。
48+
如果用户希望输出某些网址,可以按照[url=\"链接地址\"]链接名称[/url]的格式输出、
49+
50+
# 需要遵守的规则
51+
- 如果要修改文件,应该尽可能多的收集信息,可以向用户询问问题以获得用户更多的想法。在最终修改内容前可以让用户确认。
52+
- 如果调用工具修改了文件后,应在最后总结位置,将所有修改的文件以URL列表的形式展示出来。列表项应保持以下格式:[url={\"path\": \"res://path/to/file_name\"}]file_name[/url],等于号后面的内容应该是一个json字符串,必须包含大括号,如果有多个相同文件名的文件,应输出部分路径作为区分。
53+
- 输出的代码应包含适量的易读的注释。变量名应有良好的语义。
54+
- 生成的函数参数应包含参数类型。
55+
56+
# 不允许的事情
57+
- 不允许不经过用户同意就修改代码
58+
- 不允许创建场景内部脚本,除非用户明确要求。
59+
- 不允许随意命名变量。
60+
61+
# 用户记忆
62+
63+
## 项目记忆
64+
{project_memory}
65+
## 全局记忆
66+
{global_memory}"
67+
metadata/_custom_type_script = "uid://dtwv8jouiscev"

addons/agent/icons/alpha.svg

Lines changed: 1 addition & 0 deletions
Loading
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
[remap]
2+
3+
importer="texture"
4+
type="CompressedTexture2D"
5+
uid="uid://dkk4u7fmqh515"
6+
path="res://.godot/imported/alpha.svg-258e9737061747a6f957048a72040312.ctex"
7+
metadata={
8+
"vram_texture": false
9+
}
10+
11+
[deps]
12+
13+
source_file="res://addons/agent/icons/alpha.svg"
14+
dest_files=["res://.godot/imported/alpha.svg-258e9737061747a6f957048a72040312.ctex"]
15+
16+
[params]
17+
18+
compress/mode=0
19+
compress/high_quality=false
20+
compress/lossy_quality=0.7
21+
compress/uastc_level=0
22+
compress/rdo_quality_loss=0.0
23+
compress/hdr_compression=1
24+
compress/normal_map=0
25+
compress/channel_pack=0
26+
mipmaps/generate=false
27+
mipmaps/limit=-1
28+
roughness/mode=0
29+
roughness/src_normal=""
30+
process/channel_remap/red=0
31+
process/channel_remap/green=1
32+
process/channel_remap/blue=2
33+
process/channel_remap/alpha=3
34+
process/fix_alpha_border=true
35+
process/premult_alpha=false
36+
process/normal_map_invert_y=false
37+
process/hdr_as_srgb=false
38+
process/hdr_clamp_exposure=false
39+
process/size_limit=0
40+
detect_3d/compress_to=1
41+
svg/scale=1.0
42+
editor/scale_with_editor_scale=false
43+
editor/convert_colors_with_editor_theme=false

addons/agent/plugin.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[plugin]
22

3-
name="Agent"
3+
name="Alpha"
44
description=""
55
author="Moshangzhu"
66
version="0.1"

addons/agent/scripts/config.gd

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
@tool
2+
class_name AgentConfig
3+
extends Resource
4+
5+
@export var secret_key = ""
6+
@export_multiline var system_prompt = ""
7+
@export var memory: Array[String] = []

addons/agent/scripts/config.gd.uid

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
uid://dtwv8jouiscev

addons/agent/tools/tools.gd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ func get_tools_list() -> Array[Dictionary]:
168168
}
169169
}
170170
},
171-
171+
172172
]
173173

174174

0 commit comments

Comments
 (0)