Commit e4afd59e by YeYuheng Committed by GitHub

Handle Agent V2 helper Pro modal (#7168)

* Handle Agent V2 helper Pro modal

* Document Agent Skill assisted generation availability

* Fix website sync create modal layout

* Update Skill preview Pro prompt
parent 2eeea151
......@@ -11,32 +11,33 @@ FastGPT 商业版是基于 FastGPT 社区版的增强版本,增加了一些独
## 功能差异
| | 社区版 | 商业版 | 云服务版 |
| ------------------------------ | ------------------------------------------ | ------ | ------- |
| **应用构建** | | | |
| 工作流编排 | ✅ | ✅ | ✅ |
| 分享链接和 API | ✅ | ✅ | ✅ |
| 应用发布安全配置 | ❌ | ✅ | ✅ |
| 第三方应用发布(飞书、公众号) | ❌ | ✅ | ✅ |
| 运行日志看板 | ❌ | ✅ | ✅ |
| 应用评测 | ❌ | ✅ | ✅ |
| **知识库** | | | |
| 知识库 | ✅ | ✅ | ✅ |
| 第三方知识库定时同步 | ❌ | ✅ | ✅ |
| 知识库索引增强 | ❌ | ✅ | ✅ |
| web站点同步 | ❌ | ✅ | ✅ |
| 图片知识库 | ❌ | ✅ | ✅ |
| **通用功能** | | | |
| 多模型配置 | ✅ | ✅ | ✅ |
| 模型日志看板 | ✅ | ✅ | ✅ |
| 模型内容审核 | ❌ | ✅ | ✅ |
| **企业级功能** | | | |
| 自定义版权信息 | ❌ | ✅ | 设计中 |
| 多租户与支付 | ❌ | ✅ | ✅ |
| 团队空间 & 权限 | ❌ | ✅ | ✅ |
| 管理后台 | ❌ | ✅ | 不需要 |
| SSO 登录 | ❌ | ✅ | 设计中 |
| 商业授权 | [查看开源协议](./opensource/license.mdx) | 完整 | 完整 |
| | 社区版 | 商业版 | 云服务版 |
| ------------------------------ | ---------------------------------------- | ------ | -------- |
| **应用构建** | | | |
| 工作流编排 | ✅ | ✅ | ✅ |
| 分享链接和 API | ✅ | ✅ | ✅ |
| 应用发布安全配置 | ❌ | ✅ | ✅ |
| 第三方应用发布(飞书、公众号) | ❌ | ✅ | ✅ |
| 运行日志看板 | ❌ | ✅ | ✅ |
| 应用评测 | ❌ | ✅ | ✅ |
| Agent 与 Skill 辅助生成 | ❌ | ✅ | ✅ |
| **知识库** | | | |
| 知识库 | ✅ | ✅ | ✅ |
| 第三方知识库定时同步 | ❌ | ✅ | ✅ |
| 知识库索引增强 | ❌ | ✅ | ✅ |
| web 站点同步 | ❌ | ✅ | ✅ |
| 图片知识库 | ❌ | ✅ | ✅ |
| **通用功能** | | | |
| 多模型配置 | ✅ | ✅ | ✅ |
| 模型日志看板 | ✅ | ✅ | ✅ |
| 模型内容审核 | ❌ | ✅ | ✅ |
| **企业级功能** | | | |
| 自定义版权信息 | ❌ | ✅ | 设计中 |
| 多租户与支付 | ❌ | ✅ | ✅ |
| 团队空间 & 权限 | ❌ | ✅ | ✅ |
| 管理后台 | ❌ | ✅ | 不需要 |
| SSO 登录 | ❌ | ✅ | 设计中 |
| 商业授权 | [查看开源协议](./opensource/license.mdx) | 完整 | 完整 |
## 商业版软件价格
......@@ -44,24 +45,24 @@ FastGPT 商业版软件根据不同的部署方式,分为 3 类收费模式。
**共有服务**
1. Saas 商业授权许可 - 在商业版有效期内,可提供任意形式的商业服务。
1. SaaS 商业授权许可 - 在商业版有效期内,可提供任意形式的商业服务。
2. 首次免费帮助部署。
3. 优先问题工单处理。
**特有服务**
| 部署方式 | 特有服务 | 上线时长 | 标品价格 |
| ---------------------- | ------------------------------------------------- | -------- | ----------------------------------------------------------------------------------------------------- |
| Sealos全托管 | 1. 有效期内免费升级。<br />2. 免运维服务&数据库。 | 半天 | 10000元起/月(3个月起)<br />或<br />120000元起/年<br />8C32G 资源,额外资源另外收费。 |
| Sealos全托管(多节点) | 1. 有效期内免费升级。<br />2. 免运维服务&数据库。 | 半天 | 22000元起/月(3个月起)<br />或<br />264000元起/年<br />32C128G 资源,额外资源另外收费。 |
| 自有服务器部署 | 1. 6个版本免费升级支持。 | 14天内 | 具体价格和优惠可[联系咨询](https://fael3z0zfze.feishu.cn/share/base/form/shrcnjJWtKqjOI9NbQTzhNyzljc) |
| 部署方式 | 特有服务 | 上线时长 | 标品价格 |
| ----------------------- | ------------------------------------------------- | -------- | ----------------------------------------------------------------------------------------------------- |
| Sealos 全托管 | 1. 有效期内免费升级。<br />2. 免运维服务&数据库。 | 半天 | 10000 元起/月(3 个月起)<br />或<br />120000 元起/年<br />8C32G 资源,额外资源另外收费。 |
| Sealos 全托管(多节点) | 1. 有效期内免费升级。<br />2. 免运维服务&数据库。 | 半天 | 22000 元起/月(3 个月起)<br />或<br />264000 元起/年<br />32C128G 资源,额外资源另外收费。 |
| 自有服务器部署 | 1. 6 个版本免费升级支持。 | 14 天内 | 具体价格和优惠可[联系咨询](https://fael3z0zfze.feishu.cn/share/base/form/shrcnjJWtKqjOI9NbQTzhNyzljc) |
<Alert icon="🤖" context="success">
- 6个版本的升级服务不是指只能用 6 个版本,而是指依赖 FastGPT
团队提供的升级服务。大部分时候,建议自行升级,也不麻烦。 -
全托管版本适合技术人员紧缺的团队,仅需关注业务推动,无需关心服务是否正常运行。 -
自有服务器部署版可以完全部署在自己服务器中。 -
单机版适合中小团队对内提供服务,需要自己维护数据库备份等。 -
- 6 个版本的升级服务不是指只能用 6 个版本,而是指依赖 FastGPT
团队提供的升级服务。大部分时候,建议自行升级,也不麻烦。-
全托管版本适合技术人员紧缺的团队,仅需关注业务推动,无需关心服务是否正常运行。-
自有服务器部署版可以完全部署在自己服务器中。-
单机版适合中小团队对内提供服务,需要自己维护数据库备份等。-
高可用版适合对外提供在线服务,包含可视化监控、多副本、负载均衡、数据库自动备份等生产环境的基础设施。
</Alert>
......@@ -77,7 +78,7 @@ FastGPT 商业版软件根据不同的部署方式,分为 3 类收费模式。
### 技术服务费(定开、维护、迁移、三方接入等)
2000 ~ 3000元/人/天
2000 ~ 3000 元/人/天
### 更新升级费用
......
......@@ -928,9 +928,9 @@
"plugin.Invalid URL": "Invalid URL",
"plugin.Search_app": "Search App",
"price_over_wx_limit": "Exceed payment provider limit: WeChat Pay only supports less than 6,000 yuan",
"pro_modal_feature_1": "External organization structure integration and multi-tenancy",
"pro_modal_feature_2": "Team-exclusive application showcase page",
"pro_modal_feature_3": "Knowledge base enhanced indexing",
"pro_modal_feature_1": "Intelligent assisted generation for Agents and Skills",
"pro_modal_feature_2": "Website sync and third-party knowledge bases",
"pro_modal_feature_3": "Multi-tenancy, organization structure, and audit logs",
"pro_modal_later_button": "Maybe Later",
"pro_modal_subtitle": "Join the business edition now to unlock more premium features",
"pro_modal_title": "Business Edition Exclusive",
......
......@@ -76,5 +76,8 @@
"permission.des.read": "Can view Agent Skill",
"permission.des.write": "Can edit Agent Skill",
"permission.des.manage": "Can manage Agent Skill and collaborators",
"empty_state_tip": "Tell AI how to modify the Skill,\nor let AI run the Skill to see the effect"
"empty_state_tip": "Tell AI how to modify the Skill,\nor let AI run the Skill to see the effect",
"empty_state_community_prefix": "Preview Skill results through chat. ",
"empty_state_community_upgrade": "Upgrade to the Commercial Edition",
"empty_state_community_suffix": " to generate Skills with AI."
}
......@@ -928,9 +928,9 @@
"plugin.Invalid URL": "URL 无效",
"plugin.Search_app": "搜索应用",
"price_over_wx_limit": "超出支付提供商限额:微信支付仅支持 6000 元以下",
"pro_modal_feature_1": "外部组织架构接入与多租户",
"pro_modal_feature_2": "团队专属的应用展示页",
"pro_modal_feature_3": "知识库增强索引",
"pro_modal_feature_1": "Agent与Skill的智能辅助生成",
"pro_modal_feature_2": "web站点同步与第三方知识库",
"pro_modal_feature_3": "多租户、组织架构与审计日志",
"pro_modal_later_button": "我再想想",
"pro_modal_subtitle": "即刻加入商业版,解锁更多高级功能",
"pro_modal_title": "商业版专享",
......
......@@ -76,5 +76,8 @@
"permission.des.read": "可查看 Agent Skill",
"permission.des.write": "可编辑 Agent Skill",
"permission.des.manage": "可管理 Agent Skill 和协作者",
"empty_state_tip": "告诉 AI 如何修改 Skill,\n或让 AI 运行 Skill 查看效果"
"empty_state_tip": "告诉 AI 如何修改 Skill,\n或让 AI 运行 Skill 查看效果",
"empty_state_community_prefix": "通过对话预览 Skill 效果,",
"empty_state_community_upgrade": "升级商业版",
"empty_state_community_suffix": "可使用 AI 生成 Skill。"
}
......@@ -918,9 +918,9 @@
"plugin.Invalid URL": "無效的網址",
"plugin.Search_app": "搜尋應用程式",
"price_over_wx_limit": "超出支付提供商限額:微信支付僅支持 6000 元以下",
"pro_modal_feature_1": "外部組織架構接入與多租戶",
"pro_modal_feature_2": "團隊專屬的應用展示頁",
"pro_modal_feature_3": "知識庫增強索引",
"pro_modal_feature_1": "Agent 與 Skill 的智能輔助生成",
"pro_modal_feature_2": "Web 站點同步與第三方知識庫",
"pro_modal_feature_3": "多租戶、組織架構與審計日誌",
"pro_modal_later_button": "我再想想",
"pro_modal_subtitle": "即刻加入商業版,解鎖更多高級功能",
"pro_modal_title": "商業版專享",
......
......@@ -75,5 +75,9 @@
"no_current_version": "Skill 暫無可用版本,請重新建立或匯入後再編輯。",
"permission.des.read": "可查看 Agent Skill",
"permission.des.write": "可編輯 Agent Skill",
"permission.des.manage": "可管理 Agent Skill 和協作者"
"permission.des.manage": "可管理 Agent Skill 和協作者",
"empty_state_tip": "告訴 AI 如何修改 Skill,\n或讓 AI 運行 Skill 查看效果",
"empty_state_community_prefix": "透過對話預覽 Skill 效果,",
"empty_state_community_upgrade": "升級商業版",
"empty_state_community_suffix": "可使用 AI 生成 Skill。"
}
......@@ -29,6 +29,7 @@ import { useSystemStore } from '@/web/common/system/useSystemStore';
import { useUserStore } from '@/web/support/user/useUserStore';
import { useToast } from '@fastgpt/web/hooks/useToast';
import ChatVariableButton from '@/pageComponents/chat/ChatWindow/ChatVariableButton';
import ProModal from '@/components/ProTip/ProModal';
type Props = {
appForm: AppFormEditFormType;
......@@ -51,6 +52,7 @@ const ChatTest = ({ appForm, setAppForm, setRenderEdit, form2WorkflowFn }: Props
});
const [activeTab, setActiveTab] = useSafeState<'helper' | 'chat_debug'>('chat_debug');
const [proModalOpen, setProModalOpen] = useSafeState(false);
const HelperBotRef = useRef<HelperBotRefType>(null);
const { appDetail } = useContextSelector(AppContext, (v) => v);
......@@ -154,6 +156,10 @@ const ChatTest = ({ appForm, setAppForm, setRenderEdit, form2WorkflowFn }: Props
]}
value={activeTab}
onChange={(value) => {
if (value === 'helper' && !feConfigs?.isPlus) {
setProModalOpen(true);
return;
}
setActiveTab(value);
}}
/>
......@@ -253,6 +259,9 @@ const ChatTest = ({ appForm, setAppForm, setRenderEdit, form2WorkflowFn }: Props
)}
<SandboxEditorModal />
{!feConfigs?.isPlus && (
<ProModal isOpen={proModalOpen} onClose={() => setProModalOpen(false)} />
)}
</Flex>
);
};
......
......@@ -21,6 +21,7 @@ import { AppTypeEnum } from '@fastgpt/global/core/app/constants';
import type { AppFileSelectConfigType } from '@fastgpt/global/core/app/type/config.schema';
import type { StartChatFnProps } from '@/components/core/chat/ChatContainer/type';
import { useMemoizedFn } from 'ahooks';
import ProModal from '@/components/ProTip/ProModal';
const fileSelectConfig: AppFileSelectConfigType = {
maxFiles: 10,
......@@ -41,10 +42,11 @@ const SkillPreview = () => {
chatId: v.chatId
}));
const { llmModelList, defaultModels } = useSystemStore();
const { llmModelList, defaultModels, feConfigs } = useSystemStore();
const setChatBoxData = useContextSelector(ChatItemContext, (v) => v.setChatBoxData);
const defaultModel = defaultModels.llm?.model || llmModelList[0]?.model || '';
const [selectedModel, setSelectedModel] = useState('');
const [proModalOpen, setProModalOpen] = useState(false);
const userSelectedModelRef = useRef(false);
const modelSelectList = useMemo(
......@@ -162,10 +164,28 @@ const SkillPreview = () => {
lineHeight="20px"
whiteSpace="pre-wrap"
>
{t('empty_state_tip')}
{feConfigs?.isPlus ? (
t('empty_state_tip')
) : (
<>
{t('empty_state_community_prefix')}
<Box
as="button"
type="button"
color="primary.600"
fontWeight={500}
cursor="pointer"
onClick={() => setProModalOpen(true)}
>
{t('empty_state_community_upgrade')}
</Box>
{t('empty_state_community_suffix')}
</>
)}
</Flex>
}
/>
<ProModal isOpen={proModalOpen} onClose={() => setProModalOpen(false)} />
</Box>
);
};
......
......@@ -112,11 +112,7 @@ const CreateModal = ({
</>
}
>
<Flex
flexDirection={'column'}
alignItems={'flex-start'}
minH={showApiDatasetForm ? undefined : '338px'}
>
<Flex flexDirection={'column'} alignItems={'flex-start'}>
<Flex w={'100%'} flexDirection={'column'} gap={4}>
<Box w={'100%'}>
<Flex justify={'space-between'}>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment