diff --git a/src/main/java/com/zsc/edu/dify/modules/dify/controller/V1ChatController.java b/src/main/java/com/zsc/edu/dify/modules/dify/controller/V1ChatController.java
index bde45fc..71785eb 100644
--- a/src/main/java/com/zsc/edu/dify/modules/dify/controller/V1ChatController.java
+++ b/src/main/java/com/zsc/edu/dify/modules/dify/controller/V1ChatController.java
@@ -1,6 +1,7 @@
 package com.zsc.edu.dify.modules.dify.controller;
 
 import com.zsc.edu.dify.exception.ExceptionUtil;
+import com.zsc.edu.dify.framework.mybatisplus.DataPermission;
 import com.zsc.edu.dify.framework.security.SecurityUtil;
 import com.zsc.edu.dify.modules.dify.service.AppEntityService;
 import com.zsc.edu.dify.modules.operationLog.entity.OperationLogAnnotation;
@@ -40,7 +41,7 @@ public class V1ChatController {
      *                    apikey 建议在数据库进行存储,前端调用时传智能体 id,从数据库查询
      */
     @PostMapping("/completions/{appId}")
-    @PreAuthorize("hasAuthority('dify:chat:query')")
+    @PreAuthorize("hasAuthority('dify:chat:send')")
     @OperationLogAnnotation(content = "'dify对话'", operationType = "发送")
     public ChatMessageSendResponse sendChatMessage(
             @RequestBody ChatMessageSendRequest sendRequest,
@@ -92,6 +93,7 @@ public class V1ChatController {
      * @param taskId  任务id
      */
     @PatchMapping("/stream/stop")
+    @PreAuthorize("hasAuthority('dify:chat:stop')")
     public void stopMessagesStream(@RequestParam String taskId, @RequestParam String appId) {
         String apiKey = appEntityService.getApikey(appId);
         String userId = SecurityUtil.getUserInfo().id.toString();
diff --git a/src/main/java/com/zsc/edu/dify/modules/dify/controller/V1DatasetController.java b/src/main/java/com/zsc/edu/dify/modules/dify/controller/V1DatasetController.java
index 992d156..1632c80 100644
--- a/src/main/java/com/zsc/edu/dify/modules/dify/controller/V1DatasetController.java
+++ b/src/main/java/com/zsc/edu/dify/modules/dify/controller/V1DatasetController.java
@@ -120,7 +120,7 @@ public class V1DatasetController {
      * @return
      */
     @GetMapping("/retrieve")
-    @PreAuthorize("hasAuthority('dify:dataset:query')")
+    @PreAuthorize("hasAuthority('dify:dataset:retrieve')")
     public RetrieveResponse retrieve(@RequestBody RetrieveRequest request){
         return difyDataset.retrieve(request);
     }
diff --git a/src/main/java/com/zsc/edu/dify/modules/dify/controller/V1ServerController.java b/src/main/java/com/zsc/edu/dify/modules/dify/controller/V1ServerController.java
index 520b4bb..871b84a 100644
--- a/src/main/java/com/zsc/edu/dify/modules/dify/controller/V1ServerController.java
+++ b/src/main/java/com/zsc/edu/dify/modules/dify/controller/V1ServerController.java
@@ -1,6 +1,7 @@
 package com.zsc.edu.dify.modules.dify.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.zsc.edu.dify.framework.mybatisplus.DataPermission;
 import com.zsc.edu.dify.modules.dify.entity.AppEntity;
 import com.zsc.edu.dify.modules.dify.service.AppEntityService;
 import com.zsc.edu.dify.modules.operationLog.entity.OperationLogAnnotation;
@@ -31,6 +32,7 @@ public class V1ServerController {
      */
     @GetMapping("/apps")
     @PreAuthorize("hasAuthority('dify:server:query')")
+    @DataPermission
     public List<AppsResponseVO> getApps(String mode, String name) {
         return appEntityService.getApps(mode, name);
     }
@@ -63,7 +65,7 @@ public class V1ServerController {
      * @return
      */
     @PostMapping("/api-key/init/{id}")
-    @PreAuthorize("hasAuthority('dify:server:create')")
+    @PreAuthorize("hasAuthority('dify:server:init')")
     public List<ApiKeyResponseVO> initAppApiKey(@PathVariable("id") String id) {
         return difyServer.initAppApiKey(id);
     }
@@ -83,7 +85,7 @@ public class V1ServerController {
      * @return
      */
     @PostMapping("/api-key/dataset/init")
-    @PreAuthorize("hasAuthority('dify:server:create')")
+    @PreAuthorize("hasAuthority('dify:server:init')")
     public List<DatasetApiKeyResponseVO> initDatasetApiKey() {
         return difyServer.initDatasetApiKey();
     }
@@ -107,6 +109,7 @@ public class V1ServerController {
      */
     @GetMapping("/apps/enabled")
     @PreAuthorize("hasAuthority('dify:server:query')")
+    @DataPermission
     public List<AppEntity> getEnableApps() {
         LambdaQueryWrapper<AppEntity> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(AppEntity::isEnabled, true);
diff --git a/src/main/java/com/zsc/edu/dify/modules/dify/controller/V1WorkflowController.java b/src/main/java/com/zsc/edu/dify/modules/dify/controller/V1WorkflowController.java
index 2f0a4d6..910bd96 100644
--- a/src/main/java/com/zsc/edu/dify/modules/dify/controller/V1WorkflowController.java
+++ b/src/main/java/com/zsc/edu/dify/modules/dify/controller/V1WorkflowController.java
@@ -1,6 +1,7 @@
 package com.zsc.edu.dify.modules.dify.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.zsc.edu.dify.framework.mybatisplus.DataPermission;
 import com.zsc.edu.dify.framework.security.SecurityUtil;
 import com.zsc.edu.dify.modules.dify.entity.WorkflowData;
 import com.zsc.edu.dify.modules.dify.service.AppEntityService;
@@ -104,6 +105,7 @@ public class V1WorkflowController {
      */
     @GetMapping("/list/{appId}")
     @PreAuthorize("hasAuthority('dify:workflow:query')")
+    @DataPermission
     public List<WorkflowData> list(@PathVariable String appId){
         return difyWorkflowService.list(new QueryWrapper<WorkflowData>().eq("app_id",appId));
     }
diff --git a/src/main/java/com/zsc/edu/dify/modules/dify/entity/AppEntity.java b/src/main/java/com/zsc/edu/dify/modules/dify/entity/AppEntity.java
index 9324f6e..c98c04f 100644
--- a/src/main/java/com/zsc/edu/dify/modules/dify/entity/AppEntity.java
+++ b/src/main/java/com/zsc/edu/dify/modules/dify/entity/AppEntity.java
@@ -1,5 +1,6 @@
 package com.zsc.edu.dify.modules.dify.entity;
 
+import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.zsc.edu.dify.framework.json.JsonbTypeHandler;
@@ -46,4 +47,9 @@ public class AppEntity extends AppsResponseVO {
     @TableField(exist = false)
     private List<AppEntity> children = null;
 
+    @TableField(value = "create_id", fill = FieldFill.INSERT)
+    private Long createId;
+
+    @TableField(value = "dept_id", fill = FieldFill.INSERT)
+    private Long deptId;
 }
diff --git a/src/main/java/com/zsc/edu/dify/modules/dify/entity/WorkflowData.java b/src/main/java/com/zsc/edu/dify/modules/dify/entity/WorkflowData.java
index cfebc62..373d1e5 100644
--- a/src/main/java/com/zsc/edu/dify/modules/dify/entity/WorkflowData.java
+++ b/src/main/java/com/zsc/edu/dify/modules/dify/entity/WorkflowData.java
@@ -25,4 +25,10 @@ public class WorkflowData {
     private Long userId;
 
     private String appId;
+
+    @TableField(value = "create_id", fill = FieldFill.INSERT)
+    private Long createId;
+
+    @TableField(value = "dept_id", fill = FieldFill.INSERT)
+    private Long deptId;
 }
diff --git a/src/test/java/com/zsc/edu/dify/modules/system/service/impl/MenuServiceImplTest.java b/src/test/java/com/zsc/edu/dify/modules/system/service/impl/MenuServiceImplTest.java
index b7b29fd..7deab2b 100644
--- a/src/test/java/com/zsc/edu/dify/modules/system/service/impl/MenuServiceImplTest.java
+++ b/src/test/java/com/zsc/edu/dify/modules/system/service/impl/MenuServiceImplTest.java
@@ -71,22 +71,29 @@ class MenuServiceImplTest {
         Menu bulletinDelete = new Menu(bulletin.getId(), Menu.Type.OPERATION, "bulletinDelete", null, "公告删除", null, true, false, 1, "message:bulletin:delete", "");
         Menu operationLogQuery = new Menu(operationLog.getId(), Menu.Type.OPERATION, "operationLogQuery", null, "操作日志查询", null, true, false, 1, "operationLog:query", "");
         Menu operationLogDelete = new Menu(operationLog.getId(), Menu.Type.OPERATION, "operationLogDelete", null, "操作日志删除", null, true, false, 1, "operationLog:delete", "");
-        Menu difyChatQuery = new Menu(dify.getId(), Menu.Type.OPERATION, "difyChatQuery", null, "difyChat查询", null, true, false, 1, "difyChat:query", "");
-        Menu difyChatCreate = new Menu(dify.getId(), Menu.Type.OPERATION, "difyChatCreate", null, "difyChat新增", null, true, false, 1, "difyChat:create", "");
-        Menu difyChatUpdate = new Menu(dify.getId(), Menu.Type.OPERATION, "difyChatUpdate", null, "difyChat修改", null, true, false, 1, "difyChat:update", "");
-        Menu difyChatDelete = new Menu(dify.getId(), Menu.Type.OPERATION, "difyChatDelete", null, "difyChat删除", null, true, false, 1, "difyChat:delete", "");
-        Menu difyServerQuery = new Menu(dify.getId(), Menu.Type.OPERATION, "difyServerQuery", null, "difyServer查询", null, true, false, 1, "difyServer:query", "");
-        Menu difyServerCreate = new Menu(dify.getId(), Menu.Type.OPERATION, "difyServerCreate", null, "difyServer新增", null, true, false, 1, "difyServer:create", "");
-        Menu difyServerUpdate = new Menu(dify.getId(), Menu.Type.OPERATION, "difyServerUpdate", null, "difyServer修改", null, true, false, 1, "difyServer:update", "");
-        Menu difyServerDelete = new Menu(dify.getId(), Menu.Type.OPERATION, "difyServerDelete", null, "difyServer删除", null, true, false, 1, "difyServer:delete", "");
-        Menu difyDataSetQuery = new Menu(dify.getId(), Menu.Type.OPERATION, "difyDataSetQuery", null, "difyDataSet查询", null, true, false, 1, "difyDataSet:query", "");
-        Menu difyDataSetCreate = new Menu(dify.getId(), Menu.Type.OPERATION, "difyDataSetCreate", null, "difyDataSet新增", null, true, false, 1, "difyDataSet:create", "");
-        Menu difyDataSetUpdate = new Menu(dify.getId(), Menu.Type.OPERATION, "difyDataSetUpdate", null, "difyDataSet修改", null, true, false, 1, "difyDataSet:update", "");
-        Menu difyDataSetDelete = new Menu(dify.getId(), Menu.Type.OPERATION, "difyDataSetDelete", null, "difyDataSet删除", null, true, false, 1, "difyDataSet:delete", "");
-        Menu difyWorkFlowQuery = new Menu(dify.getId(), Menu.Type.OPERATION, "difyWorkFlowQuery", null, "difyWorkFlow查询", null, true, false, 1, "difyWorkFlow:query", "");
-        Menu difyWorkFlowCreate = new Menu(dify.getId(), Menu.Type.OPERATION, "difyWorkFlowCreate", null, "difyWorkFlow新增", null, true, false, 1, "difyWorkFlow:create", "");
-        Menu difyWorkFlowUpdate = new Menu(dify.getId(), Menu.Type.OPERATION, "difyWorkFlowUpdate", null, "difyWorkFlow修改", null, true, false, 1, "difyWorkFlow:update", "");
-        Menu difyWorkFlowDelete = new Menu(dify.getId(), Menu.Type.OPERATION, "difyWorkFlowDelete", null, "difyWorkFlow删除", null, true, false, 1, "difyWorkFlow:delete", "");
+        Menu difyChatQuery = new Menu(dify.getId(), Menu.Type.OPERATION, "difyChatQuery", null, "difyChat查询", null, true, false, 1, "dify:chat:query", "");
+        Menu difyChatCreate = new Menu(dify.getId(), Menu.Type.OPERATION, "difyChatCreate", null, "difyChat新增", null, true, false, 1, "dify:chat:create", "");
+        Menu difyChatUpdate = new Menu(dify.getId(), Menu.Type.OPERATION, "difyChatUpdate", null, "difyChat修改", null, true, false, 1, "dify:chat:update", "");
+        Menu difyChatStop = new Menu(dify.getId(), Menu.Type.OPERATION, "difyChatStop", null, "difyChat停止", null, true, false, 1, "dify:chat:stop", "");
+        Menu difyChatSend = new Menu(dify.getId(), Menu.Type.OPERATION, "difyChatSend", null, "difyChat发送", null, true, false, 1, "dify:chat:send", "");
+        Menu difyChatDelete = new Menu(dify.getId(), Menu.Type.OPERATION, "difyChatDelete", null, "difyChat删除", null, true, false, 1, "dify:chat:delete", "");
+        Menu difyServerQuery = new Menu(dify.getId(), Menu.Type.OPERATION, "difyServerQuery", null, "difyServer查询", null, true, false, 1, "dify:server:query", "");
+        Menu difyServerCreate = new Menu(dify.getId(), Menu.Type.OPERATION, "difyServerCreate", null, "difyServer新增", null, true, false, 1, "dify:server:create", "");
+        Menu difyServerUpdate = new Menu(dify.getId(), Menu.Type.OPERATION, "difyServerUpdate", null, "difyServer修改", null, true, false, 1, "dify:server:update", "");
+        Menu difyServerInit = new Menu(dify.getId(), Menu.Type.OPERATION, "difyServerInit", null, "difyServer初始化", null, true, false, 1, "dify:server:init", "");
+        Menu difyServerDelete = new Menu(dify.getId(), Menu.Type.OPERATION, "difyServerDelete", null, "difyServer删除", null, true, false, 1, "dify:server:delete", "");
+        Menu difyDataSetQuery = new Menu(dify.getId(), Menu.Type.OPERATION, "difyDataSetQuery", null, "difyDataSet查询", null, true, false, 1, "dify:dataset:query", "");
+        Menu difyDataSetCreate = new Menu(dify.getId(), Menu.Type.OPERATION, "difyDataSetCreate", null, "difyDataSet新增", null, true, false, 1, "dify:dataset:create", "");
+        Menu difyDataSetUpdate = new Menu(dify.getId(), Menu.Type.OPERATION, "difyDataSetUpdate", null, "difyDataSet修改", null, true, false, 1, "dify:dataset:update", "");
+        Menu difyDataSetRetrieve = new Menu(dify.getId(), Menu.Type.OPERATION, "difyDataSetRetrieve", null, "difyDataSet检索", null, true, false, 1, "dify:dataset:retrieve", "");
+        Menu difyDataSetDelete = new Menu(dify.getId(), Menu.Type.OPERATION, "difyDataSetDelete", null, "difyDataSet删除", null, true, false, 1, "dify:dataset:delete", "");
+        Menu difyWorkFlowQuery = new Menu(dify.getId(), Menu.Type.OPERATION, "difyWorkFlowQuery", null, "difyWorkFlow查询", null, true, false, 1, "dify:workflow:query", "");
+        Menu difyWorkFlowCreate = new Menu(dify.getId(), Menu.Type.OPERATION, "difyWorkFlowCreate", null, "difyWorkFlow新增", null, true, false, 1, "dify:workflow:create", "");
+        Menu difyWorkFlowUpdate = new Menu(dify.getId(), Menu.Type.OPERATION, "difyWorkFlowUpdate", null, "difyWorkFlow修改", null, true, false, 1, "dify:workflow:update", "");
+        Menu difyWorkFlowInfo  = new Menu(dify.getId(), Menu.Type.OPERATION, "difyWorkFlowInfo", null, "difyWorkFlow信息", null, true, false, 1, "dify:workflow:info", "");
+        Menu difyWorkFlowLog = new Menu(dify.getId(), Menu.Type.OPERATION, "difyWorkFlowLog", null, "difyWorkFlow日志", null, true, false, 1, "dify:workflow:log", "");
+        Menu difyWorkFlowRun = new Menu(dify.getId(), Menu.Type.OPERATION, "difyWorkFlowRun", null, "difyWorkFlow运行", null, true, false, 1, "dify:workflow:run", "");
+        Menu difyWorkFlowDelete = new Menu(dify.getId(), Menu.Type.OPERATION, "difyWorkFlowDelete", null, "difyWorkFlow删除", null, true, false, 1, "dify:workflow:delete", "");
         menuService.saveBatch(List.of(roleCreate, roleDelete, roleUpdate, roleQuery,
                 deptSave, deptUpdate, deptQuery, deptDelete,
                 userSave, userUpdate, userQuery, userDelete,
@@ -94,10 +101,10 @@ class MenuServiceImplTest {
                 noticeCreate, noticeUpdate, noticeQuery, noticeDelete,
                 bulletinCreate, bulletinUpdate, bulletinQuery, bulletinDelete,
                 operationLogQuery, operationLogDelete,
-                difyChatQuery, difyChatCreate, difyChatUpdate, difyChatDelete,
-                difyServerQuery, difyServerCreate, difyServerUpdate, difyServerDelete,
-                difyDataSetQuery, difyDataSetCreate, difyDataSetUpdate, difyDataSetDelete,
-                difyWorkFlowQuery, difyWorkFlowCreate, difyWorkFlowUpdate, difyWorkFlowDelete
+                difyChatQuery, difyChatCreate, difyChatUpdate, difyChatDelete,difyChatSend,difyChatStop,
+                difyServerQuery, difyServerCreate, difyServerUpdate, difyServerDelete,difyServerInit,
+                difyDataSetQuery, difyDataSetCreate, difyDataSetUpdate, difyDataSetDelete,difyDataSetRetrieve,
+                difyWorkFlowQuery, difyWorkFlowCreate, difyWorkFlowUpdate, difyWorkFlowDelete, difyWorkFlowInfo,difyWorkFlowLog,difyWorkFlowRun
         ));
     }