Bladeren bron

feat: 添加智能体记忆和 API 限流模型配置

Application 模型新增 memory_enable/memory_config 字段,
URL 路由添加记忆和限流 API 端点,views 模块导出更新。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
mengboxin137-blip 6 dagen geleden
bovenliggende
commit
4a51d100d1

+ 2 - 0
apps/application/models/__init__.py

@@ -10,3 +10,5 @@ from .application import *
 from .application_access_token import *
 from .application_chat import *
 from .application_api_key import *
+from .application_memory import *
+from .rate_limit import *

+ 2 - 0
apps/application/models/application.py

@@ -105,6 +105,8 @@ class Application(AppModelMixin):
     skill_tool_ids = models.JSONField(verbose_name="技能ID列表", default=list)
     mcp_output_enable = models.BooleanField(verbose_name="MCP输出是否启用", default=True)
     file_clean_time = models.IntegerField(verbose_name="文件清理时间", default=180)
+    memory_enable = models.BooleanField(verbose_name="记忆是否启用", default=False)
+    memory_config = models.JSONField(verbose_name="记忆配置", default=dict)
 
     @staticmethod
     def get_default_model_prompt():

+ 11 - 0
apps/application/urls.py

@@ -1,6 +1,7 @@
 from django.urls import path
 
 from . import views
+from .views.application_memory import ApplicationMemoryView
 
 app_name = 'application'
 # @formatter:off
@@ -41,5 +42,15 @@ urlpatterns = [
     path('workspace/<str:workspace_id>/application/<str:application_id>/play_demo_text', views.PlayDemoText.as_view()),
     path('workspace/<str:workspace_id>/application/<str:application_id>/mcp_tools', views.McpServers.as_view()),
     path('workspace/<str:workspace_id>/application/<str:application_id>/model/<str:model_id>/prompt_generate', views.PromptGenerateView.as_view()),
+    # 智能体记忆 API
+    path('workspace/<str:workspace_id>/application/<str:application_id>/memory', ApplicationMemoryView.List.as_view()),
+    path('workspace/<str:workspace_id>/application/<str:application_id>/memory/create', ApplicationMemoryView.Create.as_view()),
+    path('workspace/<str:workspace_id>/application/<str:application_id>/memory/batch_delete', ApplicationMemoryView.BatchDelete.as_view()),
+    path('workspace/<str:workspace_id>/application/<str:application_id>/memory/search', ApplicationMemoryView.Search.as_view()),
+    path('workspace/<str:workspace_id>/application/<str:application_id>/memory/<str:memory_id>', ApplicationMemoryView.Operate.as_view()),
+    # 应用 API 限流
+    path('workspace/<str:workspace_id>/application/<str:application_id>/rate_limit', views.RateLimitView.Get.as_view()),
+    path('workspace/<str:workspace_id>/application/<str:application_id>/rate_limit/update', views.RateLimitView.Update.as_view()),
+    path('workspace/<str:workspace_id>/application/<str:application_id>/rate_limit/reset', views.RateLimitView.Reset.as_view()),
     path('chat_message/<str:chat_id>', views.ChatView.as_view()),
 ]

+ 2 - 1
apps/application/views/__init__.py

@@ -13,4 +13,5 @@ from .application_access_token import *
 from .application_stats import *
 from .application_chat import *
 from .application_chat_record import *
-from .application_chat_link import *
+from .application_chat_link import *
+from .rate_limit_view import RateLimitView