Compare commits

..

4 Commits

Author SHA1 Message Date
8d89653143 chore(ci): remove unused tool 2025-07-26 14:55:49 +08:00
bc68869493 fix: [app] api message event name (#20) 2025-07-26 14:37:12 +08:00
ccee6dcde8 docs: update the step after service the starting (#18) 2025-07-26 14:34:37 +08:00
d9ec4f60e0 docs(frontend): use new doc styles (#17)
* docs: use new doc styles

* docs: use new doc styles

* docs: use new doc styles
2025-07-26 13:51:05 +08:00
31 changed files with 75 additions and 77 deletions

View File

@ -17,12 +17,12 @@ English | [中文](README.zh_CN.md)
## What is Coze Studio?
[Coze Studio](https://www.coze.cn/home) is an all-in-one AI agent development tool. Providing the latest large models and tools, various development modes and frameworks, Coze Studio offers the most convenient AI agent development environment, from development to deployment. Tens of thousands of enterprises and millions of developers are using Coze Studio.
[Coze Studio](https://www.coze.cn/home) is an all-in-one AI agent development tool. Providing the latest large models and tools, various development modes and frameworks, Coze Studio offers the most convenient AI agent development environment, from development to deployment.
* **Provides all core technologies needed for AI agent development**: prompt, RAG, plugin, workflow, enabling developers to focus on creating the core value of AI.
* **Ready to use for professional AI agent development at the lowest cost**: Coze Studio provides developers with complete app templates and build frameworks, allowing you to quickly construct various AI agents and turn creative ideas into reality.
Coze Studio is the open-source version of ByteDance's new AI agent development platform **Coze**. Through Coze Studio's visual design and build tools, developers can quickly create and debug agents, apps, and workflows using no-code or low-code approaches, enabling powerful AI app development and more customized business logic. It's an ideal choice for building low-code AI products tailored . Coze Studio aims to lower the threshold for AI agent development and application, encouraging community co-construction and sharing for deeper exploration and practice in the AI field.
Coze Studio, derived from the "Coze Development Platform" which has served tens of thousands of enterprises and millions of developers, we have made its core engine completely open. It is a one-stop visual development tool for AI Agents that makes creating, debugging, and deploying AI Agents unprecedentedly simple. Through Coze Studio's visual design and build tools, developers can quickly create and debug agents, apps, and workflows using no-code or low-code approaches, enabling powerful AI app development and more customized business logic. It's an ideal choice for building low-code AI products tailored . Coze Studio aims to lower the threshold for AI agent development and application, encouraging community co-construction and sharing for deeper exploration and practice in the AI field.
The backend of Coze Studio is developed using Golang, the frontend uses React + TypeScript, and the overall architecture is based on microservices and built following domain-driven design (DDD) principles. Provide developers with a high-performance, highly scalable, and easy-to-customize underlying framework to help them address complex business needs.
## Feature list
@ -74,6 +74,7 @@ Deployment steps:
cp .env.example .env
docker compose --profile '*' up -d
```
4. After starting the service, you can open Coze Studio by accessing `http://localhost:8888/` through your browser.
## Developer Guide

View File

@ -17,12 +17,12 @@
## 什么是 Coze Studio
[Coze Studio](https://www.coze.cn/home) 是一站式 AI Agent 开发工具。提供各类最新大模型和工具、多种开发模式和框架,从开发到部署,为你提供最便捷的 AI Agent 开发环境。上万家企业、数百万开发者正在使 Coze Studio。
[Coze Studio](https://www.coze.cn/home) 是一站式 AI Agent 开发工具。提供各类最新大模型和工具、多种开发模式和框架,从开发到部署,为你提供最便捷的 AI Agent 开发环境。
* **提供 AI Agent 开发所需的全部核心技术**Prompt、RAG、Plugin、Workflow使得开发者可以聚焦创造 AI 核心价值。
* **开箱即用,用最低的成本开发最专业的 AI Agent**Coze Studio 为开发者提供了健全的应用模板和编排框架,你可以基于它们快速构建各种 AI Agent ,将创意变为现实。
Coze Studio 是字节跳动新一代 AI Agent 开发平台**扣子Coze**的**开源版本**。通过 Coze Studio 提供的可视化设计与编排工具,开发者可以通过零代码或低代码的方式,快速打造和调试智能体、应用和工作流,实现强大的 AI 应用开发和更多定制化业务逻辑,是构建低代码 AI 产品的理想选择。Coze Studio 致力于降低 AI Agent 开发与应用门槛,鼓励社区共建和分享交流,助你在 AI 领域进行更深层次的探索与实践。
Coze Studio,源自服务了上万家企业、数百万开发者的「扣子开发平台」,我们将它的核心引擎完全开放。它是一个一站式的 AI Agent 可视化开发工具,让 AI Agent 的创建、调试和部署变得前所未有的简单。通过 Coze Studio 提供的可视化设计与编排工具,开发者可以通过零代码或低代码的方式,快速打造和调试智能体、应用和工作流,实现强大的 AI 应用开发和更多定制化业务逻辑,是构建低代码 AI 产品的理想选择。Coze Studio 致力于降低 AI Agent 开发与应用门槛,鼓励社区共建和分享交流,助你在 AI 领域进行更深层次的探索与实践。
Coze Studio 的后端采用 Golang 开发,前端使用 React + TypeScript整体基于微服务架构并遵循领域驱动设计DDD原则构建。为开发者提供一个高性能、高扩展性、易于二次开发的底层框架助力开发者应对复杂的业务需求。
## 功能清单
@ -73,7 +73,7 @@ Coze Studio 的后端采用 Golang 开发,前端使用 React + TypeScript
cp .env.example .env
docker compose --profile '*' up -d
```
4. 启动服务后,通过浏览器访问 `http://localhost:8888/` 即可打开 Coze Studio。
## 开发指南

Binary file not shown.

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import React, { useState, useCallback } from 'react';
import classnames from 'classnames';
@ -90,7 +90,7 @@ export const Configuration = () => {
onClick={handleSwitchExpand}
/>
</div>
{/* The community version does not currently support conversation management in project, for future expansion */}
{/* will support soon */}
{IS_OPEN_SOURCE ? null : (
<div
className={classnames(

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import 'reflect-metadata';
import { useNavigate } from 'react-router-dom';
import React, { useMemo, memo } from 'react';
@ -73,7 +73,7 @@ const ProjectIDE: React.FC<ProjectIDEProps> = memo(
() => ({
view: {
widgetRegistries: [
// The community version does not currently support conversation management in project, for future expansion
// will support soon
...(IS_OPEN_SOURCE ? [] : [ConversationRegistry]),
WorkflowWidgetRegistry,
DatabaseWidgetRegistry,

View File

@ -13,18 +13,18 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import React, { type FC, useContext, useState } from 'react';
import { WorkflowMode, BindBizType } from '@coze-arch/idl/workflow_api';
import { I18n } from '@coze-arch/i18n';
import { CustomError } from '@coze-arch/bot-error';
import {
IconCozWorkflow,
IconCozChat,
IconCozArrowDown,
} from '@coze-arch/coze-design/icons';
import { Menu, Button } from '@coze-arch/coze-design';
import { CustomError } from '@coze-arch/bot-error';
import WorkflowModalContext from '../workflow-modal-context';
import { WorkflowModalFrom, type WorkFlowModalModeProps } from '../type';
@ -80,7 +80,7 @@ export const CreateWorkflowBtn: FC<
return (
<>
{/* The community version does not currently support chatflow, for future expansion */}
{/* will support soon */}
{showSingleButton || IS_OPEN_SOURCE ? (
<Button
className={className}

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/* eslint-disable @coze-arch/max-line-per-function */
import {
forwardRef,
@ -28,14 +28,14 @@ import { useQuery } from '@tanstack/react-query';
import { WorkflowMode } from '@coze-workflow/base/api';
import { workflowApi, isGeneralWorkflow } from '@coze-workflow/base';
import { I18n } from '@coze-arch/i18n';
import { useFlags } from '@coze-arch/bot-flags';
import { ProductEntityType } from '@coze-arch/bot-api/product_api';
import { ProductApi } from '@coze-arch/bot-api';
import {
IconCozAllFill,
IconCozFireFill,
IconCozKnowledgeFill,
} from '@coze-arch/coze-design/icons';
import { useFlags } from '@coze-arch/bot-flags';
import { ProductEntityType } from '@coze-arch/bot-api/product_api';
import { ProductApi } from '@coze-arch/bot-api';
import WorkflowModalContext from '../workflow-modal-context';
import {
@ -97,7 +97,6 @@ const WorkflowFilter = forwardRef<
FLAGS['bot.community.store_imageflow'] ||
isGeneralWorkflow(context?.flowMode || WorkflowMode.Workflow)
) {
// The community version does not currently support workflow template tags for future expansion
if (IS_OPEN_SOURCE) {
return {
type: 'PublicGetProductCategoryList',

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { useMemo } from 'react';
import { type Form } from '@coze-workflow/test-run/formily';
@ -100,7 +100,7 @@ const schema = {
'x-component-props': {
title: I18n.t('devops_publish_multibranch_BotInfo.OnboardingInfo'),
collapsible: true,
// The community version does not support AI-generated opening text for now, for future expansion
// will support soon
action: IS_OPEN_SOURCE ? null : <AIGenerateBtn />,
},
properties: {
@ -152,7 +152,7 @@ const schema = {
},
voices: {
type: 'object',
// The community version does not currently support the Agent voice configuration in Chatflow, for future expansion
// will support soon
'x-visible': !IS_OVERSEA && !IS_OPEN_SOURCE,
'x-decorator': 'FormSection',
'x-decorator-props': {
@ -173,7 +173,7 @@ const schema = {
},
input: {
type: 'void',
// The community version does not support change user input method (typing, voice), for future expansion
// will support soon
'x-visible': !IS_OVERSEA && !IS_OPEN_SOURCE,
'x-component': 'FormSection',
'x-component-props': {

View File

@ -13,14 +13,14 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { useRef, useState } from 'react';
import { I18n } from '@coze-arch/i18n';
import { type FileItem, type UploadProps } from '@coze-arch/bot-semi/Upload';
import { FileBizType } from '@coze-arch/bot-api/developer_api';
import { IconCozEdit } from '@coze-arch/coze-design/icons';
import { CozAvatar, Toast, Upload } from '@coze-arch/coze-design';
import { type FileItem, type UploadProps } from '@coze-arch/bot-semi/Upload';
import { FileBizType } from '@coze-arch/bot-api/developer_api';
import { EmptyRoleAvatar } from '../../empty-role-avatar';
import customUploadRequest from './utils/custom-upload-request';
@ -139,7 +139,7 @@ export const RoleAvatarUpload = (props: PackageUploadProps) => {
</div>
</Upload>
{/* The community version does not support AI-generated avatar, for future expansion */}
{/* will support soon */}
{!disabled && !IS_OPEN_SOURCE ? (
<AutoGenerate
generateInfo={generateInfo}

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { useCallback } from 'react';
import { I18n } from '@coze-arch/i18n';
@ -33,7 +33,7 @@ export const TestFormHeader: React.FC = () => {
const { open } = useOpenTraceListPanel();
const handleOpenTraceBottomSheet = useCallback(() => {
// The community version does not currently support trace, for future expansion
// will support soon
if (IS_OPEN_SOURCE) {
return;
}
@ -55,7 +55,7 @@ export const TestFormHeader: React.FC = () => {
hiddenStateText
onClick={handleOpenTraceBottomSheet}
extra={
// The community version does not currently support trace, for future expansion
// will support soon
!IS_OPEN_SOURCE && (
<span className={'cursor-pointer font-medium'}>
{I18n.t('workflow_testset_view_log')}

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/* eslint-disable @coze-arch/no-batch-import-or-export */
/* eslint-disable @typescript-eslint/no-explicit-any */
import {
@ -63,7 +63,7 @@ export const NodeFieldCollapse: React.FC<React.PropsWithChildren> = ({
<div className={css.extra}>
<ModeSwitch />
{/* The community version does not support AI-generated test-run inputs, for future expansion */}
{/* will support soon */}
{IS_OPEN_SOURCE ? null : (
<AIGenerateButton
schema={schema}

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/* eslint-disable @typescript-eslint/no-explicit-any */
import { useState } from 'react';
@ -83,7 +83,7 @@ export const AIGenerateButton: React.FC<AIGenerateButtonProps> = ({
i => i.name === FieldName.Node,
);
// The community version does not support AI-generated test-run inputs, for future expansion
// will support soon
if (IS_OPEN_SOURCE) {
return null;
}

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { useCallback } from 'react';
import cls from 'classnames';
@ -38,7 +38,7 @@ export const TestFormSheetHeaderV2 = () => {
const { open } = useOpenTraceListPanel();
const handleOpenTraceBottomSheet = useCallback(() => {
// The community version does not currently support trace, for future expansion
// will support soon
if (IS_OPEN_SOURCE) {
return;
}
@ -61,7 +61,7 @@ export const TestFormSheetHeaderV2 = () => {
onClick={handleOpenTraceBottomSheet}
hiddenStateText
extra={
// The community version does not currently support trace, for future expansion
// will support soon
!IS_OPEN_SOURCE && (
<span className={cls('cursor-pointer font-medium')}>
{I18n.t('workflow_testset_view_log')}

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/* eslint-disable @typescript-eslint/no-explicit-any */
/* eslint-disable complexity */
/**
@ -204,7 +204,7 @@ const TestNodeFormCore: React.FC<TestNodeFormBaseProps> = ({
const { open } = useOpenTraceListPanel();
const handleOpenTraceBottomSheet = useCallback(() => {
// The community version does not currently support trace, for future expansion
// will support soon
if (IS_OPEN_SOURCE) {
return;
}
@ -222,7 +222,7 @@ const TestNodeFormCore: React.FC<TestNodeFormBaseProps> = ({
onClick={handleOpenTraceBottomSheet}
hiddenStateText
extra={
// The community version does not currently support trace, for future expansion
// will support soon
!IS_OPEN_SOURCE && (
<span className={'font-medium cursor-pointer'}>
{I18n.t('workflow_testset_view_log')}

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { useRef, type RefObject } from 'react';
import cls from 'classnames';
@ -78,7 +78,7 @@ export const Tools = (props: ITool) => {
margin={3}
/>
) : null}
{/* The community version does not currently support trace, for future expansion */}
{/* will support soon */}
{!IS_OPEN_SOURCE && <OpenTraceButton />}
<StartTestRunButton />
</>

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import React, { useState, useRef, useEffect } from 'react';
import semver from 'semver';
@ -245,7 +245,7 @@ const VersionForm: React.FC<{
]}
/>
{/* The community version does not currently support testset, for future expansion */}
{/* will support soon */}
{!IS_OPEN_SOURCE && <TestSetSelect onSelect={handleTestSetSelect} />}
{renderBtn()}

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import React from 'react';
import { IconCozArrowLeft } from '@coze-arch/coze-design/icons';
@ -59,10 +59,9 @@ const WorkFlowHeader: React.FC = () => {
</div>
<div className={styles.right}>
{/** The community version does not currently provide resource tree modal. Will allow for future expansion. */}
{/* will support soon */}
{IS_OPEN_SOURCE ? null : <ReferenceButton workflowId={workflowId} />}
{/** The community version does not currently provide features such as billing, collaboration, history, and workspaces to allow for future expansion. */}
{IS_OPEN_SOURCE ? null : (
<>
{!readonly && <CreditButton />}

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/* eslint-disable @typescript-eslint/consistent-type-assertions */
/* eslint-disable max-lines */
import { isFunction } from 'lodash-es';
@ -722,7 +722,7 @@ export class WorkflowGlobalStateEntity extends ConfigEntity<WorkflowGlobalState>
this.spaceId !== PUBLIC_SPACE_ID &&
!this.projectId &&
!IS_BOT_OP &&
// The community version does not support the mockset yet, for future expansion
// will support soon
!IS_OPEN_SOURCE
);
}

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import React from 'react';
import classNames from 'classnames';
@ -48,7 +48,7 @@ export const ModelSelectV2: React.FC<ModelSelectV2Props> = ({
const { spaceId, projectId, isBindDouyin } = useGlobalState();
return (
<ModelSelect
// The community version does not currently support to view model detail, for future expansion
// will support soon
enableJumpDetail={isBindDouyin || IS_OPEN_SOURCE ? false : { spaceId }}
className={classNames(styles.select, className)}
popoverClassName={classNames(

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import React, { useState } from 'react';
import { I18n } from '@coze-arch/i18n';
@ -36,7 +36,7 @@ const Sql = () => {
return (
<div className={styles.container}>
{/* The community version does not currently support the AI-generated SQL function for future expansion */}
{/* will support soon */}
{!readonly && !IS_OPEN_SOURCE ? (
<AutoGenerate
className={styles['auto-generate']}

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import React from 'react';
import { INTENT_NODE_MODE } from '@coze-workflow/nodes';
@ -22,7 +22,7 @@ import { I18n } from '@coze-arch/i18n';
import { INTENT_MODE } from '@/node-registries/intent/constants';
import { RadioSetterField } from '@/node-registries/common/fields';
export default function ModeRadio() {
// The community version does not support the fast mode of intent recognition for future expansion
// will support soon
if (IS_OPEN_SOURCE) {
return null;
}

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { get, isNil, omit } from 'lodash-es';
import { type NodeFormContext } from '@flowgram-adapter/free-layout-editor';
import { variableUtils } from '@coze-workflow/variable';
@ -54,7 +54,7 @@ export const transformOnInit = (
const inputParameters = get(inputs, 'inputParameters', []);
// - If it is a new node, the default is fast mode, otherwise it is determined according to the backend return value (if there is no backend mode field, it means it is historical data, then it is standard mode)
// - The community version does not support the fast mode of intent recognition for future expansion
// - will support soon
const intentModeInInit =
isNewCreateInInit && !IS_OPEN_SOURCE
? INTENT_NODE_MODE.MINIMAL

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/* eslint-disable @typescript-eslint/naming-convention */
/* eslint-disable @typescript-eslint/no-explicit-any */
import { omit, isUndefined } from 'lodash-es';
@ -45,7 +45,7 @@ export const transformOnInit = (
let trigger;
// The community version does not support the project trigger feature, for future expansion
// will support soon
if (projectId && !IS_OPEN_SOURCE) {
const triggerService =
context.node.getService<TriggerService>(TriggerService);

View File

@ -13,12 +13,12 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { TriggerForm } from '@coze-workflow/nodes';
import { FILE_TYPES, ViewVariableType } from '@coze-workflow/base';
import { I18n } from '@coze-arch/i18n';
import { useFlags } from '@coze-arch/bot-flags';
import { Switch } from '@coze-arch/coze-design';
import { useFlags } from '@coze-arch/bot-flags';
import { withNodeConfigForm } from '@/node-registries/common/hocs';
import { useGlobalState } from '@/hooks';
@ -41,7 +41,6 @@ export const FormRender = withNodeConfigForm(() => {
let hiddenTypes = isBindDouyin ? FILE_TYPES : [];
// The community version does not support the Voice feature, for future expansion
if (IS_OPEN_SOURCE) {
hiddenTypes = [ViewVariableType.Voice, ViewVariableType.ArrayVoice];
}
@ -71,7 +70,7 @@ export const FormRender = withNodeConfigForm(() => {
/>
) : null}
{/* The community version does not support the project trigger feature, for future expansion */}
{/* will support soon */}
{(projectId || IS_BOT_OP) && !IS_OPEN_SOURCE ? (
<RadioSetterField
name={'trigger.tab'}

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import {
DEFAULT_NODE_META_PATH,
DEFAULT_OUTPUTS_PATH,
@ -39,7 +39,7 @@ export const START_NODE_REGISTRY: WorkflowNodeRegistry<NodeTestMeta> = {
copyDisable: true,
headerReadonly: true,
showTrigger: ({ projectId }) =>
// The community version does not support the project trigger feature, for future expansion
// will support soon
(!!projectId || IS_BOT_OP) && !IS_OPEN_SOURCE,
nodeMetaPath: DEFAULT_NODE_META_PATH,
outputsPath: DEFAULT_OUTPUTS_PATH,

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { type FC, useMemo } from 'react';
import { useGlobalVariableServiceState } from '@coze-workflow/variable';
@ -150,7 +150,7 @@ export const ExpandSheetEditor: FC<ExpandSheetEditorProps> = props => {
></Button>
</Tooltip>
{/* The community version does not support the AI-generated system prompt feature, for future expansion */}
{/* will support soon */}
{IS_OPEN_SOURCE ? null : (
<NLPromptButton disabled={props?.readonly} onlyIcon />
)}

View File

@ -13,14 +13,13 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { useEffect } from 'react';
import { PublicScopeProvider } from '@coze-workflow/variable';
import { NLPromptButton } from '@coze-workflow/resources-adapter';
import { PromptEditorProvider } from '@coze-common/prompt-kit-base/editor';
import { I18n } from '@coze-arch/i18n';
import { UIIconButton } from '@coze-arch/bot-semi';
import {
IconCozExpand,
IconCozLightbulb,
@ -28,6 +27,7 @@ import {
IconCozTrayArrowUp,
} from '@coze-arch/coze-design/icons';
import { Tooltip, IconButton, Button } from '@coze-arch/coze-design';
import { UIIconButton } from '@coze-arch/bot-semi';
import { useNodeFormPanelState } from '@/hooks/use-node-side-sheet-store';
import { CopyButton } from '@/components/copy-button';
@ -112,7 +112,7 @@ export const PromptKitBar = props => {
</Tooltip>
<div className={styles['nl-prompt']}>
{/* The community version does not support the AI-generated system prompt feature, for future expansion */}
{/* will support soon */}
{IS_OPEN_SOURCE ? null : (
<NLPromptButton
disabled={readonly}

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { inject, injectable } from 'inversify';
import type { WorkflowJSON } from '@flowgram-adapter/free-layout-editor';
import { getTestDataByTestset, FieldName } from '@coze-workflow/test-run';
@ -70,7 +70,7 @@ export class RelatedCaseDataService {
node => node.type === StandardNodeType.Start,
);
/* The community version does not currently support testset, for future expansion */
/* will support soon */
if (IS_OPEN_SOURCE) {
return;
}

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { pick } from 'lodash-es';
import { inject, injectable } from 'inversify';
import { QueryClient } from '@tanstack/react-query';
@ -76,7 +76,7 @@ export class TriggerService {
protected subWorkflowInfos: Record<string, WorkflowDetailInfoData> = {};
protected startNodeFormValues: Record<string, unknown> = {};
async load() {
// The community version does not support the project trigger feature, for future expansion
// will support soon
if (this.globalState.projectId && !IS_OPEN_SOURCE) {
const meta = await fetchTriggerFormMeta({
spaceId: this.globalState.spaceId,

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import {
type IFormSchema,
TestFormFieldName,
@ -21,8 +21,8 @@ import {
} from '@coze-workflow/test-run-next';
import { PUBLIC_SPACE_ID } from '@coze-workflow/base';
import type { WorkflowNodeEntity } from '../types';
import { getTestsetField } from './generate-form-schema/testset-field';
import type { WorkflowNodeEntity } from '../types';
import { generateFormRelatedField } from './generate-form-related-field';
import { generateFormNodeField } from './generate-form-node-field';
@ -63,7 +63,7 @@ export const generateFormSchema = async (
/**
* 若支持测试集且输入不为空,则添加测试集的组件
*/
/* The community version does not currently support testset, for future expansion */
/* will support soon */
if (
!IS_OPEN_SOURCE &&
spaceId !== PUBLIC_SPACE_ID &&

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { inject, injectable } from 'inversify';
import { EntityManager } from '@flowgram-adapter/free-layout-editor';
import {
@ -241,7 +241,7 @@ export class WorkflowPlaygroundContext implements PlaygroundContext {
pageNum: number;
pageSize?: number;
}): Promise<GetUserFavoriteListData | undefined> {
// The community version does not currently support plugin favorite function, for future expansion
// will support soon
if (IS_OPEN_SOURCE) {
return {
favorite_products: [],