Skip to content

Commit ef9801c

Browse files
feat: Agent can set code and connect the code into tool.name
1 parent a9d4452 commit ef9801c

22 files changed

Lines changed: 57 additions & 4 deletions

File tree

apps/application/flow/default_workflow.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
"node_data": {
1515
"desc": "",
1616
"name": "maxkbapplication",
17+
"code": "",
1718
"prologue": "您好,我是 MaxKB 小助手,您可以向我提出 MaxKB 使用问题。\n- MaxKB 主要功能有什么?\n- MaxKB 支持哪些大语言模型?\n- MaxKB 支持哪些文档类型?"
1819
},
1920
"input_field_list": [

apps/application/flow/default_workflow_en.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
"node_data": {
1515
"desc": "",
1616
"name": "maxkbapplication",
17+
"code": "",
1718
"prologue": "Hello, I am the MaxKB assistant. You can ask me about MaxKB usage issues.\n-What are the main functions of MaxKB?\n-What major language models does MaxKB support?\n-What document types does MaxKB support?"
1819
},
1920
"input_field_list": [

apps/application/flow/default_workflow_zh.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
"node_data": {
1515
"desc": "",
1616
"name": "maxkbapplication",
17+
"code": "",
1718
"prologue": "您好,我是 MaxKB 小助手,您可以向我提出 MaxKB 使用问题。\n- MaxKB 主要功能有什么?\n- MaxKB 支持哪些大语言模型?\n- MaxKB 支持哪些文档类型?"
1819
},
1920
"input_field_list": [

apps/application/flow/default_workflow_zh_Hant.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
"node_data": {
1515
"desc": "",
1616
"name": "maxkbapplication",
17+
"code": "",
1718
"prologue": "您好,我是 MaxKB 小助手,您可以向我提出 MaxKB 使用問題。\n- MaxKB 主要功能有哪些?\n- MaxKB 支援哪些大型語言模型?\n- MaxKB 支援哪些文件類型?"
1819
},
1920
"input_field_list": [

apps/application/migrations/0001_initial.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ class Migration(migrations.Migration):
3737
('workspace_id', models.CharField(db_index=True, default='default', max_length=64, verbose_name='工作空间id')),
3838
('is_publish', models.BooleanField(default=False, verbose_name='是否发布')),
3939
('name', models.CharField(db_index=True, max_length=128, verbose_name='应用名称')),
40+
('code', models.CharField(max_length=128, verbose_name='应用代码')),
4041
('desc', models.CharField(default='', max_length=512, verbose_name='引用描述')),
4142
('prologue', models.CharField(default='', max_length=40960, verbose_name='开场白')),
4243
('dialogue_number', models.IntegerField(default=0, verbose_name='会话数量')),

apps/application/models/application.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ class Application(AppModelMixin):
6363
default='default')
6464
is_publish = models.BooleanField(verbose_name="是否发布", default=False)
6565
name = models.CharField(max_length=128, verbose_name="应用名称", db_index=True)
66+
code = models.CharField(max_length=128, verbose_name="应用代码")
6667
desc = models.CharField(max_length=512, verbose_name="引用描述", default="")
6768
prologue = models.CharField(max_length=40960, verbose_name="开场白", default="")
6869
dialogue_number = models.IntegerField(default=0, verbose_name="会话数量")
@@ -147,6 +148,7 @@ class ApplicationVersion(AppModelMixin):
147148
publish_user_name = models.CharField(verbose_name="发布者名称", max_length=128, default="")
148149
workspace_id = models.CharField(max_length=64, verbose_name="工作空间id", default="default", db_index=True)
149150
application_name = models.CharField(max_length=128, verbose_name="应用名称")
151+
application_code = models.CharField(max_length=128, verbose_name="应用代码")
150152
desc = models.CharField(max_length=512, verbose_name="引用描述", default="")
151153
prologue = models.CharField(max_length=40960, verbose_name="开场白", default="")
152154
dialogue_number = models.IntegerField(default=0, verbose_name="会话数量")

apps/application/serializers/application.py

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,8 @@ class Meta:
200200
class WorkflowRequest(serializers.Serializer):
201201
name = serializers.CharField(required=True, max_length=64, min_length=1,
202202
label=_("Application Name"))
203+
code = serializers.CharField(required=False, allow_null=True, allow_blank=True,
204+
max_length=64, label=_("Application Code"))
203205
desc = serializers.CharField(required=False, allow_null=True, allow_blank=True,
204206
max_length=256, min_length=1,
205207
label=_("Application Description"))
@@ -215,10 +217,12 @@ def to_application_model(user_id: str, workspace_id: str, application: Dict):
215217
if node.get('id') == 'base-node':
216218
node.get('properties')['node_data']['desc'] = application.get('desc')
217219
node.get('properties')['node_data']['name'] = application.get('name')
220+
node.get('properties')['node_data']['code'] = application.get('code')
218221
node.get('properties')['node_data']['prologue'] = application.get('prologue')
219222
return Application(
220223
id=uuid.uuid7(),
221224
name=application.get('name'),
225+
code=application.get('code'),
222226
desc=application.get('desc'),
223227
workspace_id=workspace_id,
224228
folder_id=application.get('folder_id', application.get('workspace_id')),
@@ -243,6 +247,8 @@ def to_application_model(user_id: str, workspace_id: str, application: Dict):
243247
class SimplateRequest(serializers.Serializer):
244248
name = serializers.CharField(required=True, max_length=64, min_length=1,
245249
label=_("application name"))
250+
code = serializers.CharField(required=False, allow_null=True, allow_blank=True,
251+
max_length=64, label=_("application code"))
246252
desc = serializers.CharField(required=False, allow_null=True, allow_blank=True,
247253
max_length=256, min_length=1,
248254
label=_("application describe"))
@@ -303,6 +309,7 @@ def to_application_model(user_id: str, workspace_id: str, application: Dict):
303309
return Application(
304310
id=uuid.uuid7(),
305311
name=application.get('name'),
312+
code=application.get('code'),
306313
desc=application.get('desc'),
307314
workspace_id=workspace_id,
308315
prologue=application.get('prologue'),
@@ -454,6 +461,8 @@ class ApplicationImportRequest(serializers.Serializer):
454461
class ApplicationEditSerializer(serializers.Serializer):
455462
name = serializers.CharField(required=False, max_length=64, min_length=1,
456463
label=_("Application Name"))
464+
code = serializers.CharField(required=False, allow_null=True, allow_blank=True,
465+
max_length=64, label=_("Application Code"))
457466
desc = serializers.CharField(required=False, max_length=256, min_length=1, allow_null=True, allow_blank=True,
458467
label=_("Application Description"))
459468
model_id = serializers.CharField(required=False, allow_blank=True, allow_null=True,
@@ -706,6 +715,7 @@ def to_application(application, workspace_id, user_id, update_tool_map, folder_i
706715
return Application(id=uuid.uuid7(),
707716
user_id=user_id,
708717
name=application.get('name'),
718+
code=application.get('code'),
709719
workspace_id=workspace_id,
710720
folder_id=folder_id,
711721
desc=application.get('desc'),
@@ -917,7 +927,7 @@ def to_tool_dict(tool, tool_workflow_dict):
917927
@staticmethod
918928
def reset_application_version(application_version, application):
919929
update_field_dict = {
920-
'application_name': 'name', 'desc': 'desc', 'prologue': 'prologue', 'dialogue_number': 'dialogue_number',
930+
'application_name': 'name', 'application_code': 'code', 'desc': 'desc', 'prologue': 'prologue', 'dialogue_number': 'dialogue_number',
921931
'user_id': 'user_id', 'model_id': 'model_id', 'knowledge_setting': 'knowledge_setting',
922932
'model_setting': 'model_setting', 'model_params_setting': 'model_params_setting',
923933
'tts_model_params_setting': 'tts_model_params_setting',
@@ -959,6 +969,7 @@ def publish(self, instance, with_valid=True):
959969
node_data = base_node.get('properties').get('node_data')
960970
if node_data is not None:
961971
application.name = node_data.get('name')
972+
application.code = node_data.get('code')
962973
application.desc = node_data.get('desc')
963974
application.prologue = node_data.get('prologue')
964975
application.work_flow = work_flow
@@ -1099,7 +1110,7 @@ def edit(self, instance: Dict, with_valid=True):
10991110
self.update_work_flow_model(instance)
11001111
if 'mcp_servers' in instance and len(instance.get('mcp_servers', {})) > 0:
11011112
ToolExecutor().validate_mcp_transport(json.dumps(instance.get('mcp_servers')))
1102-
update_keys = ['name', 'desc', 'model_id', 'multiple_rounds_dialogue', 'prologue', 'status',
1113+
update_keys = ['name', 'code', 'desc', 'model_id', 'multiple_rounds_dialogue', 'prologue', 'status',
11031114
'knowledge_setting', 'model_setting', 'problem_optimization', 'dialogue_number',
11041115
'stt_model_id', 'tts_model_id', 'tts_model_enable', 'stt_model_enable', 'tts_type',
11051116
'tts_autoplay', 'stt_autosend', 'file_upload_enable', 'file_upload_setting',

apps/chat/mcp/tools.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ def list_tools(self):
3434
return {
3535
"tools": [
3636
{
37-
"name": f'agent_{str(self.application.id)[:8]}',
37+
"name": f'agent_{str(self.application.id)[:8]}' + (f'_{self.application.code}' if self.application.code else ''),
3838
"description": f'{self.application.name} {self.application.desc}',
3939
"inputSchema": {
4040
"type": "object",

apps/chat/serializers/chat_authentication.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ class ApplicationProfileSerializer(serializers.Serializer):
9595
@staticmethod
9696
def reset_application(application, application_version):
9797
update_field_dict = {
98-
'application_name': 'name', 'desc': 'desc', 'prologue': 'prologue', 'dialogue_number': 'dialogue_number',
98+
'application_name': 'name', 'application_code': 'code', 'desc': 'desc', 'prologue': 'prologue', 'dialogue_number': 'dialogue_number',
9999
'user_id': 'user_id', 'model_id': 'model_id', 'knowledge_setting': 'knowledge_setting',
100100
'model_setting': 'model_setting', 'model_params_setting': 'model_params_setting',
101101
'tts_model_params_setting': 'tts_model_params_setting',

ui/src/api/type/application.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import bus from '@/bus'
44

55
interface ApplicationFormType {
66
name?: string
7+
code?: string
78
desc?: string
89
model_id?: string
910
dialogue_number?: number

0 commit comments

Comments
 (0)