mirror of
https://github.com/labring/FastGPT.git
synced 2025-10-15 07:31:19 +00:00
feature: System plugin (#5131)
* feat: system Tool (#4959) * feat: independent system tool * chore: use ToolNode instead of PluginModule * chore: tools * chore: tools templateDir * refactor: templates * feat: flush code * chore: update template * refactor: migrate delay * feat: worker pool * chore: Dockerfile * docs: add tools.template.json * feat: auto flush system tools * fix: ts error * chore: create new pool temporarily * chore: system tool migration * chore: migration * fix: fix pnpm-workspace.yaml * chore: update pnpm-lock.yaml to integrate tool * chore(systemTool): chore * chore: add system plugin * chore(deps): update @fastgpt-sdk/plugin * fix: type error * chore: remove plugin package * chore: move pro plugins code to open source * feat: support system tool config input * fix: type error * perf: i18n * fix: cr * chore: update sdk * feat: system plugin cache * update mcp server (#5076) * update mcp server * fix: action * fix: dockerfile * fix: dockerfile * fix: dockerfile * fix: dockerfile * fix: dockerfile * fix: dockerfile * feat: system Tool (#4959) * feat: independent system tool * chore: use ToolNode instead of PluginModule * chore: tools * chore: tools templateDir * refactor: templates * feat: flush code * chore: update template * refactor: migrate delay * feat: worker pool * chore: Dockerfile * docs: add tools.template.json * feat: auto flush system tools * fix: ts error * chore: create new pool temporarily * chore: system tool migration * chore: migration * fix: fix pnpm-workspace.yaml * chore: update pnpm-lock.yaml to integrate tool * chore(systemTool): chore * chore: add system plugin * chore(deps): update @fastgpt-sdk/plugin * fix: type error * chore: remove plugin package * chore: move pro plugins code to open source * feat: support system tool config input * fix: type error * perf: i18n * fix: cr * chore: update sdk * feat: system plugin cache * perf: run tool * update package * perf: config key * fix: tool ini * tool config params * perf: workflow type * rename tools to agent * version list * perf: tool error * config secret ux * perf: config secret ux * fix: tool config field * add course to secret input * feat: support inputConfig switch (#5099) * feat: support inputConfig switch * deps: update @fastgpt-sdk/plugin * chore: update workflows * fix: inputType * fix: secret * add default value to node * update i18n * eslint * add precision to number input * feat: add number input and select * perf: number ux * fix: code * Proxies image requests to plugin service (#5111) * Proxies image requests to plugin service Adds a rewrite rule and API endpoint to proxy image requests to the plugin service. This allows the app to fetch images from the plugin's tools directory. It also adds the plugin base URL to the service's constants, so that it can use the plugin URL when proxying requests. * fix: update FastGPTPluginUrl to remove unnecessary API path * feat: update image proxy destination and add plugin image handler * Adapt plugin id * replace avatar * remove rewrite * fix: plugin avatar * update system tool doc * feat: system tool type * yml sh * yml sh * update doc * fix: simple app tool select * fix: switch ui * update pacakge * Yamljs (#5129) * update docker-compose configuration: bump fastgpt and fastgpt-plugin images, change minio host to service name, and adjust service dependencies * refactor: comment out port exposure in docker-compose configuration * update: uncomment port exposure in docker-compose configuration * update: change MINIO_HOST to use specific IP address in docker configuration * update: modify fastgpt-plugin image version in docker configuration * update readme * doc * remove --------- Co-authored-by: Finley Ge <32237950+FinleyGe@users.noreply.github.com> Co-authored-by: Theresa <63280168+sd0ric4@users.noreply.github.com>
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"account_team.delete_dataset": "Delete the knowledge base",
|
||||
"active_model": "Available models",
|
||||
"add_default_model": "Add a preset model",
|
||||
"api_key": "API key",
|
||||
|
@@ -46,6 +46,7 @@
|
||||
"create_app_copy": "Create a copy of the application",
|
||||
"create_app_folder": "Create an application folder",
|
||||
"create_app_publish_channel": "Create a sharing channel",
|
||||
"create_collection": "Create a collection",
|
||||
"create_data": "Insert data",
|
||||
"create_dataset": "Create a knowledge base",
|
||||
"create_dataset_folder": "Create a Knowledge Base Folder",
|
||||
@@ -170,6 +171,7 @@
|
||||
"log_login": "【{{name}}】Logined in the system",
|
||||
"log_move_app": "【{{name}}】Move [{{appType}}] named [{{appName}}] to [{{targetFolderName}}]",
|
||||
"log_move_dataset": "【{{name}}】Move [{{datasetType}}] named [{{datasetName}}] to [{{targetFolderName}}]",
|
||||
"log_purchase_plan": "【{{name}}】Purchased the set meal",
|
||||
"log_recover_team_member": "【{{name}}】Restored member【{{memberName}}】",
|
||||
"log_relocate_department": "【{{name}}】Displayed department【{{departmentName}}】",
|
||||
"log_retrain_collection": "[{{name}}] Retrained the collection named [{{collectionName}}] in [{{datasetType}}] called [{{datasetName}}].",
|
||||
|
@@ -97,6 +97,7 @@
|
||||
"logs_source": "source",
|
||||
"logs_title": "Title",
|
||||
"look_ai_point_price": "View all model billing standards",
|
||||
"manual_secret": "Manual secret",
|
||||
"mark_count": "Number of Marked Answers",
|
||||
"max_histories_number": "Max histories",
|
||||
"max_histories_number_tip": "The maximum number of rounds of dialogue that the model can carry into memory. If the memory exceeds the model context, the system will force truncation. \nTherefore, even if 30 rounds of dialogue are configured, the actual number may not reach 30 rounds during operation.",
|
||||
@@ -136,6 +137,7 @@
|
||||
"saved_success": "Saved successfully! \nTo use this version externally, click Save and Publish",
|
||||
"search_app": "Search apps",
|
||||
"search_tool": "Search Tools",
|
||||
"secret_get_course": "Course",
|
||||
"setting_app": "Workflow",
|
||||
"setting_plugin": "Workflow",
|
||||
"show_top_p_tip": "An alternative method of temperature sampling, called Nucleus sampling, the model considers the results of tokens with TOP_P probability mass quality. \nTherefore, 0.1 means that only tokens containing the highest probability quality are considered. \nThe default is 1.",
|
||||
@@ -145,6 +147,7 @@
|
||||
"stop_sign_placeholder": "Multiple serial numbers are separated by |, for example: aaa|stop",
|
||||
"stream_response": "Stream",
|
||||
"stream_response_tip": "Turning this switch off forces the model to use non-streaming mode and will not output content directly. \nIn the output of the AI reply, the content output by this model can be obtained for secondary processing.",
|
||||
"system_secret": "System secret",
|
||||
"team_tags_set": "Team tags",
|
||||
"temperature": "Temperature",
|
||||
"temperature_tip": "Range 0~10. \nThe larger the value, the more divergent the model’s answer is; the smaller the value, the more rigorous the answer.",
|
||||
@@ -171,8 +174,23 @@
|
||||
"template_market_description": "Explore more features in the template market, with configuration tutorials and usage guides to help you understand and get started with various applications.",
|
||||
"template_market_empty_data": "No suitable templates found",
|
||||
"time_zone": "Time Zone",
|
||||
"too_to_active": "Active",
|
||||
"tool_active_manual_config_desc": "The temporary key is saved in this application and is only for use by this application.",
|
||||
"tool_active_system_config_desc": "Use the system configured key",
|
||||
"tool_active_system_config_price_desc": "Additional payment for key price ({{price}} points/time)",
|
||||
"tool_detail": "Tool details",
|
||||
"tool_input_param_tip": "This plugin requires configuration of related information to run properly.",
|
||||
"tool_not_active": "This tool has not been activated yet",
|
||||
"tool_type_communication": "Communication",
|
||||
"tool_type_design": "design",
|
||||
"tool_type_entertainment": "Business",
|
||||
"tool_type_finance": "finance",
|
||||
"tool_type_multimodal": "Multimodal",
|
||||
"tool_type_news": "news",
|
||||
"tool_type_productivity": "productive forces",
|
||||
"tool_type_scientific": "research",
|
||||
"tool_type_social": "Social",
|
||||
"tool_type_tools": "tool",
|
||||
"tools_no_description": "This tool has not been introduced ~",
|
||||
"transition_to_workflow": "Convert to Workflow",
|
||||
"transition_to_workflow_create_new_placeholder": "Create a new app instead of modifying the current app",
|
||||
@@ -189,6 +207,7 @@
|
||||
"type.Create simple bot tip": "Create a simple AI app by filling out a form, suitable for beginners.",
|
||||
"type.Create workflow bot": "Create Workflow",
|
||||
"type.Create workflow tip": "Build complex multi-turn dialogue AI applications through low-code methods, recommended for advanced users.",
|
||||
"type.Folder": "Folder",
|
||||
"type.Http plugin": "HTTP Plugin",
|
||||
"type.Import from json": "Import JSON",
|
||||
"type.Import from json tip": "Create applications directly through JSON configuration files",
|
||||
@@ -197,10 +216,9 @@
|
||||
"type.MCP tools": "MCP Toolset",
|
||||
"type.MCP_tools_url": "MCP Address",
|
||||
"type.Plugin": "Plugin",
|
||||
"type.Folder": "Folder",
|
||||
"type.Tool set": "Toolset",
|
||||
"type.Tool": "Tool",
|
||||
"type.Simple bot": "Simple App",
|
||||
"type.Tool": "Tool",
|
||||
"type.Tool set": "Toolset",
|
||||
"type.Workflow bot": "Workflow",
|
||||
"type.error.Workflow data is empty": "No workflow data was obtained",
|
||||
"type.error.workflowresponseempty": "Response content is empty",
|
||||
@@ -236,9 +254,8 @@
|
||||
"workflow.select_description_placeholder": "For example: \nAre there tomatoes in the fridge?",
|
||||
"workflow.select_description_tip": "You can add a description text to explain the meaning of each option to the user.",
|
||||
"workflow.select_result": "Selected Result",
|
||||
"workflow.template.communication": "Communication",
|
||||
"workflow.user_file_input": "File Link",
|
||||
"workflow.user_file_input_desc": "Links to documents and images uploaded by users.",
|
||||
"workflow.user_select": "User Select",
|
||||
"workflow.user_select_tip": "This module can configure multiple options for selection during the dialogue. Different options can lead to different workflow branches."
|
||||
}
|
||||
}
|
||||
|
@@ -50,6 +50,7 @@
|
||||
"Intro": "Introduction",
|
||||
"Loading": "Loading...",
|
||||
"Login": "Login",
|
||||
"Manual": "Manual",
|
||||
"More": "More",
|
||||
"Move": "Move",
|
||||
"Name": "Name",
|
||||
@@ -81,6 +82,7 @@
|
||||
"Status": "Status",
|
||||
"Submit": "Submit",
|
||||
"Success": "Success",
|
||||
"System": "System",
|
||||
"Team": "Team",
|
||||
"UnKnow": "Unknown",
|
||||
"Unlimited": "Unlimited",
|
||||
@@ -658,7 +660,6 @@
|
||||
"core.module.template.System Plugin": "System Plugin",
|
||||
"core.module.template.System input module": "System Input",
|
||||
"core.module.template.Team app": "Team",
|
||||
"core.module.template.Tool module": "Tool",
|
||||
"core.module.template.UnKnow Module": "Unknown Module",
|
||||
"core.module.template.ai_chat": "AI conversation",
|
||||
"core.module.template.ai_chat_intro": "AI large model dialogue",
|
||||
@@ -737,7 +738,6 @@
|
||||
"core.workflow.publish.OnRevert version confirm": "Confirm to Revert to This Version? The configuration of the editing version will be saved, and a new release version will be created for the reverted version.",
|
||||
"core.workflow.publish.histories": "Release Records",
|
||||
"core.workflow.template.Interactive": "Interactive",
|
||||
"core.workflow.template.Multimodal": "Multimodal",
|
||||
"core.workflow.template.Search": "Search",
|
||||
"core.workflow.tool.Handle": "Tool Connector",
|
||||
"core.workflow.tool.Select Tool": "Select Tool",
|
||||
@@ -1010,6 +1010,7 @@
|
||||
"save_failed": "save_failed",
|
||||
"save_success": "Saved Successfully",
|
||||
"scan_code": "Scan the QR code to pay",
|
||||
"secret_key": "Secret",
|
||||
"secret_tips": "The value will not return plaintext again after saving",
|
||||
"select_file_failed": "File Selection Failed",
|
||||
"select_reference_variable": "Select Reference Variable",
|
||||
@@ -1303,7 +1304,6 @@
|
||||
"user_leaved": "Leaved",
|
||||
"value": "Value",
|
||||
"verification": "Verification",
|
||||
"workflow.template.communication": "Communication",
|
||||
"xx_search_result": "{{key}} Search Results",
|
||||
"yes": "Yes",
|
||||
"yesterday": "yesterday",
|
||||
|
@@ -183,7 +183,6 @@
|
||||
"sync_collection_failed": "Synchronization collection error, please check whether the source file can be accessed normally",
|
||||
"sync_schedule": "Timing synchronization",
|
||||
"sync_schedule_tip": "Only existing collections will be synchronized. \nIncludes linked collections and all collections in the API knowledge base. \nThe system will poll for updates every day, and the specific update time cannot be determined.",
|
||||
"table_model_tip": "Store each row of data as a chunk",
|
||||
"tag.Add_new_tag": "add_new Tag",
|
||||
"tag.Edit_tag": "Edit Tag",
|
||||
"tag.add": "Create",
|
||||
@@ -200,18 +199,15 @@
|
||||
"the_knowledge_base_has_indexes_that_are_being_trained_or_being_rebuilt": "The Dataset has indexes that are being trained or rebuilt",
|
||||
"total_num_files": "Total {{total}} files",
|
||||
"training.Error": "{{count}} Group exception",
|
||||
"training.Image mode": "Image processing",
|
||||
"training.Normal": "Normal",
|
||||
"training_mode": "Chunk mode",
|
||||
"training_queue_tip": "Training queue status",
|
||||
"training_ready": "{{count}} Group",
|
||||
"upload_by_template_format": "Upload by template file",
|
||||
"uploading_progress": "Uploading: {{num}}%",
|
||||
"vector_model_max_tokens_tip": "Each chunk of data has a maximum length of 3000 tokens",
|
||||
"vector_training_queue": "Vector training queue",
|
||||
"vllm_model": "Image understanding model",
|
||||
"vlm_model_required_tooltip": "A Vision Language Model is required to create image collections",
|
||||
"vlm_model_required_warning": "Image datasets require a Vision Language Model (VLM) to be configured. Please add a model that supports image understanding in the model configuration first.",
|
||||
"waiting_for_training": "Waiting for training",
|
||||
"website_dataset": "Website Sync",
|
||||
"website_dataset_desc": "Build knowledge base by crawling web page data in batches",
|
||||
"website_info": "Website Information",
|
||||
|
@@ -12,12 +12,13 @@
|
||||
"Loading_image failed": "Preview loading failed",
|
||||
"Only_support_uploading_one_image": "Only support uploading one image",
|
||||
"Please select the image to upload": "Please select the image to upload",
|
||||
"Please select the image to upload select the image to upload": "",
|
||||
"Please wait for all files to upload": "Please wait for all files to be uploaded to complete",
|
||||
"bucket_chat": "Conversation Files",
|
||||
"bucket_file": "Dataset Documents",
|
||||
"click_to_view_raw_source": "Click to View Original Source",
|
||||
"common.Some images failed to process": "Some images failed to process",
|
||||
"common.dataset_data_input_image_support_format": "Support .jpg, .jpeg, .png, .gif, .webp formats",
|
||||
"count.core.dataset.collection.Create Success": "{{count}} picture successfully imported",
|
||||
"delete_image": "Delete pictures",
|
||||
"file_name": "Filename",
|
||||
"file_size": "Filesize",
|
||||
|
@@ -101,7 +101,6 @@
|
||||
"team.group.manage_tip": "Can manage members, create groups, manage all groups, assign permissions to groups and members",
|
||||
"team.group.members": "member",
|
||||
"team.group.name": "Group name",
|
||||
"team.group.permission.write": "Workbench/knowledge base creation",
|
||||
"team.group.permission_tip": "Members with individually configured permissions will follow the individual permission configuration and will no longer be affected by group permissions.\n\nIf a member is in multiple permission groups, the member's permissions are combined.",
|
||||
"team.group.role.admin": "administrator",
|
||||
"team.group.role.member": "member",
|
||||
|
@@ -170,6 +170,8 @@
|
||||
"start_with": "Starts With",
|
||||
"support_code_language": "Support import list: pandas,numpy",
|
||||
"target_fields_description": "A target field consists of 'description' and 'key'. Multiple target fields can be extracted.",
|
||||
"template.agent": "Agent",
|
||||
"template.agent_intro": "Automatically select one or more functional blocks for calling through the AI model, or call plugins.",
|
||||
"template.ai_chat": "AI Chat",
|
||||
"template.ai_chat_intro": "AI Large Model Chat",
|
||||
"template.dataset_search": "Dataset Search",
|
||||
@@ -179,8 +181,6 @@
|
||||
"template.plugin_output": "Plugin output",
|
||||
"template.plugin_start": "Plugin start",
|
||||
"template.system_config": "System",
|
||||
"template.tool_call": "Tool Call",
|
||||
"template.tool_call_intro": "Automatically select one or more functional blocks for calling through the AI model, or call plugins.",
|
||||
"template.workflow_start": "Start",
|
||||
"text_concatenation": "Text Editor",
|
||||
"text_content_extraction": "Text Extract",
|
||||
@@ -189,6 +189,8 @@
|
||||
"to_add_node": "to add",
|
||||
"to_connect_node": "to connect",
|
||||
"tool.tool_result": "Tool operation results",
|
||||
"tool_active_config": "Tool active",
|
||||
"tool_active_config_type": "Tool activation: {{type}}",
|
||||
"tool_call_termination": "Stop ToolCall",
|
||||
"tool_custom_field": "Custom Tool",
|
||||
"tool_field": " Tool Field Parameter Configuration",
|
||||
|
Reference in New Issue
Block a user