diff --git a/src/Infrastructure/BotSharp.Abstraction/Agents/Enums/BuiltInAgentId.cs b/src/Infrastructure/BotSharp.Abstraction/Agents/Enums/BuiltInAgentId.cs index 82b0efab..367fd08b 100644 --- a/src/Infrastructure/BotSharp.Abstraction/Agents/Enums/BuiltInAgentId.cs +++ b/src/Infrastructure/BotSharp.Abstraction/Agents/Enums/BuiltInAgentId.cs @@ -51,4 +51,14 @@ public static class BuiltInAgentId /// Translates user-defined natural language rules into programmatic code /// public const string RulesInterpreter = "201e49a2-40b3-4ccd-b8cc-2476565a1b40"; + + /// + /// Generate code script + /// + public const string AIProgrammer = "c2a2faf6-b8b5-47fe-807b-f4714cf25dd4"; + + /// + /// Handle files + /// + public const string FileAssistant = "f1e09a73-9efe-46ce-ba02-b3aaf96d97e0"; } diff --git a/src/Infrastructure/BotSharp.Core.Crontab/BotSharp.Core.Crontab.csproj b/src/Infrastructure/BotSharp.Core.Crontab/BotSharp.Core.Crontab.csproj index 7e92ca1f..1c9d96e5 100644 --- a/src/Infrastructure/BotSharp.Core.Crontab/BotSharp.Core.Crontab.csproj +++ b/src/Infrastructure/BotSharp.Core.Crontab/BotSharp.Core.Crontab.csproj @@ -11,6 +11,7 @@ + diff --git a/src/Infrastructure/BotSharp.Core/BotSharp.Core.csproj b/src/Infrastructure/BotSharp.Core/BotSharp.Core.csproj index d960ca18..d8afd37b 100644 --- a/src/Infrastructure/BotSharp.Core/BotSharp.Core.csproj +++ b/src/Infrastructure/BotSharp.Core/BotSharp.Core.csproj @@ -96,13 +96,16 @@ - - + + + + + @@ -172,6 +175,9 @@ PreserveNewest + + PreserveNewest + PreserveNewest @@ -193,9 +199,6 @@ PreserveNewest - - PreserveNewest - PreserveNewest @@ -208,6 +211,18 @@ PreserveNewest + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + PreserveNewest diff --git a/src/Infrastructure/BotSharp.Core/Files/Services/Instruct/FileInstructService.SelectFile.cs b/src/Infrastructure/BotSharp.Core/Files/Services/Instruct/FileInstructService.SelectFile.cs index d2af898b..3b0b724a 100644 --- a/src/Infrastructure/BotSharp.Core/Files/Services/Instruct/FileInstructService.SelectFile.cs +++ b/src/Infrastructure/BotSharp.Core/Files/Services/Instruct/FileInstructService.SelectFile.cs @@ -114,8 +114,8 @@ public partial class FileInstructService return new NameDesc(text, desc); }).ToList(); - var agentId = !string.IsNullOrWhiteSpace(options.AgentId) ? options.AgentId : BuiltInAgentId.UtilityAssistant; - var template = !string.IsNullOrWhiteSpace(options.Template) ? options.Template : "util-file-select_file_instruction"; + var agentId = !string.IsNullOrWhiteSpace(options.AgentId) ? options.AgentId : BuiltInAgentId.FileAssistant; + var template = !string.IsNullOrWhiteSpace(options.Template) ? options.Template : "select_chat_file_instruction"; var prompt = db.GetAgentTemplate(agentId, template); var data = new Dictionary diff --git a/src/Infrastructure/BotSharp.Core/data/agents/c2a2faf6-b8b5-47fe-807b-f4714cf25dd4/agent.json b/src/Infrastructure/BotSharp.Core/data/agents/c2a2faf6-b8b5-47fe-807b-f4714cf25dd4/agent.json new file mode 100644 index 00000000..31c38e57 --- /dev/null +++ b/src/Infrastructure/BotSharp.Core/data/agents/c2a2faf6-b8b5-47fe-807b-f4714cf25dd4/agent.json @@ -0,0 +1,18 @@ +{ + "id": "c2a2faf6-b8b5-47fe-807b-f4714cf25dd4", + "name": "AI programmer", + "description": "AI programmer is designed to generate code scripts.", + "type": "task", + "createdDateTime": "2025-10-07T10:39:32Z", + "updatedDateTime": "2025-10-07T14:39:32Z", + "iconUrl": "/images/logo.png", + "disabled": false, + "isPublic": true, + "llmConfig": { + "is_inherit": false, + "provider": "openai", + "model": "gpt-5", + "max_recursion_depth": 3, + "reasoning_effort_level": "minimal" + } +} \ No newline at end of file diff --git a/src/Infrastructure/BotSharp.Core/data/agents/c2a2faf6-b8b5-47fe-807b-f4714cf25dd4/instructions/instruction.liquid b/src/Infrastructure/BotSharp.Core/data/agents/c2a2faf6-b8b5-47fe-807b-f4714cf25dd4/instructions/instruction.liquid new file mode 100644 index 00000000..3da026ef --- /dev/null +++ b/src/Infrastructure/BotSharp.Core/data/agents/c2a2faf6-b8b5-47fe-807b-f4714cf25dd4/instructions/instruction.liquid @@ -0,0 +1 @@ +You are a AI programmer to help coding. \ No newline at end of file diff --git a/src/Infrastructure/BotSharp.Core/data/agents/f1e09a73-9efe-46ce-ba02-b3aaf96d97e0/agent.json b/src/Infrastructure/BotSharp.Core/data/agents/f1e09a73-9efe-46ce-ba02-b3aaf96d97e0/agent.json new file mode 100644 index 00000000..8da69b84 --- /dev/null +++ b/src/Infrastructure/BotSharp.Core/data/agents/f1e09a73-9efe-46ce-ba02-b3aaf96d97e0/agent.json @@ -0,0 +1,18 @@ +{ + "id": "f1e09a73-9efe-46ce-ba02-b3aaf96d97e0", + "name": "File Assistant", + "description": "File Assistant is designed to handle files.", + "type": "task", + "createdDateTime": "2025-10-07T10:39:32Z", + "updatedDateTime": "2025-10-07T14:39:32Z", + "iconUrl": "/images/logo.png", + "disabled": false, + "isPublic": true, + "llmConfig": { + "is_inherit": false, + "provider": "openai", + "model": "gpt-5-mini", + "max_recursion_depth": 3, + "reasoning_effort_level": "minimal" + } +} \ No newline at end of file diff --git a/src/Infrastructure/BotSharp.Core/data/agents/f1e09a73-9efe-46ce-ba02-b3aaf96d97e0/instructions/instruction.liquid b/src/Infrastructure/BotSharp.Core/data/agents/f1e09a73-9efe-46ce-ba02-b3aaf96d97e0/instructions/instruction.liquid new file mode 100644 index 00000000..cfc58109 --- /dev/null +++ b/src/Infrastructure/BotSharp.Core/data/agents/f1e09a73-9efe-46ce-ba02-b3aaf96d97e0/instructions/instruction.liquid @@ -0,0 +1 @@ +You are a File Assistant to help handle files. \ No newline at end of file diff --git a/src/Plugins/BotSharp.Plugin.ChartHandler/BotSharp.Plugin.ChartHandler.csproj b/src/Plugins/BotSharp.Plugin.ChartHandler/BotSharp.Plugin.ChartHandler.csproj index 784b2405..1c91204d 100644 --- a/src/Plugins/BotSharp.Plugin.ChartHandler/BotSharp.Plugin.ChartHandler.csproj +++ b/src/Plugins/BotSharp.Plugin.ChartHandler/BotSharp.Plugin.ChartHandler.csproj @@ -13,7 +13,7 @@ - + @@ -23,7 +23,7 @@ PreserveNewest - + PreserveNewest diff --git a/src/Plugins/BotSharp.Plugin.ChartHandler/Functions/PlotChartFn.cs b/src/Plugins/BotSharp.Plugin.ChartHandler/Functions/PlotChartFn.cs index 1c89478c..1cac2c81 100644 --- a/src/Plugins/BotSharp.Plugin.ChartHandler/Functions/PlotChartFn.cs +++ b/src/Plugins/BotSharp.Plugin.ChartHandler/Functions/PlotChartFn.cs @@ -123,8 +123,8 @@ public class PlotChartFn : IFunctionCallback } else { - templateName = "util-chart-plot_instruction"; - templateContent = db.GetAgentTemplate(BuiltInAgentId.UtilityAssistant, templateName); + templateName = "chart-js-generate_instruction"; + templateContent = db.GetAgentTemplate(BuiltInAgentId.AIProgrammer, templateName); } return templateContent; diff --git a/src/Plugins/BotSharp.Plugin.ChartHandler/data/agents/6745151e-6d46-4a02-8de4-1c4f21c7da95/templates/util-chart-plot_instruction.liquid b/src/Plugins/BotSharp.Plugin.ChartHandler/data/agents/c2a2faf6-b8b5-47fe-807b-f4714cf25dd4/templates/chart-js-generate_instruction.liquid similarity index 100% rename from src/Plugins/BotSharp.Plugin.ChartHandler/data/agents/6745151e-6d46-4a02-8de4-1c4f21c7da95/templates/util-chart-plot_instruction.liquid rename to src/Plugins/BotSharp.Plugin.ChartHandler/data/agents/c2a2faf6-b8b5-47fe-807b-f4714cf25dd4/templates/chart-js-generate_instruction.liquid diff --git a/src/Plugins/BotSharp.Plugin.FileHandler/BotSharp.Plugin.FileHandler.csproj b/src/Plugins/BotSharp.Plugin.FileHandler/BotSharp.Plugin.FileHandler.csproj index fe05a7e4..4eb83e01 100644 --- a/src/Plugins/BotSharp.Plugin.FileHandler/BotSharp.Plugin.FileHandler.csproj +++ b/src/Plugins/BotSharp.Plugin.FileHandler/BotSharp.Plugin.FileHandler.csproj @@ -19,6 +19,7 @@ + @@ -46,6 +47,9 @@ PreserveNewest + + PreserveNewest + diff --git a/src/Infrastructure/BotSharp.Core/data/agents/6745151e-6d46-4a02-8de4-1c4f21c7da95/templates/util-file-select_file_instruction.liquid b/src/Plugins/BotSharp.Plugin.FileHandler/data/agents/f1e09a73-9efe-46ce-ba02-b3aaf96d97e0/templates/select-chat-file_instruction.liquid similarity index 100% rename from src/Infrastructure/BotSharp.Core/data/agents/6745151e-6d46-4a02-8de4-1c4f21c7da95/templates/util-file-select_file_instruction.liquid rename to src/Plugins/BotSharp.Plugin.FileHandler/data/agents/f1e09a73-9efe-46ce-ba02-b3aaf96d97e0/templates/select-chat-file_instruction.liquid diff --git a/src/Plugins/BotSharp.Plugin.PythonInterpreter/BotSharp.Plugin.PythonInterpreter.csproj b/src/Plugins/BotSharp.Plugin.PythonInterpreter/BotSharp.Plugin.PythonInterpreter.csproj index 8b0775e8..54ed1270 100644 --- a/src/Plugins/BotSharp.Plugin.PythonInterpreter/BotSharp.Plugin.PythonInterpreter.csproj +++ b/src/Plugins/BotSharp.Plugin.PythonInterpreter/BotSharp.Plugin.PythonInterpreter.csproj @@ -11,7 +11,9 @@ - + + + @@ -21,7 +23,7 @@ PreserveNewest - + PreserveNewest diff --git a/src/Plugins/BotSharp.Plugin.PythonInterpreter/Functions/PyProgrammerFn.cs b/src/Plugins/BotSharp.Plugin.PythonInterpreter/Functions/PyProgrammerFn.cs index 1cf14ed8..7be90493 100644 --- a/src/Plugins/BotSharp.Plugin.PythonInterpreter/Functions/PyProgrammerFn.cs +++ b/src/Plugins/BotSharp.Plugin.PythonInterpreter/Functions/PyProgrammerFn.cs @@ -177,8 +177,8 @@ public class PyProgrammerFn : IFunctionCallback } else { - templateName = "util-code-python_generate_instruction"; - templateContent = db.GetAgentTemplate(BuiltInAgentId.UtilityAssistant, templateName); + templateName = "py-code_generate_instruction"; + templateContent = db.GetAgentTemplate(BuiltInAgentId.AIProgrammer, templateName); } return templateContent; diff --git a/src/Plugins/BotSharp.Plugin.PythonInterpreter/data/agents/6745151e-6d46-4a02-8de4-1c4f21c7da95/templates/util-code-python_generate_instruction.liquid b/src/Plugins/BotSharp.Plugin.PythonInterpreter/data/agents/c2a2faf6-b8b5-47fe-807b-f4714cf25dd4/templates/py-code_generate_instruction.liquid similarity index 100% rename from src/Plugins/BotSharp.Plugin.PythonInterpreter/data/agents/6745151e-6d46-4a02-8de4-1c4f21c7da95/templates/util-code-python_generate_instruction.liquid rename to src/Plugins/BotSharp.Plugin.PythonInterpreter/data/agents/c2a2faf6-b8b5-47fe-807b-f4714cf25dd4/templates/py-code_generate_instruction.liquid