我看了你这个用户侧雏形 E:\project_file\ai-agentic-pt,它现在已经不是“展示页”,而是一个很明确的 用户智能体门户:
Plaza。AgentApply。AgentExecute,已经接 Dify /v1/info、/v1/parameters、/v1/workflows/run、/v1/chat-messages。所以我会把你的整体产品定义成两端:
管理平台:给管理员、运营、架构师、智能体开发者用
用户平台:给普通业务用户、员工、客户、合作方使用智能体
更准确一点:
管理平台 = 智能体控制台 / Agent Control Plane
用户平台 = 智能体工作台 / Agent Workspace
这两个平台不要混在一起。你现在这个方向是对的。
总体定位
我建议你把 Dify 改造后的管理平台定位为:
智能体的创建、发布、治理、调度、监控平台
把 ai-agentic-pt 定位为:
用户发现、申请、使用、订阅、协作智能体的平台
二者关系应该像这样:
管理平台负责生产和治理智能体
用户平台负责消费和使用智能体
也就是:
管理平台:
谁能创建智能体?
智能体如何配置?
有哪些工具和知识?
是否上架?
谁能用?
怎么审批?
怎么监控?
怎么计费?
怎么审计?
用户平台:
我能用哪些智能体?
哪些智能体适合我?
怎么申请权限?
怎么发起任务?
怎么查看结果?
怎么收藏常用智能体?
怎么继续历史会话?
怎么让智能体定期帮我做事?
这个边界非常重要。边界清楚,后面架构就不会打架。
一、用户平台应该怎么做
我建议用户平台不要做成“Dify 应用列表壳子”,而要做成 企业级 AI 工作入口。
用户打开平台时,不应该只看到一堆智能体卡片,而应该感受到:
这里是我使用所有 AI 能力的统一入口。
核心一级菜单建议是:
首页
广场
我的智能体
任务
历史
知识/文件
审批
个人设置
如果你的用户是企业内部员工,推荐结构:
首页
- 推荐给我的智能体
- 最近使用
- 待处理任务
- 我的申请进度
- 常用入口
广场
- 推荐
- 热门
- 最新
- 按部门
- 按场景
- 按行业
- 系统智能体
- 外部智能体
我的智能体
- 已授权
- 我收藏的
- 最近使用
- 即将过期
- 申请中
- 被拒绝
任务
- 我发起的任务
- 定时任务
- 待确认任务
- 执行中
- 失败任务
- 任务结果
历史
- 对话历史
- 工作流执行历史
- 文件生成记录
- 下载记录
- 可复用结果
审批
- 我的申请
- 待我审批,若用户也是主管
- 审批记录
个人设置
- 个人资料
- API Key
- 通知偏好
- 数据授权
你现在已经有:
广场
智能体
可用智能体
历史
申请
执行
我建议下一步把它整理成:
首页 / Dashboard
广场 / Plaza
我的 / My Agents
任务 / Tasks
历史 / History
其中“智能体”侧边栏的二级推荐可以保留,但不要让它承担全部导航职责。
二、用户平台和管理平台怎么打通
最关键的是建立一套明确的发布和消费链路。
我建议定义一条完整生命周期:
管理员创建智能体
-> 配置工具、知识、模型、权限
-> 测试
-> 设置上架信息
-> 设置访问策略
-> 发布到用户平台广场
-> 用户发现
-> 用户申请或直接使用
-> 执行对话/工作流/任务
-> 生成历史与结果
-> 管理端查看运行、质量、成本、反馈
-> 迭代新版本
这条链路里面,两个平台分别负责:
管理平台:
创建、配置、发布、权限、审批、监控、版本、审计
用户平台:
发现、申请、使用、收藏、任务、历史、反馈
中间需要一个业务层,不建议让用户平台直接强依赖 Dify 原始 Console API。
你现在 ai-agentic-pt 已经有 /business/* 接口,这是正确方向。未来建议所有用户平台接口都走业务层:
/business/apps/recommended
/business/apps/hottest
/business/apps/latest
/business/apps/list
/business/apps/:id/basic-info
/business/apps/:id/access-status
/business/apps/:id/access-requests
/business/apps/:id/api-key
/business/agent-marks
/business/agent-pros
继续扩展时也保持这个风格:
/business/me/agents
/business/me/tasks
/business/me/history
/business/me/approvals
/business/me/notifications
/business/apps/:id/reviews
/business/apps/:id/feedback
/business/apps/:id/usage
不要让用户侧关心 Dify 里的 app、workflow、advanced-chat、agent-chat 这些内部实现太多。用户侧应该看到的是:
智能体
任务
结果
权限
而不是:
Dify App
Dify Workflow
Dify API Key
Dify Service API
这些可以在技术层存在,但产品层要隐藏。
三、用户平台最应该补齐的产品闭环
你现在已经有雏形,但还缺几个闭环。
1. 发现闭环
现在广场已经有推荐、热门、最新、系统智能体。下一步应该补:
分类
搜索
标签
适用部门
适用场景
权限状态
是否已收藏
是否可直接使用
是否需要申请
智能体卡片上不要只展示名称和描述,建议展示:
智能体名称
一句话价值
适用场景
权限状态
使用次数/热度
评分或满意度
最近更新
创建方
是否官方
卡片按钮根据状态变化:
公开智能体:立即使用
需申请:申请使用
申请中:查看进度
已授权:打开
已拒绝:重新申请
外部智能体:打开外部服务 / 申请集成权限
你现在已经在做 getAppApiKey 判断,这很好。但产品层最好不要每次点击才判断,可以列表接口直接返回:
{
"access_status": "available | need_apply | pending | rejected | private",
"is_marked": true,
"can_execute": true
}
这样用户不会点击后才突然跳申请页,体验更稳。
2. 权限申请闭环
AgentApply 已经做得有雏形了,有状态、有轮询、有重新申请。下一步建议补:
申请理由模板
申请用途
使用频率
所属项目
数据范围
期望有效期
审批人
审批 SLA
审批记录
被拒原因
重新申请
申请不是单纯“我要用”,而是企业权限治理的一部分。
权限模型建议至少有:
public:公开,登录用户可用
protected:需要申请
department:部门内可用
role_based:指定角色可用
private:不可申请,仅管理员分配
external:外部系统授权
当前你代码里有 public / partial / private,可以先用,但未来建议扩成上面的业务语义。
3. 使用闭环
AgentExecute 现在已经能执行 workflow 和 chat,这是非常关键的主功能。下一步要让它从“技术执行页”变成“用户工作台”。
用户进入一个智能体后,应该看到:
智能体介绍
适合做什么
输入区
参数表单
对话/执行区域
历史结果
常用模板
收藏
反馈
重新运行
导出结果
分享结果
创建定时任务
特别建议在执行页加两个能力:
保存为任务
设为定时任务
比如用户跑了一次“生成周报”,填好了参数。系统应该让用户:
以后每周五 17:00 自动运行这个智能体,并把结果发给我。
这会直接把用户平台和你前面想做的“定时任务模块”连接起来。
4. 历史闭环
你现在 History.jsx 还是静态数据。这个页面很重要,不应该只是“历史记录列表”,而应该成为用户的 AI 工作成果库。
建议历史分成:
对话历史
工作流执行历史
任务结果
生成文件
失败记录
收藏结果
每条历史至少有:
智能体
标题
输入摘要
输出摘要
执行状态
开始时间
耗时
消耗 token / 成本
可查看详情
可继续对话
可重新运行
可导出
可反馈
后台对应需要记录:
conversation_id
workflow_run_id
app_id
user_id
inputs
outputs
status
error
started_at
ended_at
elapsed
metadata
不要只依赖 Dify 原始日志。你需要用户平台自己的业务历史表,用来做用户视角的聚合。
5. 任务闭环
这是我认为你下一步最有战略价值的一块。
用户平台里的“任务”不是管理平台里的“调度配置”。用户视角应该是:
我让哪个智能体帮我做了什么事?
现在做到哪一步?
结果在哪里?
失败了怎么办?
下次什么时候执行?
建议任务模块设计为:
任务列表
- 一次性任务
- 定时任务
- 事件触发任务
- 等待我确认
- 已完成
- 失败
任务详情
- 任务目标
- 绑定智能体
- 输入参数
- 执行计划
- 当前状态
- 执行日志
- 输出结果
- 失败原因
- 重试
- 暂停/恢复
这和管理平台的关系是:
用户平台:用户创建和查看自己的任务
管理平台:管理员治理全局任务、队列、失败、权限、审计
同一个任务系统,不同视角。
四、管理平台应该怎么支撑用户平台
为了让用户平台好用,管理平台不能只做“Dify 原始配置”。它要多出一层“上架运营能力”。
建议在管理端给每个智能体增加这些字段:
上架状态
- 未上架
- 内测
- 已上架
- 下架
展示信息
- 用户侧名称
- 一句话介绍
- 详细介绍
- 图标
- 分类
- 标签
- 适用人群
- 示例问题
- 输入示例
- 输出示例
- 使用说明
权限策略
- 公开
- 申请制
- 部门可见
- 角色可见
- 指定用户
- 私有
- 外部授权
申请策略
- 是否允许申请
- 默认审批人
- 是否自动审批
- 有效期
- 最大调用次数
- 成本额度
运营策略
- 推荐分
- 是否热门
- 是否官方
- 排序权重
- 上架时间
- 最新版本说明
运行策略
- 并发限制
- 调用频率限制
- 超时
- 重试
- 敏感操作确认
质量策略
- 评分
- 反馈
- 成功率
- 平均响应时间
- 最近失败率
这些字段不一定属于 Dify 原始 apps 表。更建议你单独建业务表,比如:
business_agent_listing
business_agent_access_policy
business_agent_access_request
business_agent_mark
business_agent_usage_history
business_agent_task
business_agent_feedback
business_agent_category
不要把用户平台运营字段硬塞进 Dify 核心表。那样未来升级 Dify 会很痛。
五、推荐的整体架构
我建议最终架构是:
用户平台 ai-agentic-pt
|
| /business/*
v
业务 API 层 / Portal API
|
| 读写业务表
v
业务数据库
|
| 调用 / 代理
v
Dify Console / Service API
|
v
Dify Runtime / Workflow / Chat
更完整一点:
[用户平台]
- 广场
- 我的智能体
- 执行页
- 申请
- 任务
- 历史
- 反馈
[业务 API 层]
- 认证适配
- 智能体上架
- 权限申请
- API Key 代理
- 任务调度
- 历史聚合
- 用户推荐
- 审批流
- 通知
[Dify 管理平台]
- 创建应用/智能体
- 配置模型
- 配置工具
- 配置知识库
- 配置工作流
- 监控日志
[调度与执行]
- Celery / Scheduler
- Redis Queue
- Dify Service API
- Webhook / 外部系统
[治理]
- RBAC
- 审计
- 成本
- 限流
- 版本
- 评测
重点是:用户平台不要直接变成 Dify 的另一个皮肤,而要有自己的业务 API 和业务数据模型。
六、你现在这个用户平台的具体建议
基于我看到的文件和功能,我建议这样推进。
第一步:先把信息架构收敛
现在路由是:
/plaza
/agents
/history
/available
/agents/execute/:appId
/agents/apply/:appId
/agents/external/:agentProId
建议调整产品概念为:
/plaza 广场
/my/agents 我的智能体
/my/tasks 我的任务
/my/history 历史记录
/agents/:id 智能体详情
/agents/:id/apply 申请使用
/agents/:id/run 使用智能体
/agents/external/:id 外部智能体
即使代码暂时不改,也建议产品文档和后端接口按这个心智设计。
第二步:把 AvailableAgents 从静态改成真实“我的智能体”
这个页面应该调用:
GET /business/me/agents
返回:
{
"id": "...",
"name": "...",
"description": "...",
"icon": "...",
"access_status": "available",
"expires_at": "...",
"last_used_at": "...",
"is_marked": true,
"usage_count": 12
}
它应该合并:
已授权智能体
收藏智能体
最近使用智能体
申请中智能体
可以用 tabs:
全部
已授权
收藏
申请中
即将过期
第三步:补智能体详情页
现在广场点击后直接去执行或申请。这个路径很高效,但缺少“了解这个智能体”的中间页。
建议新增:
/agents/:id
详情页负责展示:
介绍
示例
权限状态
版本
创建方
使用说明
评价
最近更新
使用按钮/申请按钮
用户从广场点卡片先到详情页。卡片上的主按钮可以直接“使用/申请”,但详情页必须有。
这是平台感的关键,不然广场像一堆快捷方式。
第四步:把执行历史做成真实业务历史
目前 AgentExecute 里执行 Dify SSE,但用户历史页没有接真实数据。建议执行开始和结束时,业务层记录:
POST /business/runs
PATCH /business/runs/:id
GET /business/me/runs
GET /business/runs/:id
如果暂时不好全量代理 Dify SSE,至少在前端执行开始前创建一条业务 run,结束后把摘要、状态、耗时写回业务 API。
长期更建议由后端代理 Dify 执行,这样历史、权限、审计、限流都能集中控制。
第五步:加入任务中心
这是你要做“面向用户智能体应用平台”的杀手锏。
用户不是每次都主动打开平台聊天,很多场景是:
每天给我生成日报
每周总结销售线索
当有新工单时自动分类
当客户发邮件时自动生成回复草稿
每小时巡检系统日志
每月生成经营分析
用户平台应有:
创建任务
选择智能体
填写输入
选择触发方式
选择输出方式
确认权限
查看执行结果
管理平台则有:
任务模板
调度策略
队列监控
失败重试
全局审计
这两个是同一个任务系统的两张脸。
第六步:自然语言入口
用户平台也应该有自然语言入口,但和管理平台不同。
管理平台自然语言入口是:
帮我创建一个智能体
帮我配置权限
帮我发布到销售部门
帮我加一个定时任务模板
用户平台自然语言入口是:
我想做一个销售周报
帮我找能处理合同审核的智能体
以后每天 9 点提醒我看线索
帮我把这份文件交给合适的智能体处理
用户平台的自然语言入口应该像一个 智能体路由器 / AI 助理前台:
用户说需求
-> 系统识别意图
-> 推荐智能体
-> 自动填充参数
-> 发起执行/申请/任务
举例:
我想分析一下这个月销售数据。
系统应该回复:
推荐使用:销售数据分析智能体
需要上传:销售数据表
可选输出:图表报告 / 管理摘要 / Excel 明细
是否现在开始?
而不是让用户自己逛广场找卡片。
七、两个平台之间的对象模型建议
我建议你把“智能体”抽象成业务层统一对象,不要让用户平台直接区分太多 Dify 内部类型。
Agent
- id
- source_type: dify_app | agent_pro | external | composite
- source_id
- name
- description
- icon
- category
- tags
- owner
- status
- visibility
- access_policy
- listing_info
- runtime_config
用户侧看到的是 Agent。
管理侧可以看到更细:
Dify App
Workflow
Chat App
External Agent
Agent Pro
Composite Agent
权限对象:
AgentAccess
- user_id
- agent_id
- status
- granted_by
- granted_at
- expires_at
- quota
- scope
申请对象:
AgentAccessRequest
- user_id
- agent_id
- reason
- status
- approver_id
- rejected_reason
- created_at
- updated_at
运行对象:
AgentRun
- id
- user_id
- agent_id
- task_id
- mode
- inputs
- outputs
- status
- error
- started_at
- ended_at
- cost
- trace_id
任务对象:
AgentTask
- id
- user_id
- agent_id
- title
- trigger_type
- schedule
- inputs
- output_target
- status
- next_run_at
- last_run_at
反馈对象:
AgentFeedback
- run_id
- user_id
- agent_id
- rating
- comment
- issue_type
这些对象是用户平台和管理平台共同的“语言”。
八、产品策略建议
我建议你不要一上来做“万能超级智能体平台”。先做一个很清楚的闭环:
管理员发布智能体
用户发现智能体
用户申请权限
用户使用智能体
用户查看历史
用户收藏智能体
用户创建定时任务
管理员看使用数据和反馈
管理员迭代智能体
这条闭环跑通以后,再做自然语言创建和多智能体协作。
推荐 MVP 优先级:
P0
- 广场真实列表
- 智能体详情
- 权限申请
- 执行页稳定
- 我的智能体
- 真实历史记录
P1
- 收藏/推荐
- 分类/搜索/标签
- 使用反馈
- 管理端上架配置
- 管理端审批
- 用户侧任务中心
P2
- 定时任务
- 通知
- 审批流
- 成本/额度
- 自然语言找智能体
- 自然语言创建任务
P3
- 自然语言创建智能体
- 多智能体团队
- 任务模板市场
- 行业方案
- 自动评测和优化建议
九、我最建议你现在做的架构决策
第一,保留两个平台,不要合并。
管理平台复杂、面向专业角色;用户平台轻、面向业务用户。合并会让普通用户看到太多配置,也会让管理端被用户体验约束。
第二,抽出业务 API 层。
用户平台所有东西走 /business/*,不要直接调用 Dify Console API。Dify Service API 的执行可以短期前端直连,但长期最好后端代理。
第三,智能体上架信息独立建模。
不要把广场、推荐、权限、申请、热度、评分这些都塞进 Dify 原生 app。你要做的是“Dify 之上的智能体运营层”。
第四,任务中心从一开始按平台级能力设计。
不要只做“cron 页面”。用户侧叫“任务”,管理侧叫“调度/任务治理”,底层同一套任务模型。
第五,自然语言入口分两类。
管理平台的自然语言是“创建和管理智能体”;用户平台的自然语言是“找到、使用、委托智能体”。
第六,历史和审计要自己掌握。
这是平台价值沉淀的地方。只靠 Dify 内部日志,用户侧体验和管理侧治理都会受限。
十、推荐你形成的最终产品形态
我会把最终形态想成这样:
用户打开 AI agentic 平台
-> 首页看到推荐智能体、最近任务、待处理事项
-> 可以在广场找智能体
-> 可以用自然语言描述需求,让平台推荐智能体
-> 可以申请权限
-> 可以直接使用智能体
-> 可以把一次执行保存为定时任务
-> 可以在历史里查看所有 AI 工作成果
-> 可以给结果反馈
管理员打开管理平台:
创建智能体
-> 绑定知识、工具、模型
-> 设置用户侧展示信息
-> 设置权限和审批
-> 发布到广场
-> 查看申请和使用数据
-> 查看失败、成本、质量
-> 调整版本
-> 下架或灰度发布
这就是一个完整的“双平台智能体系统”:
管理平台负责供给
用户平台负责消费
业务 API 负责连接
任务系统负责持续执行
治理系统负责安全可控
我的结论很明确:你现在的 ai-agentic-pt 应该继续做,而且应该把它从“智能体广场雏形”升级成“用户 AI 工作台”。管理平台不要承担用户使用体验,管理平台只负责创建、发布、治理和监控。两端通过统一的业务智能体模型、权限模型、任务模型、历史模型打通。
如果下一步只选一个最重要的方向,我建议先做:
智能体详情 + 我的智能体 + 真实历史 + 任务中心雏形
这四个补齐之后,用户平台就从“能点开智能体”变成“真的能日常工作”。