Software generation method and device, computer equipment, medium and program product

By generating software through natural language input and questionnaires, the problem of high-quality but low-efficiency software developers has been solved, achieving an efficient and user-friendly software generation process.

CN122018872APending Publication Date: 2026-05-12TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
TENCENT TECHNOLOGY (SHENZHEN) CO LTD
Filing Date
2026-02-12
Publication Date
2026-05-12

AI Technical Summary

Technical Problem

Existing technologies require highly skilled software developers and have relatively low software generation efficiency.

Method used

A software generation method is provided, which obtains software generation instructions based on natural language descriptions through a dialog area, displays the content of the requirement question and candidate answers in the dialog area, allows users to improve the instructions through a questionnaire, generates the target software, and tests it in the software preview area.

Benefits of technology

It lowers the skill requirements for software developers, improves software generation efficiency, generates software that better meets user needs, has a clean and organized interface, reduces visual clutter and cumbersome operations, and increases user retention.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122018872A_ABST
    Figure CN122018872A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a software generation method and device, computer equipment, a medium and a program product, and a user can input a software generation instruction based on natural language description in a dialogue area of a software generation interface so as to generate required target software based on the software generation instruction. That is to say, the user can describe the generation requirement of the software in a natural language mode, the quality requirement for software developers is lowered, and the software development threshold is lowered. Moreover, before the target software is generated, the demand question content and a plurality of candidate answer contents used for answering the demand question content are displayed in the dialogue area, and the user can quickly select his own demand based on the plurality of candidate answer contents, so that the user is guided to perfect the software generation instruction in a mode similar to questionnaire survey, and the user experience is improved. The method is convenient and fast, improves the software generation efficiency, increases the accuracy of understanding the software generation instruction, and thus generates target software better meeting user requirements.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of artificial intelligence technology, and in particular to a software generation method, apparatus, computer equipment, medium, and program product. Background Technology

[0002] Software is a collection of computer data and instructions organized in a specific order; it is the intangible part of a computer device. Software can be diverse, including games, office software, and chat software.

[0003] In related technologies, software is generally generated by programmers writing code by hand. However, this method requires high skill levels from the software developers and has low software generation efficiency. Summary of the Invention

[0004] To address the aforementioned technical problems, this application provides a software generation method, apparatus, computer equipment, medium, and program product, which solves the problems of high skill requirements for software developers and low software generation efficiency in related technologies.

[0005] The embodiments of this application disclose the following technical solutions: On one hand, embodiments of this application provide a software generation method, the method comprising: Displays the software generation interface, including the dialog area and the software preview area; The first software generation instruction based on natural language description is obtained through the dialogue area; The dialog area displays the content of the requirement question and multiple candidate answers to the requirement question. The requirement question is used to guide the user to improve the first software generation instruction. Obtain confirmation of the target candidate answer content among the multiple candidate answer contents, and generate the first target software; A run control is displayed in the software preview area, which is used to run the first target software in the software preview area.

[0006] Optionally, before displaying the generation result for the first software generation instruction in the message display area, the method further includes: The message display area displays the generation process content of the generation result for the first software generation instruction.

[0007] Optionally, the method further includes: Display an item selection control in the natural language input area; In response to a triggered operation on the project selection control, the project file corresponding to the project selection control is displayed in a preview sub-interface independent of the dialog area.

[0008] Optionally, the method further includes: If messages from multiple sources are displayed in the dialog area, messages from different sources will be displayed based on different display methods.

[0009] Optionally, the team management sub-interface also includes a feature value viewing control, and the method further includes: In response to a trigger operation on the feature value viewing control, the feature values ​​possessed by the team are displayed, which are used to generate the first target software.

[0010] Optionally, the method further includes: The publishing controls are displayed on the software generation interface; In response to a trigger operation on the release control, multiple versions of the first target software and the review status of the multiple versions are displayed; In response to a trigger operation targeting a target version among the plurality of versions, a first target software of the target version is released, wherein the review status of the first target software of the target version is approved.

[0011] Optionally, the method further includes: The generated results for the at least one target idea are displayed in the Inspiration Exploration sub-interface; If a fifth software generation instruction based on natural language description is obtained, the fifth software generation instruction is used to modify the fourth target software so as to display the generation result for the fifth software generation instruction.

[0012] Optionally, the step of displaying multiple idea contents for generating a fourth target software in the preference determination area, and in response to a selection operation for at least one target idea content among the multiple idea contents, displaying a software prototype generated based on the at least one target idea content in the software prototype display area, includes: The preference determination area displays multiple ideas belonging to the first dimension; In response to a trigger operation targeting a first target idea content, multiple idea contents belonging to the second dimension are displayed in the preference determination area, and a software prototype generated based on the first target idea content is displayed in the software prototype display area. The first target idea content is at least one of the multiple idea contents belonging to the first dimension, and the first dimension and the second dimension are different dimensions. In response to a trigger operation targeting a second target idea content, a software prototype generated based on the first target idea content and the second target idea content is displayed in the software prototype display area, wherein the second target idea content is at least one of the multiple idea contents belonging to the second dimension.

[0013] Optionally, the method further includes: The first target idea content and the second target idea content are displayed in the Inspiration Exploration sub-interface; In response to a trigger operation targeting the first target idea content, multiple idea contents belonging to the first dimension are displayed in the preference determination area; In response to a trigger operation targeting a third target idea content, a software prototype generated based on the third target idea content and the second target idea content is displayed in the software prototype display area, and the third target idea content and the second target idea content are displayed in the inspiration exploration sub-interface. The third target idea content is at least one target idea content among the multiple idea contents belonging to the first dimension, and is not completely identical to the first target idea content.

[0014] Optionally, displaying the wish control on the main interface includes: During the display of the main interface, a wish control and a guidance text area for the wish control are displayed on the main interface. The guidance text area is used to guide the user to trigger the wish control. During the scrolling display of the main interface, a wish control is displayed on the main interface.

[0015] On the other hand, embodiments of this application provide a software generation method, the method comprising: Obtain a development server startup request from the front end, the development server startup request being used to start the first target software; If the development server is detected to be in a running state, an initial interface for running the first target software is created through the front end. Obtain the page resources required to run the first target software; The page resources are sent to the initial interface so that the first target software can be run in the software generation interface, which is generated based on the initial interface and the page resources.

[0016] Optionally, starting the development server according to the development server startup request includes: The development server corresponding to the first target software is created according to the development server startup request. Different target software corresponds to different development servers. The status of the development server is pending creation. The installation file of the first target software is obtained through the development server corresponding to the first target software; Create a sandbox container corresponding to the first target software; different target software corresponds to different sandbox containers. The installation file is installed through the sandbox container corresponding to the first target software, and the status of the development server changes from the pending creation state to the installation state.

[0017] Optionally, the method further includes: After the installation file is successfully installed through the sandbox container corresponding to the first target software, the status of the development server changes from the installation state to the startup state. The development server corresponding to the first target software is started according to the development server startup request, and the state of the development server changes from the startup state to the running state. If the dependency files corresponding to the installation file are installed through the development server corresponding to the first target software, the status of the development server changes from the running status to the building status. If the development server corresponding to the first target software is stopped during the process of starting the development server according to the development server startup request, the state of the development server changes from the running state to the stopped state. If the state transition of the development server corresponding to the first target software fails, then the state of all development servers corresponding to the first target software will become an error state.

[0018] Optionally, the method further includes: If the development server corresponding to the first target software is in the stopped state or the error state, the development server corresponding to the first target software can be restarted.

[0019] Optionally, the method further includes: If a development server corresponding to the first target software is created, then a first port is created for the development server corresponding to the first target software. If a development server corresponding to the fifth target software is created, then a second port is created for the development server corresponding to the fifth target software; The fifth target software is a target software created after the first target software, and the port value of the second port is greater than the port value of the first port.

[0020] Optionally, creating the sandbox container corresponding to the first target software includes: A sandbox container corresponding to the first target software is created based on resource constraints, wherein the resource constraints are used to set the upper limit of resources used by the sandbox container corresponding to the first target software.

[0021] Optionally, the method further includes: Obtain a first software generation instruction from the front end, the first software generation instruction being described in natural language; The calling tools required to complete the first software generation instruction and the calling order of the calling tools are determined according to the first software generation instruction. Based on the calling tools required by the first software generation instruction and the calling order corresponding to the calling tools, the calling tools are called to obtain the first target software corresponding to the first software generation instruction.

[0022] Optionally, the step of calling the calling tool according to the calling tool required by the first software generation instruction and the calling order corresponding to the calling tool to obtain the first target software corresponding to the first software generation instruction includes: Based on the calling tool required by the first software generation instruction and the calling order corresponding to the calling tool, the calling tool is called to modify the target software file to obtain the first target software corresponding to the first software generation instruction; Before invoking the invocation tool to modify the target software file, the method further includes: Security checks are performed on operations that modify the target software file; If the operation to modify the target software file passes the security verification, then the modification of the target software is permitted; The security verification of operations that modify the target software file includes at least one of the following verification methods: Verification Method 1: Obtain the file path of the target software file. If the file path of the target software file is within a preset legal directory, the security verification passes. Verification Method 2: Obtain the file path of the target software file, parse the file path of the target software file, and if the file path of the target software file conforms to the path traversal range, the security verification passes; Verification Method 3: Obtain the file format of the target software file. If the file format of the target software file is in the whitelist, the security verification passes. Verification Method 4: Obtain the file path of the target software file. If the file path of the target software file is not within the prohibited modification range, the security verification passes. Verification Method 5: Obtain the modification type of the target software file, determine the file size difference between the modified software file and the target software file, and if the file size difference is less than the upper limit value corresponding to the modification type, the security verification passes.

[0023] Optionally, obtaining the first software generation instruction from the front end includes: The first software generation instruction from the front end is obtained through a two-way communication protocol; The method further includes: The generated result for the first software generation instruction is sent to the front end via the bidirectional communication protocol.

[0024] Optionally, obtaining the development server startup request from the front end includes: The development server startup request from the front end is obtained through the presentation layer state transition application programming interface; The method further includes: The system interacts with the development server corresponding to the first target software through the presentation layer state transition application programming interface, and also interacts with the sandbox container corresponding to the first target software through the presentation layer state transition application programming interface.

[0025] Optionally, the method further includes: Download the software file of the first target software, wherein the file format of the software file of the first target software is a general format.

[0026] On the other hand, embodiments of this application provide a software generation apparatus, the apparatus comprising: a display unit, an acquisition unit, and a generation unit; The display unit is used to display the software generation interface, which includes a dialog area and a software preview area; The acquisition unit is used to acquire a first software generation instruction based on a natural language description through the dialogue area; The display unit is also configured to display the content of the request question and multiple candidate answers to the request question in the dialogue area, wherein the request question is used to guide the user to improve the first software generation instruction. The generation unit is used to obtain a confirmation operation for the target candidate answer content among the multiple candidate answer contents, and generate the first target software; The display unit is further configured to display a running control in the software preview area, the running control being used to run the first target software in the software preview area.

[0027] On the other hand, embodiments of this application provide a software generation apparatus, the apparatus comprising: an acquisition unit, a startup unit, a detection unit, and a sending unit; The acquisition unit is used to acquire a development server startup request from the front end, and the development server startup request is used to start the first target software; The startup unit is used to start the development server according to the development server startup request; The detection unit is used to create an initial interface for running the first target software through the front end if the development server is detected to be in a running state. The acquisition unit is further configured to acquire page resources required for running the first target software; The sending unit is used to send the page resources to the initial interface so that the first target software can be run on the software generation interface, which is generated based on the initial interface and the page resources.

[0028] On the other hand, embodiments of this application provide a computer device, the computer device including a processor and a memory: The memory is used to store computer programs and to transfer the computer programs to the processor; The processor is configured to execute the methods described above according to instructions in the computer program.

[0029] On the other hand, embodiments of this application provide a computer-readable storage medium for storing a computer program for performing the methods described above.

[0030] On the other hand, embodiments of this application provide a computer program product including a computer program, which, when run on a computer device, causes the computer device to perform the methods described above.

[0031] As can be seen from the above technical solution, this application provides a software generation interface including a dialog area and a software preview area. Users can input software generation instructions based on natural language descriptions in the dialog area to generate the required target software based on these instructions. In other words, users can describe their software generation requirements using natural language, reducing the skill requirements for software developers and lowering the barrier to entry for software development. Furthermore, before generating the target software, the dialog area displays the requirement question and multiple candidate answers. Users can quickly select their requirements based on these candidate answers, guiding them to refine the software generation instructions in a manner similar to a questionnaire. This is convenient, fast, and improves software generation efficiency while increasing the accuracy of understanding the instructions, resulting in target software that better meets user requirements. In addition, after generating the target software, a run control can be displayed in the software preview area, allowing users to test the generated target software. The test process is also displayed in the software preview area. This partitioned display of software generation instructions and the software testing process not only makes the software generation interface cleaner and more organized, reducing visual interference and clutter, improving development efficiency, reducing operational tedium and time waste, but also increases user retention. Attached Figure Description

[0032] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0033] Figure 1 A schematic diagram of a computer system for a software generation method provided in an embodiment of this application; Figure 2 This is a schematic diagram illustrating an application scenario of a software generation method provided in an embodiment of this application; Figure 3 A flowchart illustrating a software generation method provided in an embodiment of this application; Figure 4 A schematic diagram of a software generation interface provided in an embodiment of this application; Figure 5 A schematic diagram of a project file sub-interface provided for an embodiment of this application; Figure 6 A schematic diagram of an editing sub-interface provided in an embodiment of this application; Figure 7 A schematic diagram of a personal center menu provided for an embodiment of this application; Figure 8 A schematic diagram illustrating the generation process provided in an embodiment of this application; Figure 9 A schematic diagram of a natural language input area provided in an embodiment of this application; Figure 10 A schematic diagram illustrating an additional function provided in an embodiment of this application; Figure 11 A schematic diagram illustrating a message waiting prompt and historical messages provided in an embodiment of this application; Figure 12 A schematic diagram of a team management sub-interface provided in an embodiment of this application; Figure 13 A schematic diagram illustrating an invitation to a fan account, provided as an embodiment of this application; Figure 14 A schematic diagram of a dialogue area in team mode provided in an embodiment of this application; Figure 15 A schematic diagram of a team feature value provided in an embodiment of this application; Figure 16 A schematic diagram of a professional development interface provided for an embodiment of this application; Figure 17 This is a schematic diagram illustrating the display of multiple tasks in a task panel area, as provided in an embodiment of this application. Figure 18 A schematic diagram of a task creation sub-interface provided in an embodiment of this application; Figure 19 A schematic diagram of a content-filled sub-interface provided in an embodiment of this application; Figure 20 One of the schematic diagrams of a version management sub-interface provided in an embodiment of this application; Figure 21 A second schematic diagram of a version management sub-interface provided in an embodiment of this application; Figure 22 A schematic diagram of a notification center sub-interface provided in an embodiment of this application; Figure 23 A schematic diagram of a main interface provided in an embodiment of this application; Figure 24 A schematic diagram of a wish control provided in an embodiment of this application; Figure 25 One of the schematic diagrams of an inspiration exploration sub-interface provided in an embodiment of this application; Figure 26 A second schematic diagram of an inspiration exploration sub-interface provided in an embodiment of this application; Figure 27 This is a schematic diagram of the overall architecture of a software generation method provided in an embodiment of this application; Figure 28 A flowchart illustrating a software generation method provided in an embodiment of this application; Figure 29 A schematic diagram of a game preview process provided in an embodiment of this application; Figure 30 A schematic diagram of a state transition provided in an embodiment of this application; Figure 31 A schematic diagram of a communication architecture provided in an embodiment of this application; Figure 32 A schematic diagram illustrating a security verification method provided in an embodiment of this application; Figure 33 The figure is a schematic diagram of a security model provided in an embodiment of this application; Figure 34 This is one of the structural schematic diagrams of a software generation apparatus provided in an embodiment of this application; Figure 35 This is a second schematic diagram of a software generation device provided in an embodiment of this application; Figure 36 This application provides a schematic diagram of the structure of a server according to an embodiment of the present application. Figure 37 This is a schematic diagram of the structure of a terminal device provided in an embodiment of this application; Figure 38 A schematic diagram of a model configuration sub-interface provided in an embodiment of this application; Figure 39 A schematic diagram illustrating a version preview and rollback provided for an embodiment of this application; Figure 40 A schematic diagram of an input area provided in an embodiment of this application; Figure 41 A schematic diagram of a first software generation instruction provided in an embodiment of this application; Figure 42 One of the schematic diagrams of a software publishing sub-interface provided in an embodiment of this application; Figure 43 A second schematic diagram of a software publishing sub-interface provided in an embodiment of this application; Figure 44 This is an automatically generated schematic diagram provided for an embodiment of this application; Figure 45 A schematic diagram of an audit result sub-interface provided in an embodiment of this application; Figure 46 One of the schematic diagrams of an internal testing settings sub-interface provided in an embodiment of this application; Figure 47 A schematic diagram of a parameter setting sub-interface provided in an embodiment of this application; Figure 48 This is a second schematic diagram of an internal testing settings sub-interface provided in an embodiment of this application. Detailed Implementation

[0034] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.

[0035] It should be noted that this application may display prompt interfaces, pop-ups, or output voice prompts before and during the collection of user-related data (e.g., software-generated instructions, candidate answer content). These prompt interfaces, pop-ups, or voice prompts are used to inform the user that their relevant data is being collected. This ensures that the application only begins the steps for collecting user-related data after receiving confirmation from the user regarding the prompt interface or pop-up; otherwise (i.e., without receiving confirmation from the user), the steps for collecting user-related data end, meaning no user-related data is collected. In other words, all user data collected in this application is collected with the user's consent and authorization, and the collection, use, and processing of relevant user data must comply with the relevant laws, regulations, and standards of the relevant countries and regions.

[0036] Among related technologies, artificial intelligence (AI) tools with auto-completion capabilities exist. These AI tools can recognize the programmer's input and complete the missing parts, thereby improving the programmer's typing speed and software generation efficiency. However, this method still requires a high level of skill from the software developers and suffers from relatively low software generation efficiency.

[0037] Based on this, this application provides a software generation tool with a software generation interface. Through the dialog area of ​​the software generation interface, users can describe the generation requirements of the desired software in natural language and improve the generation requirements through questionnaires. The generated software can be tested through the preview area of ​​the software generation interface. This not only lowers the software development threshold but also improves the software generation efficiency.

[0038] To facilitate understanding of the software generation method provided in the embodiments of this application, the computer system of the software generation method will be described first below.

[0039] See Figure 1This figure is a schematic diagram of a computer system for a software generation method provided in an embodiment of this application. The computer system 100 includes multiple devices, such as multiple terminal devices 110, multiple servers 120, a database 130, etc. The terminal devices 110 and the servers 120 can communicate with each other through a communication network.

[0040] The communication network uses standard communication technologies and / or protocols, typically the Internet, but can also be any network, including but not limited to Bluetooth, local area network (LAN), metropolitan area network (MAN), wide area network (WAN), mobile, private network, or any combination of virtual private network. In some embodiments, custom or dedicated data communication technologies may be used to replace or supplement the aforementioned data communication technologies.

[0041] The terminal device can be an electronic device such as a smartphone, wearable device, personal computer (PC), intelligent voice interaction device, smart home appliance, vehicle terminal, aircraft, or unmanned vending terminal. A client application for the target application can be installed and run on the terminal device. This target application can be an application that supports displaying a software-generated interface, or it can be another application that supports AI interaction, software generation, etc., and this application does not limit its scope. Furthermore, this application does not limit the form of the target application, including but not limited to applications (Apps), mini-programs, etc., installed on the terminal device, and it can also be in the form of a webpage.

[0042] A server can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing cloud computing services such as cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (CDNs), and basic cloud computing services such as big data. A server can also be a backend server for the target application, providing backend services to the client of the target application, such as software development services.

[0043] Databases can be integrated onto servers, or hosted in the cloud or on other servers. Simply put, a database can be viewed as an electronic filing cabinet—a place to store electronic files, where users can perform operations such as adding, querying, updating, and deleting data. A "database" is a collection of data stored together in a certain way, shared by multiple users, with minimal redundancy, and independent of application programs. A Database Management System (DBMS) is a computer software system designed to manage databases, generally possessing basic functions such as storage, retrieval, security, and backup. DBMSs can be classified according to the database model they support, such as relational or Extensible Markup Language (XML); or according to the type of computer they support, such as server clusters or mobile phones; or according to the query language used, such as Structured Query Language (SQL) or XML Query Language (XQuery); or according to performance priorities, such as maximum scale or highest operating speed; or other classification methods. Regardless of the classification method used, some DBMSs can cross categories; for example, they can simultaneously support multiple query languages. Databases can be used to store data from the aforementioned servers or terminal devices, such as generated software, initial software generation instructions, etc.

[0044] To facilitate understanding of the software generation method provided in the embodiments of this application, the following example uses a terminal device as the execution subject of the software generation method to illustrate the application scenarios of the software generation method.

[0045] See Figure 2 This figure is a schematic diagram illustrating an application scenario of a software generation method provided in an embodiment of this application. Figure 2 In this application scenario, terminal device 210 and server 220 are included. Terminal device 210 can be... Figure 1 In any of the terminal devices described in the embodiments, server 220 is... Figure 1 Any of the servers described in the embodiments.

[0046] The terminal device 210 is equipped with the tools (such as an application) provided in the embodiments of this application, that is, tools capable of providing software generation methods. After the user opens the tool through the terminal device 210, the software generation interface 211 is displayed through the terminal device 210.

[0047] The software generation interface 211 includes a dialog area 212 and a software preview area 213. The user can input a first software generation command 214 based on natural language description in the dialog area 212, and the first software generation command 214 will be displayed in the dialog area 212, such as... Figure 2 The description reads, "I want to create a bird game with a valley theme, and I want a more three-dimensional game."

[0048] In other words, users can input software generation instructions based on natural language descriptions in the dialog area, so that the required target software can be generated based on the software generation instructions, which reduces the quality requirements for software developers and lowers the threshold for software development.

[0049] Furthermore, before generating the target software, at least one requirement question and multiple candidate answers for answering the requirement question will be displayed in the dialogue area 212, such as... Figure 2 The example shows five requirement questions, such as "What type of game do you want?" and "What languages ​​do you want?". Each requirement question has multiple candidate answers, and different requirement questions have different candidate answers. For example, for the requirement question "What languages ​​do you want?", five candidate answers are prepared: "Language A", "Language B", "Language C", "Language D", and "Language E". Users can choose one or more of these candidate answers as their target answer. A confirmation action is then taken when a user selects a target candidate answer, such as after all requirement questions have been answered or after a specific requirement question has been answered. Figure 2 The control 215 shown executes trigger operations, etc., to generate the first target software that meets the user's needs.

[0050] In other words, by providing the requirements and multiple candidate answers, users can quickly select their needs based on these options. This allows the system to guide users in refining the software generation instructions in a manner similar to a questionnaire. This approach is convenient, fast, and efficient, while also increasing the accuracy of the understanding of the software generation instructions, thereby generating target software that better meets the user's requirements.

[0051] Furthermore, after generating the first target software, a run control 216 can be displayed in the software preview area 213, allowing users to test the generated first target software through the run control 216, and displaying the testing process in the software preview area 213. Thus, by displaying the software generation instructions and software testing process in separate sections within the software generation interface, the software generation interface becomes cleaner and more organized, reducing visual interference and clutter, improving development efficiency, reducing operational tedium and time waste, and increasing user retention.

[0052] The software generation method provided in this application embodiment can be executed by a terminal device. However, in other embodiments of this application, the server may also have similar functions to the terminal device to execute the software generation method provided in this application embodiment, or the terminal device and the server may jointly execute the software generation method provided in this application embodiment. This embodiment does not limit this to any particular method.

[0053] The following describes in detail a software generation method provided in this application through method embodiments.

[0054] See Figure 3 This figure is a schematic flowchart of a software generation method provided in an embodiment of this application. For ease of description, the following embodiment uses a computer device as the execution subject of the software generation method, such as the terminal device or server described above. Figure 3 As shown, the software generation method includes S301-S305.

[0055] S301: Displays the software generation interface, including the dialog area and the software preview area.

[0056] The tool provided in this application embodiment can realize the function of generating software through natural language. First, the software generation interface of the tool is introduced. Through this software generation interface, it is possible to input software generation instructions (i.e., instructions for generating software) and preview the generated target software (i.e., the software generated by the software generation instructions). The following is a detailed description.

[0057] The software interface includes a dialog area and a software preview area.

[0058] The dialogue area is used to input software generation instructions described in natural language, such as the first software instruction. Software generation instructions described in natural language are input according to the user's language habits and do not require the user to input software generation instructions in a specific code format, thereby lowering the barrier to entry for software developers and enabling them to generate software using natural language, increasing the number of users using the tools provided in this application's embodiments.

[0059] The software preview area is used to test the target software generated based on the user's software generation instructions, thereby helping the user to quickly run the obtained target software for rapid testing.

[0060] See Figure 4 This figure is a schematic diagram of a software generation interface provided in an embodiment of this application. Figure 4 In the software generation interface 400, there are a dialog area 410 and a software preview area 420.

[0061] This application does not specifically limit the way the dialog area and software preview area are displayed in the software generation interface. As one possible implementation, the dialog area is displayed in a first area of ​​the software generation interface, and the software preview area is displayed in a second area of ​​the software generation interface.

[0062] The first area is either the left or right side of the horizontal display direction, and the second area is either the left or right side of the horizontal display direction. The second area is different from the first area. That is, if the first area is the left side of the horizontal display direction, then the second area is the right side of the horizontal display direction; if the first area is the right side of the horizontal display direction, then the second area is the left side of the horizontal display direction. The horizontal display direction refers to the horizontal direction in which the content is displayed; for example, text in a software-generated interface is generally displayed from left to right.

[0063] Continue as Figure 4 As shown, the dialog area 410 is located on the right side of the software generation interface 400, and the software preview area 420 is located on the left side of the software generation interface 400.

[0064] Furthermore, in the software generation interface, the first area and the second area can be separated by a boundary line. If the boundary line is adjusted, the size of the first area and the second area in the software generation interface can be adjusted.

[0065] See also Figure 4 In the software generation interface 400, there is a dividing line between the dialog area 410 and the software preview area 420, namely the area dividing line 430.

[0066] The embodiments of this application are not limited to the way of adjusting the area boundary line, such as adjusting it by dragging the area boundary line left and right, or setting the position of the area boundary line in the software generation interface by setting the control, etc.

[0067] Therefore, by displaying the dialog area and software preview area in a left-right partitioned manner within the software interface—a two-column responsive layout—the left-right design better suits the reading habits of programmers and most people, improving the user experience. Furthermore, by adjusting the area dividing line, users can freely adjust the ratio of the first and second areas as needed, satisfying the visual preferences of different work scenarios.

[0068] S302: Obtain first software generation instructions based on natural language description through the dialogue area.

[0069] As described above, users can input first software generation instructions through the dialog area, and these instructions are software generation instructions described in natural language. Software generation instructions described in natural language are input according to the user's language habits and do not require the user to input software generation instructions in a specific code format, thereby lowering the barrier to entry for software developers and enabling them to generate software using natural language, thus increasing the number of users using the tools provided in this application's embodiments.

[0070] This application does not specifically limit the method by which the user inputs the first software-generated command through the dialog area, such as voice input or text input.

[0071] The embodiments of this application do not specifically limit the composition of the dialogue area. The following description takes the dialogue area including a natural language input area and a message display area as an example.

[0072] See also Figure 4 The dialogue area 410 includes a natural language input area 412 and a message display area 411. The user can input first software-generated commands through the natural language input area 412, and the interaction messages between the user and the AI ​​assistant provided in this embodiment will be displayed in the message display area 412.

[0073] In response to a sending instruction for a first software generation instruction input in the natural language input area, the system acquires the first software generation instruction; displays the first software generation instruction in the message display area; and displays the generation result for the first software generation instruction in the message display area.

[0074] Wherein, "responding to" is used to indicate the conditions or states on which the operation performed depends. When the conditions or states on which it depends are met, one or more operations performed can be performed in real time or with a set delay. Unless otherwise specified, there is no restriction on the order in which the multiple operations are performed.

[0075] The generated result for the first software generation instruction refers to the response to the instruction, such as the AI ​​assistant's answer, a description of the generated first target software, the design philosophy of the generated first target software, and directions for improvement. This application does not specifically limit this. It should be noted that the generated result is not the first target software itself, as the first target software will be displayed in the software preview area. See also... Figure 4 , Figure 4 The generated result 413 is a gameplay description for the first target software generated.

[0076] Therefore, by refining the dialogue area into a natural language input area and a message display area, it is closer to the user's habits of using chat software. That is, it not only displays the user's software generation command, but also displays the response content to the software generation command, i.e. the generation result. In other words, the software generation method provided in this application embodiment can generate software in a conversational manner, which is easier for users to understand and operate, and improves the user experience.

[0077] S303: Display the content of the requirement question and multiple candidate answers to the requirement question in the dialogue area.

[0078] The requirement / problem content is used to guide the user in completing the first software generation instructions. It can be in text, image, or voice format, etc., and this application does not specifically limit it. The user is the subject using the tool in the embodiments of this application, such as the user mentioned above, which can be a natural person, enterprise, etc.

[0079] The requirements question can guide the user to refine their requirements for the target software they want to generate by presenting the requirements in the form of questions, such as... Figure 2 As shown, the question can be further explored by asking the user about their desired game type, etc. This embodiment of the application does not specifically limit the number of questions; there can be one or more.

[0080] Candidate answers are possible responses to a requirement question. A requirement question can have one or more candidate answers to better address the user's actual needs, thereby supplementing the requirements generated by the software. It should be noted that this application does not specifically limit the number of candidate answers that can be selected for a single requirement question; there can be one or more.

[0081] As one possible implementation, if the first software generates the instruction and it is the first instruction sent to the first target software, then the content of the requirement question and multiple candidate answers to the requirement question can be displayed in the dialog area; if the first software generates the instruction and it is not the first instruction (such as the second, third, etc.), then the content of the requirement question and its corresponding candidate answers will no longer be displayed, because these requirements have already been obtained the first time, and there is no need to confirm with the user again, thereby reducing user operations and improving user experience.

[0082] This application does not specifically limit the method for determining the content of the requirement problem. The following description uses two methods as examples.

[0083] Method 1: Prepare one or more requirement questions in advance. Regardless of the user's input of the first software generation command, one or more pre-prepared requirement questions can be displayed.

[0084] Method 2: Prepare multiple requirement questions in advance, and select a portion of the requirement questions from the multiple requirement questions based on the first software generation command input by the user for display.

[0085] Specifically, the process involves: acquiring a set of requirement questions; determining the requirement answer content from the first software generation instructions to answer the target requirement questions; and determining the requirement question content based on the set of requirement questions and the target requirement questions.

[0086] The requirement question set includes multiple preset requirement questions, i.e., multiple pre-prepared requirement questions. The target requirement question is at least one preset requirement question included in the requirement question set, i.e., a preset requirement question that can be answered by the first software generation instruction itself, determined from the first software generation instruction. Requirement questions are the preset requirement questions in the requirement question set other than the target requirement question.

[0087] Therefore, although multiple preset requirement questions are prepared in advance, the system can determine which preset requirement questions can be answered by the first software generation command. As a result, these answerable preset requirement questions will no longer be displayed, and only unanswered questions will be displayed. This reduces the number of requirement questions displayed, reduces user operations, and improves the user experience.

[0088] S304: Obtain confirmation operation for the target candidate answer content among multiple candidate answer contents, and generate the first target software.

[0089] The confirmation operation is used to determine which candidate answers the user has selected; that is, the target candidate answer is one or more selected candidate answers. This application does not specifically limit the confirmation operation; it could be automatically generated after answering all required questions, or it could be a pre-prepared confirmation control that is retrieved when the user performs a trigger operation on the control.

[0090] The first target software is target software that conforms to the first software generation instructions, and the target software is software generated based on the software generation instructions. This application does not specifically limit the method of generating the first target software. For example, the first software generation instructions can be understood based on an AI model, and then the first target software required by the first software generation instructions can be generated through the AI ​​model. As another example, it will be discussed later... Figure 27 The overall architecture shown will be explained in detail here, and will not be repeated.

[0091] In this embodiment, a first target software can be generated based on a first software generation instruction, the content of the requirement question, and the content of the target candidate answer. Alternatively, the first target software can be generated based on the first software generation instruction and the content of the target candidate answer. The first software generation instruction describes the user's basic requirements, while the target candidate answer and / or the content of the requirement question provide supplementary requirements from the user, thereby improving the accuracy of understanding the user's needs and increasing the accuracy with which the first target software meets those needs.

[0092] S305: Displays the running controls in the software preview area.

[0093] The run control is used to run the currently generated target software, such as the first target software, in the software preview area. See also... Figure 4 The control 421 that marks the start of the game is the running control described in this application.

[0094] If a trigger operation is obtained for the running control, the first target software can be run, and the running process can be displayed in the software preview area. This allows the developers of the first target software to test whether the software needs further modification, which is convenient and quick.

[0095] The embodiments of this application do not specifically limit the timing of displaying the running control. For example, after obtaining the first target software, the running control can be displayed in the software preview area. Alternatively, the running control can be continuously displayed in the software preview area.

[0096] As can be seen from the above technical solution, this application provides a software generation interface including a dialog area and a software preview area. Users can input software generation instructions based on natural language descriptions in the dialog area to generate the required target software based on these instructions. In other words, users can describe their software generation requirements using natural language, reducing the skill requirements for software developers and lowering the barrier to entry for software development. Furthermore, before generating the target software, the dialog area displays the requirement question and multiple candidate answers. Users can quickly select their requirements based on these candidate answers, guiding them to refine the software generation instructions in a manner similar to a questionnaire. This is convenient, fast, and improves software generation efficiency while increasing the accuracy of understanding the instructions, resulting in target software that better meets user requirements. In addition, after generating the target software, a run control can be displayed in the software preview area, allowing users to test the generated target software. The test process is also displayed in the software preview area. This partitioned display of software generation instructions and the software testing process not only makes the software generation interface cleaner and more organized, reducing visual interference and clutter, improving development efficiency, reducing operational tedium and time waste, but also increases user retention.

[0097] As one possible implementation, this application embodiment not only provides a dialog area and a software preview area, but also a project file sub-interface.

[0098] Specifically, the system displays an expand control for the project file sub-interface; in response to a trigger operation on the expand control, displays the project file sub-interface on the software generation interface; displays a collapse control for the project file sub-interface; and in response to a trigger operation on the collapse control, cancels the display of the project file sub-interface on the software generation interface.

[0099] The Project Files sub-interface displays the project file directory corresponding to the first target software. This directory includes multiple sub-files used to generate the first target software. In other words, the Project Files sub-interface displays the underlying files that constitute the first target software, such as images and code.

[0100] The project file sub-interface can be an interface independent of the software generation interface, or it can be an area located within the software generation interface. This application does not make any specific limitations on this.

[0101] The expand control for the project file sub-interface is used to display the project file sub-interface in the software generation interface, as shown in the expanded effect. The collapse control for the project file sub-interface is used to cancel the project file sub-interface in the software generation interface, as shown in the collapsed effect.

[0102] This application does not specifically limit the display format of the expand and collapse controls. They can be controls displayed in a fixed area of ​​the software generation interface, or controls displayed in a non-fixed area of ​​the software generation interface. For example, the expand and collapse controls can be the same control or different controls. If the expand and collapse controls are the same control, then when the project file sub-interface is collapsed, this control is the expand control, and when the project file sub-interface is expanded, this control is the collapse control. See also Figure 4 Control 440 is a control that integrates the functions of expanding and collapsing controls. Figure 4 In the middle, the project file sub-interface collapses, and at this time, control 440 becomes the expanded control. See also Figure 5 This figure is a schematic diagram of a project file sub-interface provided in an embodiment of this application. Figure 5 In China, through targeting Figure 4 After control 440 in the middle executes the trigger operation, the project file sub-interface 510 is displayed on the software generation interface 400. The project file sub-interface 510 displays some files required to build the first target software. Figure 5 Since the project file sub-interface 510 has been expanded, control 440 is now the collapsed control.

[0103] In other words, the project file sub-interface can be seen as a collapsible panel. With the help of the floating buttons (i.e. collapse control and expand control), the collapse or expand animation can be triggered. After expansion, the project file corresponding to the first target software is displayed on the project file sub-interface, and it can be displayed in the form of a tree structure.

[0104] Therefore, this application embodiment not only provides the first target software, but also provides the underlying files for constituting the first target software, and displays them through the project file sub-interface. Moreover, the display and non-display of the project file sub-interface can be controlled by expanding and collapsing controls, thereby displaying more content that users want to see in the limited display space and improving the user experience.

[0105] As one possible implementation, in response to a triggered operation targeting a target subfile among multiple subfiles in the project file directory, the target subfile is displayed in an editing sub-interface independent of the software generation interface.

[0106] The project file sub-interface displays the project file directory, which includes multiple sub-files. The target sub-file is one of these sub-files. Triggering actions can include clicks, swipes, long presses, etc., and this application does not specify any particular type. The editing sub-interface is independent of the software-generated interface and can take the form of a pop-up window, subpage, etc.

[0107] See Figure 6 This figure is a schematic diagram of an editing sub-interface provided in an embodiment of this application. Figure 6 In the project file sub-interface 510, when the user selects material 1.png as the target sub-file, the editing sub-interface 520 pops up to display the target sub-file.

[0108] Therefore, this application embodiment also supports selecting a sub-file from the project file directory for viewing. The selected sub-file can be opened directly through the editing sub-interface displayed in the software's generated interface, improving file access efficiency.

[0109] As one possible implementation, multiple archive slot controls can be displayed in the software preview area to manage the version of the first target software.

[0110] Specifically, multiple archive slot controls are displayed in the software preview area; in response to a trigger operation on the target archive slot control among the multiple archive slot controls, the first target software corresponding to the version of the target archive slot control is run in the software preview area.

[0111] The archive slot control is used to store a specific version of the first target software. Different versions of the first target software have slightly different functionalities; that is, different archive slot controls correspond to different versions of the first target software. Multiple archive slot controls manage multiple versions of the first target software. Different versions of the first target software are generated based on different software generation instructions. For example, a first version (e.g., version 1) of the first target software is generated based on a first software generation instruction, and a second version (e.g., version 2) of the first target software is generated based on a second software generation instruction. The target archive slot control is one of multiple archive slot controls.

[0112] See also Figure 4 The software preview area 420 displays five save slot controls. Save slots 1 through 3 each store saves data for the first target software, specifically three different progress levels or versions of the first target software. Save slots 4 through 5 do not yet store any progress level of the first target software. The following explanation uses control 422, i.e., save slot 3, as the target save slot control as an example.

[0113] See also Figure 5 After triggering the operation on control 422, a save file introduction sub-interface 423 is displayed in the software preview area 420. This sub-interface 423 displays information about the first target software corresponding to save file 3, such as when it was last updated (3 minutes), the currently used game image, whether the UI has been updated, and whether it has been loaded or overwritten. Alternatively, by triggering the operation on the loading control, the first target software corresponding to save file 3 can be run in the software preview area.

[0114] In addition, shortcut keys such as Ctrl+1~5 can be used to quickly save and load different progresses of the first target software. Each save slot control clearly displays the corresponding label, which is convenient for tracking and version management.

[0115] Therefore, by setting up multiple save slot controls, each used to manage different versions of the same target software, it is possible to save and replay multiple versions of a single target software, thus achieving traceability and version management. Furthermore, displaying multiple save slot controls in the software preview area allows for quick saving of a specific progress point during the execution of the first target software, and then rapid replay of that progress point in the software preview area using the save slot controls, providing convenience and speed.

[0116] As one possible implementation, the software preview area may also include one or more of the following functions to achieve different functionalities.

[0117] (1) Device selection control, such as Figure 4 The control 424, which is shown as a preview, allows users to select between smartphones and computers, thus balancing a clear information hierarchy with flexible cross-platform adaptability.

[0118] (2) In the software-generated interface, the top navigation bar adopts a persistent fixed design, so that key information is always visible no matter how the user scrolls the page. For example, the icon and name of the current project 451, the real-time work status indicator 452, and the professional mode control 453 corresponding to the core switching entry to enter professional mode allow users to quickly adjust the work mode in any operating scenario and maintain focus and efficiency.

[0119] (3) A project selector is provided on the left side of the software generation interface. For example, control 451 supports drop-down expansion to present a complete list of projects, so that you can select the project you want to modify from multiple projects. In addition, to prevent accidental touches that cause project switching, a switching confirmation dialog box will pop up when clicking on a project other than the current one, providing users with a secondary confirmation security guarantee.

[0120] (4) The personal center menu in the upper right corner follows a hierarchical information architecture design.

[0121] See Figure 7 This figure is a schematic diagram of a personal center menu provided in an embodiment of this application. The personal center menu 455 can be displayed by targeting control 454.

[0122] The first layer can display the user's or team's feature value balance, and can be highlighted, such as with amber highlighting. These feature values ​​can be used to interact with AI within the tools provided in this application's embodiments.

[0123] Secondary entry points include the notification center, system settings, and logout. The notification center can also display the number of unread messages, for example, with a red dot badge indicating the number of unread messages in real time; clicking it will expand the notification center pop-up window, allowing you to view and process messages such as review results and team invitations.

[0124] (5) AI model configuration function.

[0125] This application embodiment allows for the configuration of one or more AI assistants within the tool, providing users with richer choices and improving user experience. It is understood that different AI assistants correspond to different AI models. If only one AI assistant is configured within the tool, the user may or may not be informed of the current AI model; if multiple AI assistants are configured within the tool, the user can be informed of the AI ​​model corresponding to the current AI assistant. Furthermore, users can... Figure 2 The controls labeled "Model" in the natural language input area allow users to select the desired AI assistant from a variety of AI assistants.

[0126] As one possible implementation, embodiments of this application can also allow users to configure external AI assistants to suit their usage habits and improve user experience.

[0127] Specifically, the model settings control is displayed, and in response to a trigger operation on the model settings control, the model configuration sub-interface is displayed; in the model configuration sub-interface, the model addition control is displayed, and in response to a trigger operation on the model addition control, the target AI model is added under the current account.

[0128] See Figure 38 This figure is a schematic diagram of a model configuration sub-interface provided in an embodiment of this application. Figure 38 In the diagram, space 3801, labeled as "Settings," is the model settings control. When a user performs a trigger operation on the model settings control 3801, the model configuration sub-interface 3810 should be displayed. The model configuration sub-interface 3810 displays the model addition control 3811. The user can import an external AI model (i.e., the target AI model) by triggering the model addition control 3811, thereby adding a target AI model to the user's current account for selection and use.

[0129] As one possible approach, testing can also be conducted on AI models introduced by the user from external sources, such as testing whether the user has permission to use the externally introduced AI model.

[0130] As one possible implementation, skills can also be set for AI models (such as through triggers). Figure 38 The controls (3812) in the interface include whether the AI ​​model has image generation capabilities, how to generate images, whether it has background music generation capabilities, and how to generate background music. Therefore, the software generation interface provided in this application embodiment achieves a balance between functional accessibility and visual comfort. It ensures immediate response to key operations while reducing cognitive load through reasonable spatial arrangement and animation guidance, allowing users to maintain a smooth experience in immersive creation and collaboration.

[0131] As one possible implementation, after generating the first target software, it can be further modified using natural language descriptions. The following explanation will continue using the example of a dialogue area including a natural language input area and a message display area.

[0132] Specifically, in response to a sending operation for a second software generation instruction input in the natural language input area, the system acquires the second software generation instruction; displays the second software generation instruction in the message display area; modifies the first target software according to the second software generation instruction to generate the first updated software; and displays the generation result for the second software generation instruction in the message display area.

[0133] The second software generation instructions are used to modify the first target software. They can also be described in natural language, thereby reducing the requirements for software developers, improving the user experience, and increasing the number of users using the tools provided in this application.

[0134] The sending operation is used to send instructions generated by the second software, such as a click operation, a single click operation, a swipe operation, etc., and this application does not specifically limit it.

[0135] After obtaining the second software generation instruction, the first target software can be modified based on the second software generation instruction to obtain the first updated software. The first updated software is the updated first target software, and its version is different from the first target software. At this time, the first updated software can be tested through the run control displayed in the software preview area, and the generation result for the second software generation instruction can be displayed in the message display area.

[0136] The generation result for the second software generation instruction refers to the response to the second software generation instruction, such as the response given by the AI ​​assistant, a description of the updates made by the generated first updated software compared to the first target software, the design philosophy of the generated first updated software, and directions for improvement, etc. This application does not specifically limit this. It should be noted that the generated result is not the first updated software itself, because the first updated software itself will be displayed in the software preview area.

[0137] In other words, by continuously inputting natural language descriptions in the dialog area, such as sending a first software generation command, the generated result for the first software generation command can be obtained. If a certain function of the first target software for the first software generation command is unsatisfactory, a second software generation command can be input in the dialog area to obtain the generated result for the second software generation command, as well as the first updated software for the second software generation command.

[0138] Therefore, the embodiments of this application can not only understand single instructions, but also understand multiple instructions in combination with context. Thus, users can continuously send their needs for the same target software in the dialogue area through natural language description, thereby obtaining the target software they want through continuous dialogue, which is convenient, fast and has a high user experience.

[0139] As one possible implementation, the message display area can also provide preview and rollback functionality for the target software.

[0140] Specifically, the message display area displays the generation result of the second software generation instruction, a version preview control, and a version rollback control; in response to the trigger operation of the version preview control, the target software corresponding to the second software generation instruction and belonging to the first version is displayed; in response to the trigger operation of the version rollback control, the target software corresponding to the second software generation instruction and belonging to the second version is displayed, where the second version is the version generated before the first version.

[0141] See Figure 39 This figure is a schematic diagram illustrating a version preview and rollback provided in an embodiment of this application. Figure 39 In the dialog area 410, the interaction messages between the user and the AI ​​assistant are displayed. Each version result generated by the AI ​​assistant can be displayed in the form of a card, and it supports reverting to the previous version and previewing the previous version within the dialog. Each card has a version preview control (such as control 3901) and a version revert control (such as control 3902). When the user performs a trigger operation on the version revert control 3902, the second version (i.e., version 14) of the target software will revert to the first version (i.e., version 13).

[0142] Therefore, displaying version preview and version rollback controls in the dialog area allows users to adjust their needs promptly and conveniently during the dialog. As one possible implementation, before displaying the generation result for the first software generation instruction in the message display area, the generation process of the generation result for the first software generation instruction can also be displayed in the message display area; alternatively, before displaying the generation result for the second software generation instruction in the message display area, the generation process of the generation result for the second software generation instruction can also be displayed in the message display area.

[0143] See Figure 8 This figure is a schematic diagram illustrating the generation process provided in an embodiment of this application. Figure 8 In the middle, before the generation result is obtained from the first software generation instruction "Create a game", the generation process content 414 is displayed. As a possible implementation, it can also be combined with a reactor icon with pulse animation and real-time scrolling terminal log output to intuitively convey its operation dynamics, such as Figure 8 The text displays "Parsing React components...", which continuously shows the progress of the work, such as dividing a large task into multiple smaller tasks, and showing which smaller task is being executed and what each smaller task has done.

[0144] As one possible implementation, when the AI ​​assistant is in working mode, a "CODING" status label will be displayed to indicate to the user that the AI ​​assistant is currently processing software-generated instructions. As another possible implementation, interactive messages in the message display area can continuously move upwards to display recent interactive messages within the limited display area.

[0145] Therefore, the generation process can be displayed before the result is shown, thus describing the process of generating the result, reducing user boredom during the wait and increasing user trust.

[0146] As one possible implementation, the natural language input area also provides a variety of functions, namely, displaying a variety of controls in the natural language input area, with different controls corresponding to different functions, which will be explained below.

[0147] See Figure 9 This figure is a schematic diagram of a natural language input area provided in an embodiment of this application.

[0148] (1) Attachment upload function. For example... Figure 9 Control 419: When a trigger operation is performed on control 419, attachments can be uploaded and an attachment preview area can be displayed, such as by displaying the attachment identifier or attachment (not shown in the figure) in real time through a paperclip icon.

[0149] (2) Image upload function. For example... Figure 9 Control 418, when a trigger operation is performed on control 418, can upload images (such as screenshots) and display the image preview area, such as displaying screenshots in real time with a cyan border mark, or displaying uploaded images with an indigo border (not shown in the figure). As a possible implementation, in this embodiment, users can also be restricted to uploading only screenshots within the tool (such as images obtained through the screenshot function within the tool), and cannot upload other forms of user-uploaded images or files, etc., to improve data confidentiality, etc., which can be set according to actual needs by those skilled in the art. (3) Reference project function. Display the project selection control in the natural language input area; in response to the trigger operation on the project selection control, display the project file corresponding to the project selection control in the preview sub-interface independent of the dialog area.

[0150] The project selection control is used to select the project to be referenced, and the preview sub-interface is used to display multiple selectable project files.

[0151] See also Figure 9 , Figure 9Control 417 is a project selection control. When a trigger operation is performed on control 417, in response to the trigger operation on the project selection control, the project reference function can be used to display a preview sub-interface 460 above the natural language input area 412. The project file to be referenced can be selected through the preview sub-interface 460.

[0152] As another possible approach, project referencing speed can be improved by directly entering the project reference shortcut, such as "@" followed by the name of the created project file.

[0153] As one possible implementation, project file name references can be rendered as Cyan hyperlinks, and [control:name(type)] can be rendered as Indigo tags, so that references and control information are semantically highlighted when inputting.

[0154] Therefore, by triggering a preview sub-interface through the project selection control, multiple selectable project files can be displayed, making it convenient for users to quickly select the projects they need to reference, and to confirm multimedia content (such as referenced projects) before sending, thus improving the user experience.

[0155] (4) Voice sending function. For example... Figure 9 The control 416 can send voice messages after a trigger operation is performed on it. This embodiment of the application supports real-time transcription of animation.

[0156] (5) Additional functions. Display additional function controls; in response to a trigger operation on the additional function controls, display at least one additional function; in response to a selection operation on a target additional function among the at least one additional function, generate a first target software based on the target additional function, or generate a new version of the first target software based on the target additional function.

[0157] See also Figure 9 Control 415 is the additional function control. When a trigger operation is performed on control 415, in response to the trigger operation on the additional function control, at least one additional function is displayed, such as... Figure 10 As shown.

[0158] See Figure 10 This figure is a schematic diagram of an additional function provided in an embodiment of this application. Figure 10 In response to a trigger operation on the additional function controls, a function integration panel 470 is displayed. The function integration panel 470 includes three additional functions. A list of function switches is displayed using rounded card containers; each function displays an icon, name, description, and a switch icon. Figure 10 (Only a portion of the content is shown here), the information is complete and easy to scan.

[0159] In addition, as a possible implementation, locked additional functions can be presented in a disabled style with a prompt explaining the reason for the restriction, reducing the probability of accidental operation.

[0160] As a possible implementation, a confirmation button 417 can be displayed at the bottom of the function integration panel to trigger a secondary confirmation pop-up, clearly indicating that the function integration is irreversible. After the user confirms, a version card in the "building" state will be generated, and the integration progress will be continuously monitored until completion.

[0161] Therefore, by displaying one or more functions that can be integrated into the software, users can select one or more functions to add to the target software, which not only helps users quickly improve the software, but also reduces user operations and improves the user experience.

[0162] As one possible implementation, the natural language input area adopts a multi-layered composite structure design, balancing flexible input with visual presentation. For example, the bottom layer is a transparent text area (textarea) for actual text input, and the upper layer is a formatted display layer. The bottom toolbar arranges the spaces corresponding to the aforementioned five functions from left to right, with a prominent send control on the right, such as a gradient send button, guiding the operation path naturally and smoothly.

[0163] In addition, the natural language input area can adopt an immersive chat layout, with a stable and permanent top toolbar that clearly displays the "Conversation History" title and the convenient historical message entry corresponding to the historical message control 1102 (e.g., Figure 11 As shown in the image, this allows users to trace the communication flow at any time.

[0164] As one possible implementation, if messages from multiple sources are displayed in the dialog area, messages from different sources are displayed based on different display methods.

[0165] For example, the message display area uses a bubble-style dialogue design to clearly distinguish three types of message sources with differentiated visual symbols: user messages are accompanied by emerald gradient avatars, Ai assistant messages are identified by cyan reactor icons, and system messages (such as network disconnection prompts, insufficient balance prompts, etc.) are presented with gray labels, making the hierarchy clear and easy to understand at a glance.

[0166] Therefore, displaying different message sources in different ways in the dialogue area can clearly show the differences between messages, thereby helping users read quickly and improving the user experience.

[0167] As one possible implementation, this application provides a function to indicate the status of an AI assistant.

[0168] Specifically, if during the process of generating the first target software according to the first software generation instruction, a third software generation instruction based on natural language description is obtained; a message waiting prompt is displayed.

[0169] The message waiting prompt is used to inform the user that there are currently software generation instructions waiting to be processed.

[0170] See Figure 11 This figure is a schematic diagram of a message waiting prompt and historical messages provided in an embodiment of this application. Figure 11 In the process of generating the first software creation command, "Create a game," the AI ​​assistant is processing the initial command. If, during this process, the user sends another software creation command, such as a third command described in natural language, a waiting message (1101) is displayed. Additionally, the system can display the number of queued software creation commands, thumbnails of the senders' avatars, etc., to indicate how many commands are waiting and from which users they originate.

[0171] Therefore, while processing a software generation command, it can not only receive new software generation commands sent by the user, but also notify the user through message waiting prompts that the new software generation command will enter the waiting queue, thereby effectively avoiding duplicate submission of software generation commands and improving the transparency of interaction.

[0172] As one possible implementation, during the process of generating the first target software according to the first software generation instruction, a third software generation instruction and a fourth software generation instruction based on natural language description are obtained; a merging instruction is generated according to the third software generation instruction and the fourth software generation instruction; and a second target software is generated according to the merging instruction.

[0173] Both the third and fourth software generation instructions can be software generation instructions described in natural language. They can be modification instructions for the first target software or generation instructions for a new target software; this application does not impose specific limitations on this. The third software generation instruction can originate from the same account (e.g., one user) or from different accounts (e.g., multiple users); this application does not impose specific limitations on this either.

[0174] The merge instruction is a software generation instruction obtained by merging the third software generation instruction and the fourth software generation instruction. The second target software is the target software generated based on the merge instruction, which can be an improvement on the first target software, or it can be a target software different from the first target software, etc.

[0175] Therefore, during the processing based on a single software generation instruction, it can not only receive multiple software generation instructions sent by one or more users, but also merge these instructions to jointly generate the required second target software. Thus, when waiting for multiple software generation instructions, merging them reduces user waiting time, improves the accuracy of understanding user instructions, and increases the probability that the second target software meets user needs.

[0176] As one possible implementation, this application embodiment also provides a historical message viewing function.

[0177] Specifically, a historical message viewing control is displayed on the software generation interface. In response to a trigger operation on the historical message viewing control, a historical message sub-interface is displayed on the software generation interface.

[0178] The historical message viewing control is used to view interaction messages between the user and the AI ​​assistant. The historical message sub-interface includes at least one software generation instruction and the generation result generated for the software generation instruction. Moreover, the display method of the first generation result is different from that of the second generation result. The first generation result is the version-related generation result among at least one generation result, while the second generation result is the version-independent generation result among at least one generation result.

[0179] See also Figure 11 When a user performs a trigger operation on the control 1102 marked as a historical message (i.e., the historical message viewing control), the historical message sub-interface 1103 is displayed in the software-generated interface in response to the trigger operation on the historical message viewing control. As a possible implementation, a smooth slide-in animation can also be displayed. Figure 11 Not displayed). The historical messages sub-interface 1103 integrates a search box 1104, supporting fuzzy matching of content, type filtering tags (all, user, assistant, version), and a message list sorted in reverse chronological order. Messages related to the version can be displayed differently from other interactive messages, such as being specially marked with an amber background. Figure 11 (Not shown), bold display ( Figure 11 (as shown in the image) to help users quickly identify key nodes.

[0180] Therefore, by providing a historical message viewing function, users can view the interaction messages with the AI ​​assistant. Moreover, version-related interaction messages are displayed differently from other interaction messages to highlight version-related messages, thereby helping users quickly identify key nodes, improving the efficiency of user queries, and enhancing the user experience.

[0181] As one possible implementation, version-related generated results can be displayed as cards in the dialog area. For example, the version cards could use a two-state design: in the "building" state, such as... Figure 11 The interactive message 1106 displays data such as the left-hand title, CODING label, and right-hand Terminal Log in a horizontal layout. It then enters the "success" state. (The message continues...) Figure 11 The interactive message 1105 then switches to a vertical layout, centrally displaying data such as the title, version number, and completed checkmark icon, making both the process and the result clearly distinguishable.

[0182] As one possible implementation, this application embodiment also provides the function of team collaboration in developing target software, in which the team leader can manage the team.

[0183] Specifically, the team management controls are displayed; in response to a trigger operation on the team management controls, a team management sub-interface is displayed in the software generation interface. This team management sub-interface includes multiple account identifiers and management controls for each account identifier, with the corresponding account used to develop the primary target software.

[0184] See Figure 12 This figure is a schematic diagram of a team management sub-interface provided in an embodiment of this application. When a user performs a trigger operation on the team management control 1210, the team management sub-interface 1220 is displayed in the software generation interface in response to the trigger operation on the team management control. The team management sub-interface 1220 displays three account identifiers, corresponding to three users, all of whom are developing the same target software. The team leader can also manage team members, such as editing permissions, transferring administrator permissions, and removing members. Different management functions correspond to different controls, thus facilitating implementation.

[0185] In addition, Figure 12 In the middle, the team management sub-interface can adopt a three-tab pop-up structure, which displays the member list tab by default, making the information organization clear and the switching intuitive.

[0186] As one possible implementation, member cards integrate multiple identity recognition elements. For example, avatars use gradient backgrounds with overlaid initials, followed by nicknames. Role badges use graphic representations to distinguish permission levels (Owners display a gold crown), and online status is displayed in real-time via a bottom dot, supplemented by permission labels to further explain their responsibilities. The current user card is highlighted with a cyan border for easy location of their information. Team leaders and administrators can see edit permissions and remove buttons on each member card; clicking edit expands the permission matrix panel, which visually displays checkboxes for four permissions: atmosphere, project, release, and team, in a 2x2 grid. Modifications take effect instantly, with efficient and lag-free interaction.

[0187] Therefore, multiple accounts can be used to create a team, thereby generating the target software in a team manner, improving the efficiency of target software generation, and expanding application scenarios.

[0188] As one possible approach, fans could be invited to join the team and collaborate on the creation process.

[0189] Specifically, in response to a trigger operation on the fan viewing control, at least one fan account identifier and an invitation control for the first target software are displayed; in response to a trigger operation on the invitation control, an invitation request is sent to the target fan account corresponding to the invitation control.

[0190] Among them, the fan account identifier corresponds to the fan account used to follow the first target software. The fan account is the account that follows the first target software. The target fan account is at least one fan account corresponding to the fan account identifier for the first target software.

[0191] See Figure 13 The figure is a schematic diagram of an invitation to fan accounts provided in an embodiment of this application. Figure 13 In response to a trigger operation on the fan viewing control 1230, three fan account identifiers for the first target software are displayed, and each fan account identifier corresponds to an invitation control; in response to a trigger operation on the invitation control 1240, an invitation request is sent to the target fan account corresponding to the invitation control 1240, i.e., Xiaomei's account, so as to invite Xiaomei's account to join. Figure 12 The team shown works together to develop the first target software.

[0192] In addition, Figure 13The "Invite Fans" tab prominently displays the number of people allowed to join the team (i.e., the number of people who can still join), helping team managers manage their invitation capacity. The search box below supports fuzzy filtering by nickname, improving search efficiency. The fan list is intelligently sorted based on online status, with online users prioritized. Each record displays the fan's avatar, nickname, online status, and an "Invite" button. Clicking the button initiates a loading state; a successful invitation removes the fan from the list and simultaneously adds them to the member list, ensuring a closed-loop process and timely status synchronization.

[0193] Therefore, fan accounts are accounts that follow the target software that the team is currently developing. Inviting fan accounts to join the team for collaborative creation can provide better improvement points, thereby improving the quality of the target software and increasing user activity.

[0194] As one possible implementation, for team communication, a first software generation instruction from a first account identifier and a second software generation instruction from a second account identifier can be displayed in the dialogue area, with multiple account identifiers including the first account identifier and the second account identifier.

[0195] See Figure 14 This figure is a schematic diagram of a dialogue area in a team mode provided in an embodiment of this application. Figure 14 In the chat area, four messages from four different accounts can be displayed simultaneously, and these four accounts belong to the same team. This is equivalent to putting multiple accounts from the same team into a group for communication with the AI ​​assistant, which is convenient and fast.

[0196] In addition, Figure 14 The system displays the number of messages in the queue and the avatars of the top three senders in real time, providing a subtle indication of the current task density. Clicking expands the queue details panel, allowing users to view the complete list of tasks and gain a comprehensive understanding of the situation. Once the AI ​​assistant completes its current task, the messages in the queue are automatically consolidated into a single task, generating a version card titled "N Request Consolidation" for batch processing. This reduces fragmented execution while maintaining the traceability of task origins.

[0197] Therefore, by displaying team members' messages through group chat instead of each person interacting with the AI ​​assistant individually, it is convenient and quick, while also avoiding team members making repetitive requests, reducing user operations, and improving the generation efficiency of the target software.

[0198] As one possible implementation, the team management sub-interface also includes a feature value viewing control, which, in response to a trigger operation on the feature value viewing control, displays the feature values ​​possessed by the team. These feature values ​​are used to generate the first target software.

[0199] In other words, not only can individual accounts have feature values, but teams can also have feature values, so teams can use feature values ​​to develop the primary target software.

[0200] See Figure 15 This figure is a schematic diagram of a team feature value provided in an embodiment of this application. Figure 15 In response to a trigger operation on the feature value viewing control 1240, the feature values ​​possessed by the team, namely 5000 feature values, are displayed.

[0201] In addition, the Budget Tab can highlight the current balance with large amber numbers, and includes recharge and withdrawal controls, as well as a list of spending records. Spending records based on characteristics can be sorted in reverse chronological order, fully presenting the user, operation type, amount, and description, and supports filtering by type, making it easy to understand the financial status at a glance.

[0202] Therefore, by setting a budget for the team and displaying it to all team members, the support for generating the primary target software can be more clearly defined, improving the user experience.

[0203] As one possible implementation, this application also provides a professional mode to provide more professional software generation capabilities for capable users.

[0204] Specifically, the professional mode control is displayed in the software generation interface; in response to a trigger operation on the professional mode control, the user is redirected to the professional development interface; and the normal mode control is displayed in the professional development interface.

[0205] The professional development interface and the software generation interface are different interfaces. The professional development interface provides more professional software generation functions, while the ordinary mode control is used to jump to the software generation interface, which provides relatively basic software generation functions.

[0206] See also Figure 4 The core switching entry point for Professional Mode corresponds to control 453, which is the Professional Mode control. When targeting... Figure 4 After the professional mode control 453 executes the trigger operation, it jumps from the software-generated interface 400 to... Figure 16 The professional development interface is 1600.

[0207] See Figure 16 The figure is a schematic diagram of a professional development interface provided in an embodiment of this application. The professional development interface displays more professional software generation functions that can be used, and also has a normal mode control 1610 that can return to normal mode, so that users can quickly switch between normal mode and professional mode.

[0208] In addition, the professional mode uses independent page routing. For example, the professional development interface corresponding to the professional mode and the software generation interface corresponding to the normal mode have different page structures, thus providing a dedicated operating environment while maintaining functional isolation.

[0209] See also Figure 16 The central area features a combination of a lightning bolt (Zap) icon, a title, and a beta (BETA) label, creating a highly recognizable area that highlights the pattern's attributes and experimental characteristics.

[0210] Therefore, this application not only provides two modes, normal mode and professional mode, to realize the software generation function for different user groups, but also provides a control to jump to another functional interface on the corresponding interface, so as to facilitate users to quickly switch between normal mode and professional mode and improve the user experience.

[0211] As one possible implementation, in professional mode, users can create multiple tasks at once, thereby accelerating the generation and modification of the target software.

[0212] Specifically, the project list area and task panel area are displayed in the professional development interface; if a trigger operation is obtained for a third target software among multiple target software and a trigger operation is obtained for a task creation control, one or more created tasks are displayed in the task panel area.

[0213] The project list area displays multiple target software applications created under the current account, while the task panel area includes a task creation control, which is used to create at least one task for the selected target software.

[0214] See also Figure 16 The professional development interface 1600 displays a project list area 1630 and a task panel area 1620. The project list area 1630 displays multiple target software applications created under the current account, corresponding to the four target software applications in Projects 1-4. The task panel area 1620 includes task creation controls. Figure 16 In the task creation control, there are two types: control 1621 (which generally only appears when the current project includes 0 tasks) and control 1622. The task creation control is used to create at least one task for the selected target software. If project 1 is selected as the third target software from the multiple target software displayed in the project list area 1630, and a trigger operation is performed on control 1621 in the task panel area 1620, then one or more tasks created for the third target software will be displayed in the task panel area 1620.

[0215] In other words, the main content area in the professional development interface adopts a left-right split layout. The left side is the project list area, such as a fixed-width project list, which includes multiple projects created under this account (such as a game being referred to as a project). The right side is the task panel area, which has a compact structure and clear information partitioning.

[0216] In addition, Figure 16 In the middle, the project list items uniformly display the project name, number of tasks, badge, and delete button. The current project is highlighted with a cyan border on the left (not shown in the figure), providing intuitive visual guidance; the "New Project" button at the bottom can trigger an input dialog box to quickly expand the workspace.

[0217] See Figure 17 This figure is a schematic diagram illustrating the display of multiple tasks in a task panel area according to an embodiment of this application. Figure 17 In the task panel area 1620, two tasks for project 1 are shown. One task has been completed and has four versions, while the other task is still running.

[0218] Furthermore, the task panel employs a card-based layout, making task information modular and easy to scan. Each task card displays the instruction text (automatically truncated if it exceeds the length limit), a status label (running, paused, pending review, completed), and an operation menu at the top. Status colors and icons work together to convey progress awareness. The main body of the card is a horizontal array of thumbnails representing all worktrees under that task, such as agent branches. Each thumbnail displays the branch name, status icon, and selected status, providing a clear overview of branch progress. For tasks in the completed state, users can click on the thumbnail to select them. Once selected, the corresponding worktree enters the selected state and automatically triggers the task completion process, achieving a closed-loop operation from review to completion. In concurrent mode (i.e., multiple tasks in the same project are executed in parallel), version card groups are arranged horizontally, with each card having a serial number badge (such as Alpha / Beta / Gamma / Delta, etc.). Independent status detection and staggered completion animations are supported, facilitating the visual management of parallel build tasks.

[0219] Therefore, by dividing the professional development interface into a project list area and a task panel area, the structure is compact and the information is clearly divided. Moreover, one or more tasks can be created for a specific target software, thereby accelerating the generation or modification speed of the target software, increasing the flexibility of target software generation, and improving the user experience.

[0220] One possible implementation is to create one or more tasks through natural language description.

[0221] Specifically, in response to a trigger operation targeting a third target software among multiple target software and a trigger operation targeting a task creation control, a task creation sub-interface is displayed in the task panel area. The task creation sub-interface includes a task instruction input area. If a first task creation instruction based on natural language description is entered in the task instruction input area, the first task corresponding to the first task creation instruction is displayed in the task panel area. If a second task creation instruction based on natural language description is entered in the task instruction input area, the second task corresponding to the second task creation instruction is displayed in the task panel area.

[0222] See Figure 18 This figure is a schematic diagram of a task creation sub-interface provided in an embodiment of this application. When a user creates a task for item 1, they can perform a trigger operation on control 1622 after selecting item 1, and then the task creation sub-interface 1630 will be displayed in the task panel area. The task creation sub-interface 1630 includes a task instruction input area 1631, through which the user can input a natural language description to obtain a first task creation instruction, and then the first task corresponding to the first task creation instruction can be displayed in the task panel area. If the user executes the above process again, a second task creation instruction can be obtained, and then the second task corresponding to the second task creation instruction can be displayed in the task panel area.

[0223] Therefore, even in professional mode, users can create tasks for various target software using natural language descriptions. This allows for a more detailed creation process, reducing the difficulty of creation and improving the user experience. Furthermore, multiple tasks can be created consecutively through the task creation sub-interface, enhancing task flow.

[0224] As a possible implementation, in order to improve the rapid iteration of the target software, a parallel-running agent is also provided, that is, the task creation sub-interface also includes a control for setting the number of agents.

[0225] Taking the creation of the first task as an example, specifically, If the first task creation command based on natural language description is entered in the task command input area and the number of agents is obtained through the agent number setting control, then multiple first tasks corresponding to the first task creation command will be displayed in the task panel area.

[0226] The number of first tasks is the same as the number of agents, and each first task completes the first task creation instruction through an agent.

[0227] See also Figure 18The task creation sub-interface 1630 also displays a proxy quantity setting control 1632, and the proxy quantity obtained through the proxy quantity setting control 1632 is 3, meaning that 3 proxies are set for one first task creation command. At this point, when the task starts, 3 first tasks can be created through the first task command. See [link / reference]. Figure 17 The task of "implementing a social system" involved creating three agents. These three agents were all created in response to the first task instruction, meaning they fulfilled the same requirement, but with slight differences in the results. This allowed for the simultaneous generation of multiple versions of the target software, saving time.

[0228] Furthermore, as one possible implementation, the task creation sub-interface can adopt a modal pop-up format, focusing on user input and parameter configuration. This sub-interface includes a command input textarea, supports shortcuts like Shift+Enter for line breaks to improve the experience of editing long texts, and a slider for the number of agents (range 1-4, displayed in real-time), allowing for flexible setting of task size and complexity. Upon confirmation, the system immediately generates a task card and initializes an independent Worktree for each Agent, initially in a running state. Version information is displayed upon automatic completion; the process is fully automated and requires no manual intervention. Clicking the Worktree thumbnail brings up a full-screen WorktreeDialog pop-up, displaying the complete dialogue history and dedicated input boxes for that branch, supporting the sending of supplementary commands to the corresponding Agent to continue and deepen task collaboration.

[0229] Therefore, by adding the agent function, multiple tasks can be generated simultaneously for the same task instruction. Each agent is responsible for the execution process of one task, thereby enabling multiple tasks to be executed in parallel for the same user needs, helping users to quickly release target software and improve user experience.

[0230] As one possible implementation, this application embodiment also provides a method for automatically filling in the required content.

[0231] Specifically, a content fill control is displayed on the software generation interface; in response to a trigger operation on the content fill control, a content fill sub-interface for the first target software is displayed; the content to be filled and an automatically generated control are displayed on the content fill sub-interface; in response to a trigger operation on the automatically generated control, the content required for publishing the first target software is automatically filled into the content to be filled.

[0232] See also Figure 4In the software generation interface 400, the control 456 marked as project settings is the content filling control. When the user performs a trigger operation on the content filling control 456, the content filling sub-interface 1900 for the first target software is displayed in response to the trigger operation on the content filling control.

[0233] See Figure 19 This figure is a schematic diagram of a content-filled sub-interface provided in an embodiment of this application. Figure 19 In the middle, the content filling sub-interface 1900 displays a variety of content to be filled and an automatic generation control corresponding to each content to be filled. Taking the content to be filled 1901 and the automatic generation control 1902 as an example, in response to the trigger operation of the automatic generation control 1902, the content to be filled 1901 is automatically filled with the content required to publish the first target software, such as automatically filling the project name as My RPG Project according to the user's intention.

[0234] Furthermore, as some possible implementation methods, the content-filling sub-interface can adopt a multi-segment form layout, presenting the key configuration items (i.e., the content to be filled in) sequentially as five fields: project name, description, icon, cover image, and preview video, with logical progression and smooth filling. Each field is equipped with AI-generated automatic controls on the right, such as a sparkling icon, which triggers a simulated toast notification when clicked, making intelligent assistance intuitive and usable. Media fields support local upload and instant preview, displaying a thumbnail after upload and providing a red "X" delete button in the upper right corner for quick replacement or removal. The bottom operation bar has cancel and save buttons. When there are unsaved changes in the form, the title bar will remind the user with an amber "Unsaved" label; if unsaved content is detected when closing the pop-up, a secondary confirmation pop-up will be triggered, effectively preventing data loss due to accidental operations.

[0235] Therefore, in the process of filling in the required content for the target software, the embodiments of this application provide an automatically generated control, which can help users fill in content that meets their intentions by means of AI models and other methods, thereby improving filling efficiency and user experience.

[0236] As one possible implementation, for the same target software with multiple versions, this application also provides a version management method.

[0237] Specifically, a release control is displayed on the software generation interface; in response to a trigger operation on the release control, multiple versions of the first target software and their review statuses are displayed; in response to a trigger operation on the target version among the multiple versions, the first target software of the target version is released. The review status of the first target software of the target version is "approved".

[0238] See also Figure 4 In the software generation interface 400, the control 457 marked as "Publish" is the publishing control.

[0239] See Figure 20 This figure is one of the schematic diagrams of a version management sub-interface provided in an embodiment of this application. Figure 20 In the middle, when the user performs a trigger operation on the publishing control 457, the version management sub-interface 2000 can be displayed in response to the trigger operation on the publishing control. The version management sub-interface 2000 includes relevant information about the first target software version, such as the v1.2.0 version of the first target software, its relevant information, whether it has been approved, etc.

[0240] In addition, as one possible implementation, the top of the version management sub-interface is a version selector drop-down menu that lists all versions and labels them with status tags (draft / submitted / approved / rejected / released) to help users quickly locate the target version.

[0241] See Figure 21 This figure is a second schematic diagram of a version management sub-interface provided in an embodiment of this application. The version management sub-interface 2000 displays multiple versions of the first target software and the review status of the multiple versions, so as to release the required version of the first target software based on the review status. In response to a trigger operation for the target version, i.e., version v1.2.0, among the multiple versions, the first target software of the target version is released.

[0242] In addition, as some possible implementation methods, after selecting a version, a details card is displayed below, and the corresponding operation area is dynamically rendered according to the current status: Draft status displays a "Submit for Review" button; Submitted status displays a "Under Review" message; Approved status displays a "Confirm Release" button; Rejected status displays the reason for rejection (red warning box) and a "Resubmit" button; Published status displays a published indicator. After submission for review, the system will return the result, trigger a toast notification, and generate the appropriate type of system notification to ensure that users are informed of the progress in a timely manner.

[0243] See Figure 22 This figure is a schematic diagram of a notification center sub-interface provided in an embodiment of this application. Figure 22In the notification center, a split-screen design is used, with the notification list on the left and the details panel on the right, providing a clear structure and hierarchical information. List items are distinguished by different icons: review notifications use emerald or red icons, while team invitations use cyan icons; unread items are highlighted with a background and marked with a red dot for enhanced visibility. Review notifications display the version number, status, and time; invitation notifications show the inviter's avatar, nickname, project name, and status tag (pending / accepted / rejected). The details panel on the right provides explanatory text and accept / reject buttons for each invitation type; for review notifications, it displays detailed information and includes a quick access point to a publishing pop-up, allowing users to directly access the relevant action from the notification.

[0244] Therefore, before releasing the target software, multiple versions of the target software are provided with their respective review statuses, which helps users quickly select the target version that can be released, thereby improving the release speed and user experience of the target software.

[0245] As one possible implementation, this application embodiment can merge the content filling function and the version management function, and manage them uniformly before release.

[0246] Specifically, a software release control is displayed on the software generation interface, and a software release sub-interface is displayed in response to a trigger operation on the software release control. The software release sub-interface displays the content to be filled in and at least one version of the first target software.

[0247] Furthermore, tags, or even a tag library, for the first target software can be displayed on the software release sub-interface. The tags for the first target software can be obtained through automatic identification of the first target software in this embodiment of the application. These tags have a delete control, allowing users to easily modify them. The tag library includes multiple tags, allowing users to select tags more suitable for the first target software, thus categorizing the first target software on the main interface using tags.

[0248] See Figure 42 This figure is one of the schematic diagrams of a software publishing sub-interface provided in an embodiment of this application. Figure 42 In the software generation interface, a software publishing control 4201 is displayed. In response to a trigger operation on the software publishing control 4201, a software publishing sub-interface 4210 is displayed. The software publishing sub-interface 4210 displays content to be filled in (such as project name, project description, project tags, project icon, cover image, etc.) and at least one version (v1.2.0, etc.) of the first target software. Additionally, tags specific to the first target software can also be displayed on the software publishing sub-interface 4210.

[0249] As one possible approach, the content to be filled in can be automatically generated when displayed on the software release sub-interface.

[0250] Specifically, the software publishing sub-interface displays the content to be filled in and the automatically generated controls; in response to the trigger operation of the automatically generated controls, the content required for publishing the first target software is automatically filled in the content to be filled in.

[0251] As one possible implementation, if the content to be filled in is an image, the two most recently selected images can be displayed so that the user can choose the image they prefer as the project icon.

[0252] See Figure 43 This figure is a second schematic diagram of a software publishing sub-interface provided in an embodiment of this application. Figure 43 The following example illustrates how to use a project icon as the content to be filled in. When a user triggers the automatic generation control 4211 for the project icon, image E can be automatically generated based on the existing image A, and both images E and A can be displayed simultaneously. When the user selects image A as the project icon, the selected icon can be displayed in image A.

[0253] See Figure 44 This figure is an automatically generated schematic diagram provided in an embodiment of this application. Figure 44 The following example uses a cover image as the content to be filled in. When the user triggers the automatic generation control 4212 for the cover image, images F-H can be automatically generated based on the existing images B-D, and images B-D and F-H can be displayed simultaneously. Furthermore, corresponding prompts, such as "AI generation in progress," can be displayed during the automatic generation process. When the user selects images F and G as the cover image, the selected icons can be displayed in images F and G respectively.

[0254] In addition, corresponding input commands can be entered during the automatic generation process, such as... Figure 44 After entering the command "modify to be more cyberpunk", the automatic cover image generation control 4212 will be triggered to generate a cover image that better meets the user's needs.

[0255] As one possible implementation, a submission review control is displayed on the software release sub-interface. In response to a trigger action on this control, a review result sub-interface is displayed. If the review result sub-interface indicates that the first target software version has not passed review, the reason for the failure can also be displayed, allowing users to make targeted modifications and re-release, thus improving release efficiency.

[0256] See also Figure 43The software release sub-interface displays the submission review control 4213. In response to a trigger operation on the submission review control 4213, the review result sub-interface 4510 is displayed, such as... Figure 45 As shown in Figure 4510, the review results sub-interface displays that the first target software version 25 failed the review and the reason for the failure. At this time, the user can make targeted modifications by modifying the information control 4511 and then republish the first target software.

[0257] As one possible implementation, an internal testing control is displayed on the software release sub-interface. In response to a trigger operation on the internal testing control, an internal testing settings sub-interface is displayed. This internal testing settings sub-interface is used to create early access parameters for the first target software.

[0258] See Figure 46 This figure is one of the schematic diagrams of an internal testing settings sub-interface provided in an embodiment of this application. Figure 46 In response to a trigger operation on the internal testing control 4611, the internal testing settings sub-interface 4610 is displayed. Internal testing rooms can be created in the internal testing settings sub-interface 4610. After a user creates an internal testing room, the parameter settings sub-interface 4710 is displayed. Parameters for the internal testing room can be set through the parameter settings sub-interface 4710, such as the validity period of the internal testing room, the maximum number of users in the internal testing room (i.e., the number of users simultaneously online for the target software corresponding to the internal testing room), and testing instructions. Therefore, before the official release of the software developed by the user, it supports the creation of internal testing rooms, which can be shared with other users for internal testing, providing feedback for developers to make modifications.

[0259] As one possible approach, for the same target software, the number of internal testing rooms created, or even the number of internal testing rooms existing simultaneously, can be set. Alternatively, different internal testing rooms can be created for different target software, with different numbers of rooms set.

[0260] Continue with Figure 46 For example, in this embodiment, only one internal testing room can be set up for the first target software. However, multiple internal testing rooms can be set up for the first target software at the same time, meaning that the existence time of multiple internal testing rooms does not overlap. Figure 48 As shown, there is currently one beta room in use, and two other beta rooms that expired at other times (i.e., beta rooms that have exceeded their validity period).

[0261] As one possible implementation, the beta testing rooms could be terminated early if they are still within their validity period, such as for... Figure 48 After the end control 4612 in the middle executes the trigger operation, the internal test room becomes invalid. As one possible implementation, this application embodiment also provides a function to allow other users to experience user-generated target software.

[0262] Specifically, the main interface displays the number of generated software programs and a selection of software programs; in response to a trigger operation targeting the fifth target software program, the user is redirected to the software interface corresponding to the fifth target software program.

[0263] The software generation interface is a jump from the main interface. For example, after a user (whether they want to experience the software or generate the software) opens the tool provided in this embodiment, they can first enter the main interface. Then, users who want to experience the software can find the software they want to experience on the main interface, while users who want to generate the software can enter the software generation interface, professional mode interface, etc. from the main interface.

[0264] See Figure 23 This figure is a schematic diagram of a main interface provided in an embodiment of this application. Figure 23 The main interface 2300 is displayed, showing the number of generated software programs (52050) and some software programs, such as AI_party_brawl1 (more can be displayed by scrolling down). If a user selects one of the software programs to experience, they can be redirected to the software interface corresponding to the fifth target software to experience it.

[0265] In addition, it can display not only the total number of software programs generated, but also the number of software programs generated today, thereby helping users better understand the tools provided in the embodiments of this application and increasing user interest.

[0266] Therefore, by displaying the total number of software in real time on the main interface and providing a recommended display of some software, users can experience target software generated by others through natural language descriptions. The target software they can experience will be more novel, increasing user time and retention rate.

[0267] As one possible implementation, this application embodiment also provides a method of directly guiding users to create content on the main page.

[0268] Specifically, the main interface displays an input area for enabling the creation control and the first software generation command; in response to entering the first software generation command in the input area and performing a trigger operation for enabling the creation control, the user is redirected to the software generation interface.

[0269] As one possible implementation, the first software generation instruction can also be displayed in the dialog area of ​​the software generation interface.

[0270] See Figure 40 This figure is a schematic diagram of an input area provided in an embodiment of this application. Figure 40The main interface 2300 is displayed, and within the main interface 2300, an input area 4002 for enabling the creation control 4001 and generating the first software command is displayed. Furthermore, the input area 4002 also displays usage tips, indicating that users can create games with zero skill requirements by entering any text! When the user enters the first software command in the input area 4002, in response to the input of the first software command in the input area 4002 and the triggering operation of enabling the creation control 4001, the user is redirected to the software generation interface, and the first software generation command is directly displayed in the dialog area 410. Figure 41 As shown.

[0271] Therefore, by directly guiding users to create software on the main interface, the features of the function are not only introduced in an intuitive and simple way, but also the user operation is reduced and the user experience is improved.

[0272] As one possible implementation, this application embodiment also provides a wish-granting function to help users collect inspiration for releasing target software.

[0273] Specifically, a wish control is displayed on the main interface; in response to a trigger operation on the wish control, an inspiration exploration sub-interface is displayed on the main interface; multiple ideas for generating the fourth target software are displayed in the preference determination area; in response to a selection operation on at least one target idea among the multiple ideas, a software prototype generated based on at least one target idea is displayed in the software prototype display area; and the fourth target software is generated based on at least one target idea.

[0274] The Inspiration Exploration sub-interface includes a preference determination area and a software prototype display area. The preference determination area can display multiple ideas, or it can be revealed through multiple swipes; for example, each swipe reveals a different idea. The target idea is the one selected by the user.

[0275] See Figure 24 This figure is a schematic diagram of a wish control provided in an embodiment of this application. Figure 24 In the main interface 2300, the wish control 2310 is displayed.

[0276] Furthermore, as one possible implementation method, the Wish Control serves as the core entry point for intelligent recommendation and creation, permanently residing in the lower right corner of the page as a floating component. This aims to address the pain point of users lacking play goals or creative inspiration. The Wish Control features a dynamic status feedback mechanism: a red warning is displayed when the network fluctuates, and it turns to a green checkmark after background calculations are completed, along with a bubble indicating the number of games ready.

[0277] See Figure 25This figure is one of the schematic diagrams of an inspiration exploration sub-interface provided in an embodiment of this application. Figure 25 In response to a trigger operation on the wish control 2310, the inspiration exploration sub-interface 2500 is displayed on the main interface 2300; various ideas for generating the fourth target software are displayed in the preference determination area 2510, such as allowing the user to select their desired idea in a question-and-answer format, or selecting the Chinese style tag from style tags. In response to a selection operation on at least one target idea among the various ideas, a software prototype generated based on at least one target idea is displayed in the software prototype display area 2520. Figure 25 (The character image based on the Chinese style is not shown yet, i.e., the character image in the game that is to be generated); generate a fourth target software based on at least one target idea content.

[0278] In addition, as one possible approach, clicking the entry point could trigger a full-screen immersive modal pop-up, namely the Inspiration Exploration sub-interface. The Inspiration Exploration sub-interface uses a left-right split-screen wizard layout. The left side is a visual feedback area, displaying a prototype of the software, using an "image to be filled" to metaphorically represent the progress of inspiration collection, changing in real time with user actions; the right side is a structured tag selection area, where preferences are confirmed.

[0279] Therefore, by providing a wish control on the main interface, it not only addresses the issue of providing or generating software for users who lack gameplay goals or creative inspiration, helping them quickly obtain the inspiration they desire and thus improving the user experience, but also allows for the real-time display of the character images corresponding to the currently collected inspirations during the inspiration collection process. This helps users clarify their potential needs in advance, further enhancing the user experience.

[0280] Moreover, the progressive interaction paradigm that combines structured tag filtering with AI dialogue helps users gradually condense vague inspirations into structured design solutions that include core gameplay and operation methods, effectively bridging the cognitive gap between creative ideas and engineering implementation.

[0281] As one possible approach, after collecting users' inspirations, users can further modify them using natural language.

[0282] Specifically, the Inspiration Exploration sub-interface displays the generated results for at least one target idea; if a fifth software generation instruction based on natural language description is obtained, the generated results for the fifth software generation instruction are displayed.

[0283] The fifth software generation instruction is used to modify the fourth target software. It should be noted that the fourth target software can be either already generated target software or target software awaiting generation. For example, it could be just an instruction to generate target software, which is then subsequently combined with the fifth software generation instruction to generate the corresponding target software.

[0284] See Figure 26 This figure is a second schematic diagram of an inspiration exploration sub-interface provided in an embodiment of this application. Figure 26 In the Inspiration Exploration sub-interface 2500, the generated results 2530 for 10 target ideas are displayed; if a fifth software generation instruction 2540 based on natural language description is obtained, the generated results for the fifth software generation instruction can be displayed in the Inspiration Exploration sub-interface. Figure 26 (Not shown in the image).

[0285] The final "Inspiration Exploration" stage integrates AI natural language interaction, transforming into a conversational UI on the right side, allowing users to further describe their specific ideas through text input. Based on tags and text input, the system will generate structured design scheme cards containing core gameplay and operation methods in real time. After confirming the information, users can click "Get Results" to jump to a precisely matched list of games or directly generate a game prototype.

[0286] Therefore, after generating a potentially desired fourth target software based on the wish control, the fourth target software can be modified through a fifth software generation command described in natural language. This is not only convenient and fast, but also further increases the probability that the generated target software meets the user's needs.

[0287] One possible approach is to break down the idea into multiple dimensions and display them separately.

[0288] Specifically, multiple ideas belonging to the first dimension are displayed in the preference determination area; in response to a trigger operation for the first target idea, multiple ideas belonging to the second dimension are displayed in the preference determination area, and a software prototype generated based on the first target idea is displayed in the software prototype display area; in response to a trigger operation for the second target idea, a software prototype generated based on the first target idea and the second target idea is displayed in the software prototype display area.

[0289] The first target idea content is at least one target idea content among multiple idea contents belonging to the first dimension. The first dimension and the second dimension are different dimensions. The second target idea content is at least one target idea content among multiple idea contents belonging to the second dimension.

[0290] See also Figure 25Multiple ideas can be filtered using multiple dimensions (such as style, perspective, etc.). Figure 25 The platform is divided into seven dimensions, and the ideas in each dimension can be switched between single-selection and multi-selection modes, such as... Figure 25 Style tags currently support single-selection mode.

[0291] In addition, see [link to relevant documentation] as some possible implementations. Figure 25 The Inspiration Exploration sub-interface features page number indicators and progress dots at the top and bottom, clearly informing users of their current stage and providing a smooth "previous / next" navigation switch.

[0292] Therefore, by refining various ideas into multiple dimensions and displaying the ideas under each dimension, users can better understand their potential needs through more systematic and orderly ideas. This can also help users quickly generate inspiration, improve the efficiency of target software generation, or speed up the process of finding the software they want to experience.

[0293] As one possible approach, after selecting all the target ideas, the selected ideas can be modified.

[0294] Specifically, the first target idea content and the second target idea content are displayed in the Inspiration Exploration sub-interface; in response to a trigger operation on the first target idea content, multiple idea contents belonging to the first dimension are displayed in the Preference Determination area; in response to a trigger operation on the third target idea content, a software prototype generated based on the third target idea content and the second target idea content is displayed in the Software Prototype Display area, and the third target idea content and the second target idea content are displayed in the Inspiration Exploration sub-interface.

[0295] The third target idea content is at least one of the multiple idea contents belonging to the first dimension, and is not completely the same as the first target idea content.

[0296] See also Figure 26 The Inspiration Exploration sub-interface 2500 displays 10 target ideas, including the first target idea "Chinese Style" and the second target idea B. In response to a trigger action on the first target idea "Chinese Style," the user is redirected back to the preference determination area 2510 where the first target idea is located. Figure 25As shown, multiple ideas belonging to the first dimension are displayed in the preference determination area 2510. By re-displaying multiple ideas belonging to the first dimension, users can make a new selection. In response to the trigger operation of "realistic" third target idea content, i.e., after the first target idea content is modified to the third target idea content, a software prototype (such as a new character image) generated based on the third target idea content and other unmodified target ideas can be displayed in the software prototype display area 2520. The third target idea content and the second target idea content are also displayed in the inspiration exploration sub-interface, i.e., the update of multiple target idea contents is realized.

[0297] Therefore, after selecting multiple target ideas, the Inspiration Exploration sub-interface can display the multiple target ideas accumulated by the user in the previous steps (such as the selected full tags) to support the retrospective modification function, that is, to modify one or more selected target ideas, thereby generating new target software based on new inspiration and improving the user experience.

[0298] One possible implementation is to display a wish control and a guide text area for the wish control on the main interface while it remains displayed. The guide text area is used to guide the user to trigger the wish control, such as introducing the function of the wish control. The wish control is also displayed on the main interface while it is scrolling.

[0299] Therefore, during the display of the wish control on the main interface, the interaction follows the principle of visual avoidance. When the user scrolls down to browse the main interface, the guide text area of ​​the wish control will automatically collapse, leaving only the wish control (such as the core icon of the wish control), minimizing the obstruction of the content of the main interface.

[0300] After introducing the visualization side of the embodiment of this application that can generate the desired target software based on natural language description, the following description will be given from the back-end side.

[0301] Before introducing a software generation method provided by the embodiments of this application from the back-end perspective, the overall architecture of the software generation method will be explained first.

[0302] See Figure 27 This figure is a schematic diagram of the overall architecture of a software generation method provided in an embodiment of this application. Figure 27 In this context, the overall architecture of the software generation method corresponds to an AI-driven software development engine system, which aims to achieve automated software creation, editing, and real-time preview through natural language interaction.

[0303] The system comprises four layers: a browser front-end platform, a back-end service layer, a runtime environment layer, and a software project layer. These four layers employ a layered and decoupled software architecture, organically integrating front-end interaction, back-end services, the runtime environment, and the game project. This allows users to manage the entire lifecycle of a software project through natural language descriptions without needing professional programming skills. In other words, users can issue software generation commands via natural language descriptions and obtain the target software that satisfies those commands without needing to understand the underlying implementation.

[0304] The four levels will be explained below.

[0305] (1) The browser front-end platform, as a standard single-page application, includes three core views: lobby, editor, and full-screen software. Among them, the lobby view is responsible for displaying the project list (as mentioned above) and creating and managing functions (such as entering the software generation interface). The editor view integrates three panels: file tree browsing (such as multiple sub-files displayed in the project file sub-interface), game preview window (such as the software preview area mentioned above), and AI terminal (such as the dialogue area shown above), which is the main interface for user interaction with the system. The full-screen game view provides an immersive running environment through an embedded frame (iframe) embedding method, such as popping up a sub-interface in the game preview window to display the running process of the target software.

[0306] (2) The backend service layer undertakes the core scheduling and orchestration responsibilities of the system. It can be built based on the Go language and organize its internal modules around four types of responsibilities: project lifecycle management, runtime process scheduling (such as starting and stopping processes like Vite / Docker), AI agent access, and request routing and proxy. The Playground Registry and Vite StandaloneManager work together to maintain project metadata and control the start and stop of development servers. For example, the Playground Registry records which software projects are involved, and the Vite StandaloneManager is responsible for starting or stopping the software development servers. The SandboxManager and PTYManager provide isolated container environments and bidirectional terminal channels for the AI ​​assistant. The SandboxManager creates a Docker container for each AI assistant, and the PTYManager establishes a bidirectional pipeline between this Docker container and the user's web terminal, allowing the user to chat with the AI ​​assistant. The Agent Executor and LLM Tools constitute the routing and execution chain for tool calls. When the Agent Executor receives a tool call request from an AI assistant, it finds the corresponding LLM Tools, such as editing files or searching for code to execute, thus completing the secure routing and execution of the agent's tool calls. The GinHTTP Router and Reverse Proxy module provide the infrastructure functions for request distribution and traffic forwarding. For example, the GinHTTP Router is responsible for routing different URLs... Requests are assigned to the corresponding processing functions. Reverse proxy modules, such as vite / sandbox proxy, are responsible for transparently transferring access requests to the software to the Vite development server.

[0307] (3) The runtime environment layer contains two types of independent service processes. Each project has an independent process, and each project corresponds to a Vite Dev Server instance. The module hot-swap mechanism enables code changes to take effect immediately (i.e., the effect of code changes is immediately visible without refreshing the page); each project can optionally be equipped with a Docker sandbox container to isolate the environment and provide an isolated code execution environment for the AI ​​agent (AI writing code in it will not damage the data on the user's computer device). Both the Vite Dev Server and the Docker sandbox container in the runtime environment layer are managed objects, and their lifecycle orchestration logic is reflected in the corresponding management module of the backend service layer.

[0308] (4) The software project layer includes the underlying software projects (Playground) used to support the operation of the software. As one possible implementation, taking the user downloading the first target software they created as an example, the user can download the software files of the first target software, and the file format of the software files of the first target software is a general format. That is to say, each software project is an independent and complete Vite and TypeScript project, which can be built and released independently even without this platform. That is, the software (such as games) created is a standard front-end project, and even if it leaves this platform, it can be packaged and released by running npm run build. There is no locked dependency on a specific runtime environment, and the creator has complete technical sovereignty over their work. The portability and long-term value of game assets are thus guaranteed.

[0309] Furthermore, this system supports both 2D and 3D game types, built on the Phaser / PixiJS framework and the Three.js engine respectively. All three templates share a unified project structure and communicate with the upper-level interface through a platform bridging module using standardized message exchange. In other words, the Giallo system has three game templates—Phaser (2D), PixiJS (2D), and Three.js (3D)—with identical structures, all communicating with the web interface through a module called PlatformBridge.

[0310] See Figure 28 This figure is a schematic flowchart of a software generation method provided in an embodiment of this application. For ease of description, the following embodiments use a computer device (i.e., the aforementioned) as the executing entity of the software generation method. Figure 27 Taking the device where the middle and back-end service layers are located as an example, this computer device is such as the terminal device or server described above. Figure 28 As shown, the software generation method includes S2801-S2804.

[0311] S2801: Receive the development server startup request from the front end.

[0312] The backend service layer obtains data from the frontend, i.e. Figure 27 The development server startup request sent by the browser front-end platform described herein is used to start the first target software.

[0313] For example, after a user interacts with an AI assistant and generates the first target software through the first software generation instruction, the user can run the first target software through the running control, thereby allowing the browser front-end platform to send a development server startup request to the back-end service layer.

[0314] Upon detecting the ready flag string, the project status is marked as running. The frontend detects this change by periodically polling the status interface, and after confirming that it is ready, creates an iframe element whose source address points to the backend's reverse proxy path.

[0315] S2802: If the development server is detected to be in a running state, an initial interface for running the first target software is created through the front end.

[0316] After receiving the development server startup request, the backend service layer can execute the Vite server (i.e., development server) startup command in the form of a child process and continuously monitor the Vite server's standard output.

[0317] In this embodiment of the application, eight states are set for the Vite server, so that the Vite server can run autonomously. When the Vite server is detected to be in one of the states, namely the running state, it means that the Vite server is ready and can start running the first target software. Then, the corresponding instructions can be sent to the front end so that the front end can create an initial interface for running the first target software.

[0318] S2803: Obtain the page resources required to run the first target software.

[0319] The initial interface created above does not yet contain any elements (i.e., page resources) related to the first target software. It needs to add some elements related to the first target software to achieve the effect of running the first target software.

[0320] The backend service layer can request relevant page resources, such as compiled and modularized HTML, JavaScript, and CSS resources, from the Vite server in the runtime environment layer.

[0321] S2804: Send page resources to the initial interface so that the first target software can be run on the software generation interface.

[0322] Page resources are sent to the initial interface to display the running process of the first target software in the software running interface. The software running interface can be a sub-interface displayed through the aforementioned software-generated interface; that is, the software-generated interface is generated based on the initial interface and the page resources.

[0323] Therefore, this application deeply embeds intelligent agents driven by large language models into the entire software development process, enabling users to describe their creative intentions in natural language, and the system can automatically complete code generation, resource orchestration, and project construction, fundamentally changing the rigid dependence of software creation on professional programming skills.

[0324] In terms of real-time experience, each game project corresponds to an independent Vite development server instance. Any modifications made to the source code by the AI ​​agent can be instantly reflected in the game preview screen through the module hot-swap mechanism, without the need for manual refresh or recompilation. This capability creates a tight closed loop of "AI coding - real-time preview - user feedback - iterative optimization", compressing the fragmented process of repeatedly switching between writing, building, and verifying in traditional game development into a coherent and smooth single workflow.

[0325] The system adopts a layered and decoupled software architecture, comprising four layers: front-end interaction, back-end scheduling, runtime environment, and game engineering. Each layer has clear responsibilities and can evolve independently. This layered collaboration avoids the efficiency loss of a single protocol in heterogeneous scenarios while maintaining the overall simplicity and maintainability of the architecture.

[0326] To facilitate a further understanding of the technical solutions provided in the embodiments of this application, the software generation method provided in the embodiments of this application will be described in its entirety as an example below.

[0327] See Figure 29 This figure is a schematic diagram of a game preview process provided in an embodiment of this application. Figure 29 The following example illustrates the process of playing a game.

[0328] Game preview is a key process in this system that enables an instantly visible development experience. For example... Figure 29 As shown, the process involves the collaborative interaction of five parties: the user, the browser front-end platform (hereinafter referred to as the front-end), the back-end service layer (hereinafter referred to as the back-end), the Vite development server, and the game iframe. It covers four stages: server startup (i.e., starting the Vite server), resource loading (i.e., loading game resources), state synchronization (i.e., exchanging states during runtime), and service shutdown.

[0329] After the user enters the editor view, the front end first requests the file tree data of the project corresponding to the first target software from the back end (such as through the code GET / api / playgrounds / :name / files) to render the file browsing panel (that is, to get the multiple sub-files displayed in the project file sub-interface).

[0330] When the user clicks the run control, the frontend sends a start request to the development server (e.g., via POST / api / standalone / :name / dev / start). The backend executes the Vite start command as a child process and continuously monitors its standard output. Upon detecting a ready flag string (e.g., stdout: "ready in 300ms"), the project status is marked as running. The frontend detects this change by periodically polling the status interface (e.g., via GET / api / standalone / :name / status). After confirming readiness, the frontend creates an iframe element whose source address points to the backend's reverse proxy path (e.g., via iframe src=" / dev / :name").

[0331] The browser's resource requests to the game's iframe are forwarded to Vite via a reverse proxy module. Vite returns compiled and modularized HTML, JavaScript, and CSS resources (i.e., page resources). After the game code loads within the iframe, it initializes the engine and loads the main scene through the entry file (e.g., using `postMessage {type: 'ready'}`). It then sends a ready signal to the parent window via cross-document messaging. Upon receiving this signal, the frontend hides the loading mask and officially displays the game screen. During runtime, the game instance continuously reports metrics such as frame rate, logical frame count, and scene object count through the same message channel (e.g., using `postMessage {type: 'stateChange',{fps:60,tick:N,objectCount:M}}`). The frontend updates the statistics panel in real time based on this information. Users can also issue pause, reset, and other control commands to the game through this channel.

[0332] When a user stops previewing, the backend sequentially sends an interrupt signal (e.g., via `postMessage{type: 'pause'}`) and a forced termination signal (e.g., via `POST / api / standalone / :name / dev / stop`) to the Vite child process to complete the cleanup, and the frontend simultaneously clears the iframe. Furthermore, when the AI ​​agent modifies the source code in the sandbox, Vite's file detection mechanism automatically detects the changes and pushes incremental updates to the game instance running within the iframe via the module hot-swap protocol. This allows changes to take effect immediately without refreshing the page, thus forming a highly efficient iterative closed loop between AI coding and real-time user observation.

[0333] The following sections will explain the Vite process manager, Docker sandbox manager, pseudo-terminal session manager, agent executor, and LLM toolset respectively.

[0334] (1) Vite process manager.

[0335] The Vite process management module (i.e., Vite Process Manager) controls the lifecycle of the development server to enable real-time game preview. The Vite process management module is the core component for real-time game preview, employing a finite state machine model with eight states to manage the complete lifecycle of each game project's development server. Its state transitions and exception recovery paths are as follows: Figure 30 As shown.

[0336] Specifically, after the installation file is successfully installed through the sandbox container corresponding to the first target software, the development server's status changes from the installation state to the startup state. The development server corresponding to the first target software is started according to the development server startup request, and the development server's status changes from startup to running. If the dependency files corresponding to the installation file are installed through the development server corresponding to the first target software, the status of the development server changes from running to building. If the development server corresponding to the first target software is stopped during the process of starting the development server according to the development server startup request, the status of the development server changes from running to stopped. If the state transition of the development server corresponding to the first target software fails, then the state of all development servers corresponding to the first target software will change to an error state.

[0337] If the development server corresponding to the first target software is in a stopped or error state, then the development server corresponding to the first target software can be restarted.

[0338] See Figure 30 This figure is a schematic diagram of a state transition provided in an embodiment of this application. Figure 30 In Vite, the process manager automatically switches between eight states to enable real-time game preview. When a project is created, the system copies the project files from the game template directory and injects the project name and port configuration using placeholders. Then, it asynchronously executes dependency installation, with the state transitioning sequentially from "Pending Creation" to "Installing" to "Ready." In other words, when creating a new project, the system copies the template, replaces `{{name}}` and `{{DEV_PORT}}` with actual values, and then runs `npm install`, changing the state from "Pending Creation" to "Ready." Installation in progress Ready state. When the development server starts, it enters the startup phase. The system checks the ready flag in the standard output of the child process to determine that startup is complete and then transitions to the running state. In other words, when starting the Vite server, the system checks the Vite output logs. Once it sees text like "ready in 300ms," it knows that startup is complete and the state changes to running. The frontend detects this change by polling the state interface and can then load the game preview. Once it receives the running state, it creates an iframe to load the game screen. Both stopped and abnormal states support restarting to ensure service recoverability.

[0339] Therefore, the Vite process management module uses a finite state machine model with eight states to precisely manage the lifecycle of the development server. It can even be combined with an automatic incrementing base port strategy. Both stopped and abnormal states can be restarted to ensure service recoverability. This ensures that instances do not interfere with each other and that their states can be recovered when multiple projects are developed in parallel, providing robust underlying support for the above real-time experience.

[0340] As one possible implementation, if a development server corresponding to the first target software is created, a first port is created for the development server corresponding to the first target software; if a development server corresponding to the fifth target software is created, a second port is created for the development server corresponding to the fifth target software; wherein, the fifth target software is the target software created after the first target software, and the port value of the second port is greater than the port value of the first port.

[0341] In other words, when creating development servers for different target software, different ports can be assigned to them. This can even be done by incrementing the port number, meaning the port value created later is greater than the port value created earlier. For example, the first target software might be set to port 5173, the second to port 5174, the third to port 5175, and so on. This way, multiple software programs can run simultaneously without conflict.

[0342] Therefore, the port allocation adopts a base port auto-increment strategy, assigning an independent detection port to each project to avoid port conflicts when multiple projects are developed in parallel.

[0343] (2) Docker Sandbox Manager.

[0344] The Docker Sandbox Management module (i.e., Docker Sandbox Manager) provides an isolated runtime environment for AI agents.

[0345] Specifically, a development server corresponding to the first target software is created based on the development server startup request; the installation file of the first target software is obtained through the development server corresponding to the first target software; a sandbox container corresponding to the first target software is created; and the installation file is installed through the sandbox container corresponding to the first target software.

[0346] The installation file for the first target software is used to install the first target software. Different target software corresponds to different development servers; that is, a corresponding development server is created for each target software. At this time, the development server is in the "pending creation" state. Different target software corresponds to different sandbox containers; that is, a sandbox container is configured for each target software. At this time, the development server's status changes from "pending creation" to "installing".

[0347] In other words, the Docker sandbox management module provides an isolated containerized AI agent runtime environment for each target software. The container starts based on a pre-built dedicated image, and includes a built-in Node.js runtime, various AI coding assistant command-line tools (such as Claude Code and Gemini CLI), and necessary system toolchains. All processes execute as a dedicated user without root privileges. In other words, this Docker container is pre-built and already contains AI tools such as Node.js, ClaudeCode, and Gemini CLI. Furthermore, it doesn't grant root privileges; instead, it uses a regular user named `vag` to prevent data corruption.

[0348] Therefore, a development server is configured for each target software, enabling code changes to take effect instantly through the hot-swap mechanism of the development server, allowing software updates to be implemented without requiring users to refresh the webpage. Furthermore, a sandbox container can be optionally configured for each target software, providing an isolated code execution environment for the AI ​​agent interacting with the user, preventing data loss and improving the user experience. In addition, the status of the development server can be updated in real time during the configuration of the development server and sandbox container, allowing for precise management of the development server's lifecycle.

[0349] As one possible implementation, resource constraints can be obtained during the creation of the sandbox container to create a sandbox container corresponding to the first target software based on these constraints. These resource constraints are used to set an upper limit on the resources used by the sandbox container corresponding to the first target software, thereby preventing [further issues].

[0350] For example, resource limits can be imposed on Docker containers, such as a maximum of 1GB of memory, 2 CPU cores, and a maximum of 200 processes, to prevent AI assistants from consuming all the resources of the entire computer device.

[0351] The embodiments of this application do not specifically limit the resource constraints. All sandbox containers can use the same resource constraints, or different sandbox containers corresponding to different target software can use different resource constraints, thereby achieving personalized management, etc.

[0352] Therefore, after creating a sandbox container and setting resource limits for it, strict resource quota constraints can be imposed when running the sandbox container, such as memory limits, CPU core limits, and maximum process limits, to prevent the AI ​​assistant from consuming all the resources of the entire computer device, reduce the probability of computer device lag, and increase the number of software services available on the computer device.

[0353] As one possible implementation, software project directories, such as game project directories, are mounted to the container workspace in read-write mode, while the system SDK directory is mounted in read-only mode. In other words, the AI ​​assistant can read and write its own game project folder, but the system core files are read-only and cannot be modified, in order to prevent the core files from being tampered with.

[0354] As one possible implementation, the Docker sandbox management module also implements a container state recovery mechanism. Specifically, when the backend service restarts, it automatically restores the management state by scanning existing containers carrying specific tags. In other words, if the backend crashes and restarts, it will automatically scan for surviving Docker containers and "reclaim" them, without having to start all over again, thus ensuring service continuity.

[0355] (3) Pseudo-terminal session manager.

[0356] The pseudo-terminal management module (i.e., pseudo-terminal session manager) establishes a two-way interaction channel between the user and the AI ​​agent (i.e., AI assistant).

[0357] Specifically, 1) Obtain the first software generation instruction from the front end through a bidirectional communication protocol; send the generation result for the first software generation instruction to the front end through a bidirectional communication protocol.

[0358] 2) Obtain the development server startup request from the front end through the presentation layer state transition application programming interface; interact with the development server corresponding to the first target software through the presentation layer state transition application programming interface, and interact with the sandbox container corresponding to the first target software through the presentation layer state transition application programming interface.

[0359] 3) Data interaction between different interfaces in the front end is achieved through cross-document messaging.

[0360] WebSocket, a bidirectional communication protocol, is a protocol that establishes a long-lived connection between a client and a server, enabling low-latency, high-efficiency bidirectional data transmission. It can be compared to making a phone call, allowing for a continuous, real-time conversation. This bidirectional communication protocol enables the transmission of interactive messages between the AI ​​agent and the user. For example, the front end uses the bidirectional communication protocol to send a first software generation command to the back end. After receiving the generation result in response to the first software generation command, the back end sends the generation result back to the front end via the bidirectional communication protocol. The system uses long-lived communication based on the WebSocket protocol, carrying two functionally independent full-duplex channels, ensuring high speed and stability.

[0361] The Representational State Transfer (REST) ​​API is a lightweight software architecture style based on the HTTP protocol used to transfer data between clients and servers. It utilizes HTTP methods (such as GET, POST, PUT, DELETE) for unified CRUD operations on resources, featuring statelessness, caching, and interface consistency, making it the most commonly used interface design pattern in Web service development. It can be compared to sending a text message, a question-and-answer process (creating a project, checking its status, etc.). Thus, the frontend can send a development server start request to the backend via the REST API, the backend interacts with the development server corresponding to the target software via the REST API, and the backend interacts with the sandbox container corresponding to the target software via the REST API. Creating a project, deleting a project, and checking its status all use the REST API, ensuring that each request is independent and unaffected, and the result is the same regardless of how many times it is called.

[0362] Cross-document messaging (postMessage) is a standard method provided in HTML5 for communication between different windows. It allows a sender to send a message to a receiver and restricts the window receiving the message to specific windows based on the target source. This can be compared to shouting in the same room, where a webpage and software within an iframe communicate with each other (e.g., controlling a game to pause or play), thus enabling data interaction between different interfaces on the front end.

[0363] See Figure 31 This figure is a schematic diagram of a communication architecture provided in an embodiment of this application. The communication link is described below using Tables 1 and 2.

[0364] Table 1

[0365] Table 2

[0366] exist Figure 31In the framework, the page UI consists of interactive components such as the project list, editor interface, and status panel; the xterm.js terminal is a terminal emulator embedded in the browser for interacting with the AI ​​agent; and the software iframe is an embedded iframe that runs the actual software instance.

[0367] In other words, in Figure 31 In this architecture, a layered communication structure is built using three protocols: REST, WebSocket, and postMessage. The front-end UI, the xterm.js terminal, and the software iframe are the three main communication entities that interact with their corresponding back-end endpoints via these protocols. These are explained in detail below.

[0368] 1) At the project management and resource distribution level, the system adopts RESTful API communication based on the HTTP protocol. The page UI initiates operations such as project creation, querying, deletion, and development server startup / shutdown to the backend through a standard request-response pattern; the backend also performs lifecycle management of the Vite development server and Docker sandbox container through the same mechanism. Resource requests from game iframes are transparently forwarded to the corresponding Vite instance via a reverse proxy endpoint to obtain compiled frontend resources. This protocol operates in a stateless mode, ensuring the idempotency and reliability of management operations.

[0369] 2) At the terminal interaction and status broadcasting level, the system adopts long-connection communication based on the WebSocket protocol, carrying two functionally independent full-duplex channels. The first is the online status broadcasting channel, through which the backend pushes online user counts to all connected clients in real time. The second is the pseudo-terminal data channel, through which the terminal simulator and the backend pseudo-terminal management module transmit terminal input / output data streams. The backend then establishes a bidirectional connection with the AI ​​agent process within the sandbox using container execution. This channel carries three types of messages: output push, input transmission, and window size synchronization. Its full-duplex characteristic meets the real-time requirements of terminal interaction.

[0370] 3) At the game runtime state synchronization level, the system adopts cross-document message communication based on the postMessage interface. The game instance within the iframe exchanges messages with its parent window through this interface: the platform sends control commands such as play, pause, and reset to the game, and the game reports its readiness status and runtime metrics such as frame rate, logical frame count, and number of scene objects to the platform. This communication is completed directly within the browser process, without the need for backend relay, resulting in extremely low latency.

[0371] The three protocols each perform their respective functions and work together to form the complete communication infrastructure of this system.

[0372] Furthermore, the pseudo-terminal management module establishes a bidirectional real-time data channel between the containerized runtime environment and the front-end terminal simulator. The system pre-configures startup command mapping tables for various AI agent types. When a session is created, the corresponding command is retrieved according to the specified type, and the agent process is started within the target container as a non-privileged user. Data forwarding adopts an asynchronous dual-channel architecture: the output direction involves an independent coroutine continuously reading pseudo-terminal data and pushing it to the WebSocket client; the input direction routes user operation events from the front end to the corresponding pseudo-terminal interface. Before establishing a connection, the module automatically detects the container's running status; if it has stopped, a restart is triggered to ensure availability. When a session terminates, a gradual process reclamation strategy is adopted, first sending an interrupt signal, waiting for a grace period, and then forcibly terminating the session, ensuring that resources are released in a timely manner in all scenarios.

[0373] Therefore, REST, WebSocket, and postMessage protocols are organically linked, with clear responsibilities at each layer and the ability to evolve independently. Each protocol performs its specific function based on the differentiated needs of the communication scenario: the RESTful API, in a stateless mode, handles project management operations, ensuring idempotency and reliability; the WebSocket long connection carries a pseudo-terminal data channel and online status broadcast, meeting the full-duplex and real-time requirements of terminal interaction; and the postMessage interface directly handles command issuance and metric reporting between the game instance and the platform within the browser process, without requiring backend relay, resulting in extremely low latency. Furthermore, the backend is the sole entry point; the ports of Vite and Docker are not directly exposed to the frontend, and all requests are uniformly routed and forwarded through the backend, reflecting the network isolation layer of the security model. In addition, communication between the frontend iframe and the UI is purely within the browser, without going through the backend, resulting in extremely low latency, suitable for real-time synchronization of high-frequency metrics such as frame rate.

[0374] (4) Intelligent agent actuators and LLM toolsets.

[0375] The tool execution orchestration module (i.e., the agent executor and LLM toolset) serves as a scheduling intermediary layer between the AI ​​agent and the file system, routing the agent's tool call requests to the corresponding processing functions and carrying three types of tool capabilities: editing, reading, and searching.

[0376] Specifically, the first software generation instruction from the front end is obtained; the calling tools required to complete the first software generation instruction and the calling order of the calling tools are determined according to the first software generation instruction; the calling tools are called according to the calling tools required to complete the first software generation instruction and the calling order of the calling tools, so as to obtain the first target software corresponding to the first software generation instruction.

[0377] For example, when the first software generation instruction sent by the AI ​​agent through the front end is "I want to edit a file" or "I want to search for a piece of code", the tool execution orchestration module determines the calling tools required to complete the first software generation instruction and the calling order of the calling tools, and is responsible for handing over the instruction to the correct tool function (i.e. calling tool) for execution according to the calling order.

[0378] Therefore, by using the intelligent agent executor and LLM toolset, the software generation instructions can be broken down, and the calling tools required to execute each breakdown and the calling order among multiple calling tools can be determined. Thus, by calling multiple calling tools, the target software corresponding to the software generation instructions can be generated. This helps users generate the corresponding target software from software generation instructions described in natural language, which is convenient, fast, and provides a high level of user experience.

[0379] As one possible implementation, the use of the calling tool may involve modification of the target software file. To ensure data security, verification can be performed through at least one verification method.

[0380] Specifically, based on the calling tools required for the first software generation instruction and the calling order corresponding to the calling tools, the calling tools are used to modify the target software file to obtain the first target software corresponding to the first software generation instruction; before using the calling tools to modify the target software file, a security verification is performed on the operation of modifying the target software file; if the operation of modifying the target software file passes the security verification, the modification of the target software is allowed.

[0381] The security verification of operations that modify target software files includes at least one of the following verification methods: Verification Method 1: Obtain the file path of the target software file. If the file path of the target software file is the same as a file path in a preset legal directory, that is, the file path of the target software file is in a preset legal directory, then the security verification passes.

[0382] In other words, the path traversal detection method prohibits the use of ".." to access the parent directory; if the target software file's file path exceeds the preset valid target, the security check will fail. It should be noted that different file paths can correspond to different preset valid directories, etc.

[0383] Verification Method 2: Obtain the file path of the target software file, parse the file path of the target software file, and if the file path of the target software file meets the path traversal range, the security verification passes.

[0384] In other words, by using symbolic link resolution, shortcuts are not allowed to point to other locations. If the target software's file path exceeds the path traversal range, the security check will fail.

[0385] Verification Method 3: Obtain the file format of the target software file. If the file format of the target software file is in the whitelist, the security verification passes.

[0386] In other words, by using a file extension whitelist, only development files such as .ts, .js, and .json can be modified, while system files cannot be modified. The allowed file types can be recorded in the whitelist for security verification.

[0387] Verification Method 4: Obtain the file path of the target software file. If the file path of the target software file is not within the prohibited modification range, the security verification passes.

[0388] In other words, by prohibiting path matching, directories such as node_modules and .git cannot be touched at all. Directories that cannot be modified can be written into the prohibited modification range. Therefore, if the file path of the target software file is within the prohibited modification range, the security check will fail.

[0389] Verification Method 5: Obtain the modification type of the target software file, determine the file size difference between the modified software file and the target software file, and if the file size difference is less than the upper limit value corresponding to the modification type, the security verification passes.

[0390] In other words, by checking the file size (e.g., a maximum write size of 1MB and a maximum read size of 10MB), the system determines whether the target software file before and after modification exceeds the allowed modification range based on its type. If so, the security check fails.

[0391] The following is an example using all five verification methods described above.

[0392] See Figure 32 This figure is a schematic diagram of a security verification method provided in an embodiment of this application. Figure 23 In Vite, before file operations can be performed, they must undergo multiple levels of verification, including path traversal checks in the security sandbox layer, symbolic link resolution, extension whitelist comparison, prohibited path matching, and file size verification. Only after successful verification can a file-level write lock be acquired to prevent conflicts caused by two operations modifying the same file simultaneously. After the operation is complete, the system records the changes and file hash and releases the write lock. Finally, Vite's module hot-swap mechanism pushes the code changes to the game preview screen in real time. In other words, after modifying a file, the system records what was changed (diff) and the file fingerprint (hash), and then releases the lock. Vite automatically detects the file change and instantly pushes the new code to the software screen (such as the game screen) without refreshing the page.

[0393] Therefore, before file operations can be performed, they must undergo multi-level verification, including path traversal detection, symbolic link resolution, extension whitelist comparison, prohibited path matching, and file size verification within a security sandbox layer. This technically eliminates security risks such as directory escape, core file tampering, and race conditions. This design allows AI autonomous development to enjoy full creative freedom while always remaining within a controllable and auditable security framework.

[0394] While endowing AI agents with autonomous coding capabilities, how to prevent their behavior from escaping security boundaries is another core issue that this application's embodiments focus on addressing. To this end, the system constructs a four-layer defense-in-depth system, progressively advancing from network isolation, container isolation, file operation sandboxing to regular expression security protection.

[0395] See Figure 33 This figure is a schematic diagram of a security model provided in an embodiment of this application. Figure 33 In this system, a four-layer security model of defense in depth is constructed. External requests must pass through four barriers in sequence: network isolation, container isolation, file operation sandbox, and regular expression security before they can access the game project files. Each layer tightens access constraints at each level.

[0396] The outermost layer is network isolation. The service ports of the Vite development server and the Docker sandbox container are not directly exposed to the outside world. All external requests must be routed and forwarded uniformly through the backend reverse proxy module, eliminating the attack surface for unauthorized access to internal services at the network level. In other words, the service ports of the Vite development server and the Docker sandbox container are not visible to the outside world; all requests must pass through the backend.

[0397] After crossing the network boundary, a request is made to enter the container isolation layer. Each AI agent runs in an independent Docker container. All processes within the container execute as a dedicated user with non-root privileges, and strict resource quotas for memory, CPU, and process count are imposed to prevent a single agent from exhausting the host machine's resources. In other words, the AI ​​agent runs in a Docker container without administrator privileges, and resources are capped (1GB memory / 2 CPUs / 200 processes). At the storage level, the game project directory is mounted to the container workspace in read-write mode, while the system SDK directory is mounted in read-only mode, ensuring that the agent can only modify project files and cannot tamper with core system components.

[0398] Inside the container, the file operation sandbox layer applies five security checks to all file operations performed by the AI ​​agent via the tool interface: a path traversal protection mechanism prohibits directory backtracking symbols and resolves symbolic links to prevent directory escape attacks; an extension whitelist mechanism only allows operations on specific file types related to development; a prohibited path list protects critical paths such as dependent directories and version control directories from accidental modification; file size limits constrain the upper limit of data volume for single reads and writes; and a file-level read-write lock manager eliminates race condition vulnerabilities caused by inconsistencies between check time and usage time through mutex locks, i.e., it prevents time difference attacks (TOCTOU) such as "permissions have just been checked and then modified by someone else".

[0399] The innermost layer is for regular expression security. The code search tool uses the RE2 regular expression engine, which guarantees linear time complexity, fundamentally preventing catastrophic backtracking attacks caused by malicious regular expressions. That is, the regular expression engine used for code search is RE2, which will not freeze due to malicious regular expressions (ordinary regular expression engines may be driven to 100% CPU usage by carefully crafted expressions). At the same time, it imposes an upper limit constraint on the length of regular expressions and automatically skips binary files and extremely large files. That is, the regular expression is limited to a maximum of 1000 characters, and binary files and extremely large files are not searched, ensuring that the search operation will not become a system performance bottleneck.

[0400] The aforementioned four layers of security mechanisms, progressively building upon each other from the outside in, construct a comprehensive defense system from network boundaries to file operations, ensuring system security and resource controllability for the AI ​​agent during the autonomous game code writing process. Thus, this four-layer security, from network to file, allows the AI ​​agent to freely write game code without damaging the system, leaking data, or consuming excessive resources.

[0401] At the product ecosystem level, the platform has built a complete functional loop around the three stages of creation, experience, and distribution. Personalized recommendation algorithms and a multi-dimensional ranking system help high-quality content efficiently reach target users; instant messaging, comment interaction, and timed recommendation guidance mechanisms enhance community stickiness between creators and players; the multi-person collaboration system supports permission matrix management and intelligent message queue integration, allowing team members to work in parallel on the same project; and the professional mode provides professional developers with multi-agent concurrent execution and Worktree branch management capabilities, meeting the advanced needs of parallel advancement of complex tasks and version comparison. The coordinated operation of these functions significantly reduces friction costs between various stages of game development and launch.

[0402] In relation to the software generation method described above, this application also provides a corresponding software generation apparatus so that the above software generation method can be applied and implemented in practice.

[0403] See Figure 34This figure is one of the structural schematic diagrams of a software generation apparatus provided in an embodiment of this application. Figure 34 As shown, the software generation device 3400 includes: a display unit 3401, an acquisition unit 3402, and a generation unit 3403; The display unit 3401 is used to display a software generation interface including a dialog area and a software preview area; The acquisition unit 3402 is used to acquire a first software generation instruction based on natural language description through the dialogue area; The display unit 3401 is also used to display the content of the request question and multiple candidate answers to the request question in the dialogue area, wherein the request question is used to guide the object to improve the first software generation instruction; The generation unit 3403 is used to obtain a confirmation operation for the target candidate answer content among the multiple candidate answer contents, and generate the first target software; The display unit 3401 is also used to display a running control in the software preview area, the running control being used to run the first target software in the software preview area.

[0404] As can be seen from the above technical solution, this application provides a software generation interface including a dialog area and a software preview area. Users can input software generation instructions based on natural language descriptions in the dialog area to generate the required target software based on these instructions. In other words, users can describe their software generation requirements using natural language, reducing the skill requirements for software developers and lowering the barrier to entry for software development. Furthermore, before generating the target software, the dialog area displays the requirement question and multiple candidate answers. Users can quickly select their requirements based on these candidate answers, guiding them to refine the software generation instructions in a manner similar to a questionnaire. This is convenient, fast, and improves software generation efficiency while increasing the accuracy of understanding the instructions, resulting in target software that better meets user requirements. In addition, after generating the target software, a run control can be displayed in the software preview area, allowing users to test the generated target software. The test process is also displayed in the software preview area. This partitioned display of software generation instructions and the software testing process not only makes the software generation interface cleaner and more organized, reducing visual interference and clutter, improving development efficiency, reducing operational tedium and time waste, but also increases user retention.

[0405] As one possible implementation, the display unit 3401 is specifically used for: The dialog area is displayed in the first area of ​​the software generation interface, and the software preview area is displayed in the second area of ​​the software generation interface. The first area is the left or right side of the horizontal display direction, and the second area is the left or right side of the horizontal display direction. The second area is a different area from the first area. If the region boundary line is adjusted, the size of the first region and the second region in the software generation interface can be adjusted. The adjusted region boundary line is used to distinguish the first region and the second region in the software generation interface.

[0406] As one possible implementation, the software generation apparatus 3400 further includes a project selection unit, used for: Expand controls that display the project file sub-interface; In response to a trigger operation on the expanded control, the project file sub-interface is displayed on the software generation interface. The project file sub-interface is used to display the project file directory corresponding to the first target software. The project file directory includes multiple sub-files used to generate the first target software. The collapse control for the project file sub-interface is displayed; In response to a trigger operation on the collapse control, the project file sub-interface is canceled from display on the software generation interface.

[0407] As one possible implementation, the software generation apparatus 3400 further includes a project selection unit, used for: In response to a triggered operation targeting a target sub-file among multiple sub-files in the project file directory, the target sub-file is displayed in an editing sub-interface independent of the software generation interface.

[0408] As one possible implementation, the software generation apparatus 3400 further includes an archive slot unit for: Multiple archive slot controls are displayed in the software preview area. Different archive slot controls correspond to different versions of the first target software. Different versions of the first target software are generated based on different software generation instructions. In response to a trigger operation on a target archive slot control among the plurality of archive slot controls, the first target software corresponding to the version of the target archive slot control is run in the software preview area.

[0409] As one possible implementation, if the dialogue area includes a natural language input area and a message display area, then the acquisition unit 3402 is specifically used for: In response to a sending operation for a first software generation instruction input in the natural language input area, the first software generation instruction is acquired; The method further includes: The first software generation instruction is displayed in the message display area; The generation result for the first software generation instruction is displayed in the message display area.

[0410] As one possible implementation, the software generation apparatus 3400 further includes a modification unit for: In response to a sending instruction for a second software generation instruction input in the natural language input area, the second software generation instruction is acquired, the second software generation instruction being used to modify the first target software; The second software generation instruction is displayed in the message display area; The first target software is modified according to the second software generation instructions to generate the first updated software; The generation result for the second software generation instruction is displayed in the message display area.

[0411] As one possible implementation, before displaying the generation result for the first software generation instruction in the message display area, the display unit 3401 is further configured to: The message display area displays the generation process content of the generation result for the first software generation instruction.

[0412] As one possible implementation, the software generation apparatus 3400 further includes a preview unit, used for: Display an item selection control in the natural language input area; In response to a triggered operation on the project selection control, the project file corresponding to the project selection control is displayed in a preview sub-interface independent of the dialog area.

[0413] As one possible implementation, the display unit 3401 is further configured to: If messages from multiple sources are displayed in the dialog area, messages from different sources will be displayed based on different display methods.

[0414] As one possible implementation, the display unit 3401 is further configured to: If, during the process of generating software conforming to the first target software according to the first software generation instruction, a third software generation instruction based on natural language description is obtained; The message waiting prompt indicates that there are software generation instructions waiting to be processed.

[0415] As one possible implementation, the display unit 3401 is further configured to: If, during the process of generating the first target software according to the first software generation instruction, a third software generation instruction and a fourth software generation instruction based on natural language description are obtained; A merge instruction is generated based on the third software generation instruction and the fourth software generation instruction; The second target software is generated according to the merge instruction.

[0416] As one possible implementation, the software generation device 3400 further includes a historical message viewing unit, used for: A historical message viewing control is displayed on the software's generated interface; In response to a trigger operation on the historical message viewing control, a historical message sub-interface is displayed in the software generation interface. The historical message sub-interface includes at least one software generation instruction and a generation result generated for the software generation instruction. The display method of the first generation result is different from that of the second generation result. The first generation result is a version-related generation result among at least one of the generation results, and the second generation result is a version-independent generation result among at least one of the generation results.

[0417] As one possible implementation, the software generation apparatus 3400 further includes an integrated functional unit for: Display additional functional controls; In response to a trigger operation on the additional function control, at least one additional function is displayed; In response to a selection operation for a target additional function among the at least one additional function, the first target software is generated according to the target additional function.

[0418] As one possible implementation, the software generation apparatus 3400 further includes a multi-user collaboration unit for: Display team management controls; In response to a triggered operation on the team management control, a team management sub-interface is displayed in the software generation interface. The team management sub-interface includes multiple account identifiers and management controls for the multiple account identifiers. The account corresponding to the account identifier is used to develop the first target software.

[0419] As one possible implementation, the team management sub-interface also includes a fan viewing control and an invitation control; the multi-user collaboration unit is further used for: In response to a trigger operation on the fan viewing control, at least one fan account identifier and an invitation control for the first target software are displayed, wherein the fan account identifier corresponds to a fan account used to follow the first target software; In response to a trigger operation on the invitation control, an invitation request is sent to the target fan account corresponding to the invitation control, wherein the target fan account is the fan account corresponding to the at least one fan account identifier for the first target software.

[0420] As one possible implementation, the software generation apparatus 3400 further includes a multi-user collaboration unit for: The dialog area displays a first software generation instruction from a first account identifier and a second software generation instruction from a second account identifier, wherein the plurality of account identifiers include the first account identifier and the second account identifier.

[0421] As one possible implementation, the team management sub-interface also includes a feature value viewing control, and the multi-person collaboration unit is further used for: In response to a trigger operation on the feature value viewing control, the feature values ​​possessed by the team are displayed, which are used to generate the first target software.

[0422] As one possible implementation, the software generation apparatus 3400 further includes a professional mode unit for: The professional mode control is displayed in the software's interface. In response to a trigger operation on the professional mode control, the user is redirected to the professional development interface, which is a different interface from the software generation interface. The professional development interface displays a normal mode control, which is used to jump to the software generation interface.

[0423] As one possible implementation, the software generation apparatus 3400 further includes a professional mode unit for: The professional development interface displays a project list area and a task panel area. The project list area is used to display multiple target software created under the current account. The task panel area includes a task creation control, which is used to create at least one task for the selected target software. If a trigger operation is obtained for the third target software among the plurality of target software and a trigger operation is obtained for the task creation control, then one or more created tasks are displayed in the task panel area.

[0424] As one possible implementation, the software generation apparatus 3400 further includes a professional mode unit for: In response to a trigger operation on a third target software among the plurality of target software and a trigger operation on the task creation control, a task creation sub-interface is displayed in the task panel area, the task creation sub-interface including a task instruction input area; If a first task creation instruction based on natural language description is entered in the task instruction input area, the first task corresponding to the first task creation instruction will be displayed in the task panel area. If a second task creation instruction based on natural language is entered in the task instruction input area, the second task corresponding to the second task creation instruction will be displayed in the task panel area.

[0425] As one possible implementation, the task creation sub-interface also includes a proxy quantity setting control, and the professional mode unit is further used for: If a first task creation instruction based on natural language description is entered in the task instruction input area and the number of agents is obtained through the agent quantity setting control, then multiple first tasks corresponding to the first task creation instruction are displayed in the task panel area. The number of the multiple first tasks is the same as the number of agents, and each first task completes the first task creation instruction through one agent.

[0426] As one possible implementation, the software generation apparatus 3400 further includes a publishing unit for: A content fill control is displayed on the software's generated interface; In response to a trigger operation on the content fill control, a content fill sub-interface for the first target software is displayed; The content to be filled and automatically generated controls are displayed in the content fill sub-interface; In response to a trigger operation on the automatically generated control, the content required for publishing the first target software is automatically filled into the content to be filled.

[0427] As one possible implementation, the software generation apparatus 3400 further includes a publishing unit for: The publishing controls are displayed on the software generation interface; In response to a trigger operation on the release control, multiple versions of the first target software and the review status of the multiple versions are displayed; In response to a trigger operation targeting a target version among the plurality of versions, a first target software of the target version is released, wherein the review status of the first target software of the target version is approved.

[0428] As one possible implementation, the software generation apparatus 3400 further includes a wishing unit for: The main interface displays a wish control, and the software generates an interface that jumps from the main interface; In response to a trigger operation on the wish control, an inspiration exploration sub-interface is displayed on the main interface. The inspiration exploration sub-interface includes a preference determination area and a software prototype display area. The preference determination area displays various ideas for generating the fourth target software; In response to a selection operation for at least one target idea content among a plurality of said idea content, a software prototype generated based on the at least one target idea content is displayed in the software prototype display area; The fourth target software is generated based on the content of the at least one target idea.

[0429] As one possible implementation, the software generation apparatus 3400 further includes a wishing unit for: The generated results for the at least one target idea are displayed in the Inspiration Exploration sub-interface; If a fifth software generation instruction based on natural language description is obtained, the fifth software generation instruction is used to modify the fourth target software so as to display the generation result for the fifth software generation instruction.

[0430] As one possible implementation, the software generation apparatus 3400 further includes a wishing unit for: The preference determination area displays multiple ideas belonging to the first dimension; In response to a trigger operation targeting a first target idea content, multiple idea contents belonging to the second dimension are displayed in the preference determination area, and a software prototype generated based on the first target idea content is displayed in the software prototype display area. The first target idea content is at least one of the multiple idea contents belonging to the first dimension, and the first dimension and the second dimension are different dimensions. In response to a trigger operation targeting a second target idea content, a software prototype generated based on the first target idea content and the second target idea content is displayed in the software prototype display area, wherein the second target idea content is at least one of the multiple idea contents belonging to the second dimension.

[0431] As one possible implementation, the software generation apparatus 3400 further includes a wishing unit for: The first target idea content and the second target idea content are displayed in the Inspiration Exploration sub-interface; In response to a trigger operation targeting the first target idea content, multiple idea contents belonging to the first dimension are displayed in the preference determination area; In response to a trigger operation targeting a third target idea content, a software prototype generated based on the third target idea content and the second target idea content is displayed in the software prototype display area, and the third target idea content and the second target idea content are displayed in the inspiration exploration sub-interface. The third target idea content is at least one target idea content among the multiple idea contents belonging to the first dimension, and is not completely identical to the first target idea content.

[0432] As one possible implementation, the software generation apparatus 3400 further includes a wishing unit for: During the display of the main interface, a wish control and a guidance text area for the wish control are displayed on the main interface. The guidance text area is used to guide the user to trigger the wish control. During the scrolling display of the main interface, a wish control is displayed on the main interface.

[0433] As one possible implementation, the display unit 3401 is specifically used for: The main interface displays the number of generated software programs and a selection of software programs. The software generation interface is a page that appears when the user navigates from the main interface. In response to a trigger operation targeting the fifth target software in the aforementioned software, the user is redirected to the software interface corresponding to the fifth target software.

[0434] See Figure 35 This figure is a second schematic diagram of the structure of a software generation device provided in an embodiment of this application. Figure 35 As shown, the software generation device 3500 includes: an acquisition unit 3501, a startup unit 3502, a detection unit 3503, and a sending unit 3504; The acquisition unit 3501 is used to acquire a development server startup request from the front end, the development server startup request being used to start the first target software; The startup unit 3502 is used to start the development server according to the development server startup request. The detection unit 3503 is used to create an initial interface for running the first target software through the front end if the development server is detected to be in a running state. The acquisition unit 3501 is also used to acquire page resources required for running the first target software; The sending unit 3504 is used to send the page resources to the initial interface so that the first target software can be run in the software generation interface, which is generated based on the initial interface and the page resources.

[0435] Therefore, this application deeply embeds intelligent agents driven by large language models into the entire software development process, enabling users to describe their creative intentions in natural language, and the system can automatically complete code generation, resource orchestration, and project construction, fundamentally changing the rigid dependence of software creation on professional programming skills.

[0436] In terms of real-time experience, each game project corresponds to an independent Vite development server instance. Any modifications made to the source code by the AI ​​agent can be instantly reflected in the game preview screen through the module hot-swap mechanism, without the need for manual refresh or recompilation. This capability creates a tight closed loop of "AI coding - real-time preview - user feedback - iterative optimization", compressing the fragmented process of repeatedly switching between writing, building, and verifying in traditional game development into a coherent and smooth single workflow.

[0437] The system adopts a layered and decoupled software architecture, comprising four layers: front-end interaction, back-end scheduling, runtime environment, and game engineering. Each layer has clear responsibilities and can evolve independently. This layered collaboration avoids the efficiency loss of a single protocol in heterogeneous scenarios while maintaining the overall simplicity and maintainability of the architecture.

[0438] As one possible implementation, the software generation device 3500 also includes a Docker sandbox management module, used for: The development server corresponding to the first target software is created according to the development server startup request. Different target software corresponds to different development servers. The status of the development server is pending creation. The installation file of the first target software is obtained through the development server corresponding to the first target software; Create a sandbox container corresponding to the first target software; different target software corresponds to different sandbox containers. The installation file is installed through the sandbox container corresponding to the first target software, and the status of the development server changes from the pending creation state to the installation state.

[0439] As one possible implementation, the software generation apparatus 3500 further includes a Vite process management module, used for: After the installation file is successfully installed through the sandbox container corresponding to the first target software, the status of the development server changes from the installation state to the startup state. The development server corresponding to the first target software is started according to the development server startup request, and the state of the development server changes from the startup state to the running state. If the dependency files corresponding to the installation file are installed through the development server corresponding to the first target software, the status of the development server changes from the running status to the building status. If the development server corresponding to the first target software is stopped during the process of starting the development server according to the development server startup request, the state of the development server changes from the running state to the stopped state. If the state transition of the development server corresponding to the first target software fails, then the state of all development servers corresponding to the first target software will become an error state.

[0440] As one possible implementation, the software generation apparatus 3500 further includes a Vite process management module, used for: If the development server corresponding to the first target software is in the stopped state or the error state, the development server corresponding to the first target software can be restarted.

[0441] As one possible implementation, the software generation apparatus 3500 further includes a Vite process management module, used for: If a development server corresponding to the first target software is created, then a first port is created for the development server corresponding to the first target software. If a development server corresponding to the fifth target software is created, then a second port is created for the development server corresponding to the fifth target software; The fifth target software is a target software created after the first target software, and the port value of the second port is greater than the port value of the first port.

[0442] As one possible implementation, the software generation device 3500 also includes a Docker sandbox management module, used for: A sandbox container corresponding to the first target software is created based on resource constraints, wherein the resource constraints are used to set the upper limit of resources used by the sandbox container corresponding to the first target software.

[0443] As one possible implementation, the software generation apparatus 3500 further includes a tool execution orchestration module, used for: Obtain a first software generation instruction from the front end, the first software generation instruction being described in natural language; The calling tools required to complete the first software generation instruction and the calling order of the calling tools are determined according to the first software generation instruction. Based on the calling tools required by the first software generation instruction and the calling order corresponding to the calling tools, the calling tools are called to obtain the first target software corresponding to the first software generation instruction.

[0444] As one possible implementation, the software generation apparatus 3500 further includes a tool execution orchestration module, used for: Based on the calling tool required by the first software generation instruction and the calling order corresponding to the calling tool, the calling tool is called to modify the target software file to obtain the first target software corresponding to the first software generation instruction; Before invoking the tool to modify the target software file, a security check is performed on the operation to modify the target software file; If the operation to modify the target software file passes the security verification, then the modification of the target software is permitted; The security verification of operations that modify the target software file includes at least one of the following verification methods: Verification Method 1: Obtain the file path of the target software file. If the file path of the target software file is within a preset legal directory, the security verification passes. Verification Method 2: Obtain the file path of the target software file, parse the file path of the target software file, and if the file path of the target software file conforms to the path traversal range, the security verification passes; Verification Method 3: Obtain the file format of the target software file. If the file format of the target software file is in the whitelist, the security verification passes. Verification Method 4: Obtain the file path of the target software file. If the file path of the target software file is not within the prohibited modification range, the security verification passes. Verification Method 5: Obtain the modification type of the target software file, determine the file size difference between the modified software file and the target software file, and if the file size difference is less than the upper limit value corresponding to the modification type, the security verification passes.

[0445] As one possible implementation, the software generation apparatus 3500 further includes a pseudo-terminal session manager, used for: The first software generation instruction from the front end is obtained through a two-way communication protocol; The generated result for the first software generation instruction is sent to the front end via the bidirectional communication protocol.

[0446] As one possible implementation, the software generation apparatus 3500 further includes a pseudo-terminal session manager, used for: The development server startup request from the front end is obtained through the presentation layer state transition application programming interface; The system interacts with the development server corresponding to the first target software through the presentation layer state transition application programming interface, and also interacts with the sandbox container corresponding to the first target software through the presentation layer state transition application programming interface.

[0447] As one possible implementation, the software generation apparatus 3500 further includes a download unit for: Download the software file of the first target software, wherein the file format of the software file of the first target software is a general format.

[0448] This application also provides a computer device, which can be a server or a terminal device. The computer device provided in this application will be described below from a hardware implementation perspective. Figure 36 The diagram shown is a structural schematic of the server. Figure 37 The diagram shown is a structural schematic of the terminal device.

[0449] See Figure 36 This figure is a schematic diagram of a server structure provided in an embodiment of this application. The server 3600 can vary considerably due to different configurations or performance, and may include one or more processors 3622, such as central processing units (CPUs), memory 3632, and one or more storage media 3630 (e.g., one or more mass storage devices) for application programs 3642 or data 3644. The memory 3632 and storage media 3630 can be temporary or persistent storage. The program stored in the storage media 3630 may include one or more modules (not shown in the figure), each module may include a series of instruction operations on the server. Furthermore, the processor 3622 may be configured to communicate with the storage media 3630 and execute the series of instruction operations in the storage media 3630 on the server 3600.

[0450] Server 3600 may also include one or more power supplies 3626, one or more wired or wireless network interfaces 3650, one or more input / output interfaces 3658, and / or one or more operating systems 3641, such as Windows Server. TM Mac OS X TM Unix TM Linux TM FreeBSD TM etc.

[0451] The steps performed by the server in the above embodiments can be based on this Figure 36 The server structure shown.

[0452] The processor 3622 is used to perform the following steps: Displays the software generation interface, including the dialog area and the software preview area; The first software generation instruction based on natural language description is obtained through the dialogue area; The dialog area displays the content of the requirement question and multiple candidate answers to the requirement question. The requirement question is used to guide the user to improve the first software generation instruction. Obtain confirmation of the target candidate answer content among the multiple candidate answer contents, and generate the first target software; A run control is displayed in the software preview area, which is used to run the first target software in the software preview area.

[0453] Alternatively, processor 3622 may be used to perform the following steps: Obtain a development server startup request from the front end, the development server startup request being used to start the first target software; If the development server is detected to be in a running state, an initial interface for running the first target software is created through the front end. Obtain the page resources required to run the first target software; The page resources are sent to the initial interface so that the first target software can be run in the software generation interface, which is generated based on the initial interface and the page resources.

[0454] Optionally, the processor 3622 may also execute method steps of any specific implementation of the software generation method in the embodiments of this application.

[0455] See Figure 37 This figure is a schematic diagram of the structure of a terminal device provided in an embodiment of this application. The description will be based on a smartphone as an example. Figure 37 The diagram shown is a partial structural block diagram of the smartphone, which includes: a radio frequency (RF) circuit 3710, a memory 3720, an input unit 3730, a display unit 3740, a sensor 3750, an audio circuit 3760, a Wi-Fi module 3770, a processor 3780, and a power supply 3790, among other components. Those skilled in the art will understand that... Figure 7 The smartphone structure shown does not constitute a limitation on smartphones and may include more or fewer components than shown, or combine certain components, or have different component arrangements.

[0456] The following is combined with Figure 37 A detailed introduction to the various components of a smartphone: The RF circuit 3710 can be used to receive and transmit signals during information transmission or calls. In particular, it receives downlink information from the base station and processes it with the processor 3780; in addition, it transmits uplink data to the base station.

[0457] The memory 3720 can be used to store software programs and modules, and the processor 3780 runs the software programs and modules stored in the memory 3720 to realize various functions and data processing of the smartphone.

[0458] The input unit 3730 can be used to receive input numeric or character information and generate key signal inputs related to user settings and function control of the smartphone. Specifically, the input unit 3730 may include a touch panel 3731 and other input devices 3732. The touch panel 3731, also known as a touch screen, can collect touch operations from the user on or near it and drive corresponding connected devices according to a pre-set program. In addition to the touch panel 3731, the input unit 3730 may also include other input devices 3732. Specifically, other input devices 3732 may include, but are not limited to, one or more of the following: a physical keyboard, function keys (such as volume control buttons, power buttons, etc.), a trackball, a mouse, a joystick, etc.

[0459] The display unit 3740 can be used to display information input by the user or information provided to the user, as well as various menus of a smartphone. The display unit 3740 may include a display panel 3741, which may optionally be configured as a liquid crystal display (LCD), an organic light-emitting diode (OLED), or other similar display panel 3741.

[0460] Smartphones may also include at least one sensor 3750, such as a light sensor, a motion sensor, and other sensors. Other sensors that smartphones may also be equipped with, such as gyroscopes, barometers, hygrometers, thermometers, and infrared sensors, will not be detailed here.

[0461] Audio circuit 3760, speaker 3761, and microphone 3762 provide an audio interface between the user and the smartphone. Audio circuit 3760 converts received audio data into electrical signals and transmits them to speaker 3761, where speaker 3761 converts them into sound signals for output. On the other hand, microphone 3762 converts collected sound signals into electrical signals, which are received by audio circuit 3760, converted into audio data, and then processed by processor 3780 before being transmitted via RF circuit 3710 to, for example, another smartphone, or the audio data can be output to memory 3720 for further processing.

[0462] The processor 3780 is the control center of the smartphone, connecting various parts of the smartphone through various interfaces and lines. It performs various functions and processes data by running or executing software programs and / or modules stored in the memory 3720, and by calling data stored in the memory 3720. Optionally, the processor 3780 may include one or more processing units.

[0463] The smartphone also includes a power supply 3790 (such as a battery) that supplies power to various components. Preferably, the power supply can be logically connected to the processor 3780 through a power management system, thereby enabling functions such as charging, discharging, and power consumption management through the power management system.

[0464] Although not shown, smartphones may also include a camera, Bluetooth module, etc., which will not be described in detail here.

[0465] In this embodiment of the application, the memory 3720 included in the smartphone can store computer programs and transmit the computer programs to the processor.

[0466] The processor 3780 included in the smartphone can execute the software generation method provided in the above embodiments according to the instructions in the computer program.

[0467] This application also provides a computer-readable storage medium for storing a computer program that executes the software generation method provided in the above embodiments.

[0468] On the other hand, embodiments of this application provide a computer program product including a computer program, which, when run on a computer device, causes the computer device to perform the software generation method provided in various optional implementations of the above aspects.

[0469] Those skilled in the art will understand that all or part of the steps of the above method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it performs the steps of the above method embodiments. The aforementioned storage medium can be at least one of the following media: read-only memory (ROM), RAM, magnetic disk or optical disk, and other media that can store computer programs.

[0470] The terms “first,” “second,” “third,” “fourth,” etc., as used in this application (if applicable), are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that embodiments of the application described herein can be implemented, for example, in orders other than those illustrated or described herein. Furthermore, the terms “comprising” and “corresponding,” and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0471] In the embodiments of this application, the terms "module" or "unit" refer to a computer program or part of a computer program that has a predetermined function and works with other related parts to achieve a predetermined goal, and can be implemented wholly or partially using software, hardware (such as processing circuitry or memory), or a combination thereof. Similarly, a processor (or multiple processors or memory) can be used to implement one or more modules or units. Furthermore, each module or unit can be part of an overall module or unit that includes the functionality of that module or unit.

[0472] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects detailed in this application.

[0473] The terminology used in this application is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. The singular forms “a,” “the,” and “the” used herein are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to and includes any or all possible combinations of one or more of the associated listed items. Depending on the context, the word “if,” as used herein, can be interpreted as “when,” “in response to a determination,” or “when…”.

[0474] It should be noted that the various embodiments in this specification are described in a progressive manner, and the same or similar parts between the various embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, for the device and system embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and the relevant parts can be referred to the description of the method embodiments. The device and system embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of the solution in this embodiment according to actual needs. Those skilled in the art can understand and implement this without creative effort.

[0475] The above description is merely one specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Based on the implementation methods provided in the above aspects, this application can also be further combined to provide more implementation methods.

Claims

1. A software generation method, characterized in that, The method includes: Displays the software generation interface, including the dialog area and the software preview area; The first software generation instruction based on natural language description is obtained through the dialogue area; The dialog area displays the content of the requirement question and multiple candidate answers to the requirement question. The requirement question is used to guide the user to improve the first software generation instruction. Obtain confirmation of the target candidate answer content among the multiple candidate answer contents, and generate the first target software; A run control is displayed in the software preview area, which is used to run the first target software in the software preview area.

2. The method according to claim 1, characterized in that, The display includes a software generation interface comprising a dialog area and a software preview area, including: The dialog area is displayed in the first area of ​​the software generation interface, and the software preview area is displayed in the second area of ​​the software generation interface. The first area is the left or right side of the horizontal display direction, and the second area is the left or right side of the horizontal display direction. The second area is a different area from the first area. If the region boundary line is adjusted, the size of the first region and the second region in the software generation interface can be adjusted. The adjusted region boundary line is used to distinguish the first region and the second region in the software generation interface.

3. The method according to claim 1, characterized in that, The method further includes: Expand controls that display the project file sub-interface; In response to a trigger operation on the expanded control, the project file sub-interface is displayed on the software generation interface. The project file sub-interface is used to display the project file directory corresponding to the first target software. The project file directory includes multiple sub-files used to generate the first target software. The collapse control for the project file sub-interface is displayed; In response to a trigger operation on the collapse control, the project file sub-interface is canceled from display on the software generation interface.

4. The method according to claim 3, characterized in that, The method further includes: In response to a triggered operation targeting a target sub-file among multiple sub-files in the project file directory, the target sub-file is displayed in an editing sub-interface independent of the software generation interface.

5. The method according to claim 1, characterized in that, The method further includes: Multiple archive slot controls are displayed in the software preview area. Different archive slot controls correspond to different versions of the first target software. Different versions of the first target software are generated based on different software generation instructions. In response to a trigger operation on a target archive slot control among the plurality of archive slot controls, the first target software corresponding to the version of the target archive slot control is run in the software preview area.

6. The method according to claim 1, characterized in that, If the dialogue area includes a natural language input area and a message display area, then obtaining the first software generation instruction based on natural language description through the dialogue area includes: In response to a sending operation for a first software generation instruction input in the natural language input area, the first software generation instruction is acquired; The method further includes: The first software generation instruction is displayed in the message display area; The generation result for the first software generation instruction is displayed in the message display area.

7. The method according to claim 6, characterized in that, The method further includes: In response to a sending instruction for a second software generation instruction input in the natural language input area, the second software generation instruction is acquired, the second software generation instruction being used to modify the first target software; The second software generation instruction is displayed in the message display area; The first target software is modified according to the second software generation instructions to generate the first updated software; The generation result for the second software generation instruction is displayed in the message display area.

8. The method according to claim 1, characterized in that, The method further includes: If, during the process of generating software conforming to the first target software according to the first software generation instruction, a third software generation instruction based on natural language description is obtained; The message waiting prompt indicates that there are software generation instructions waiting to be processed.

9. The method according to claim 8, characterized in that, The step of obtaining a third software generation instruction based on natural language description during the process of generating software conforming to the first target software according to the first software generation instruction includes: If, during the process of generating the first target software according to the first software generation instruction, a third software generation instruction and a fourth software generation instruction based on natural language description are obtained; The method further includes: A merge instruction is generated based on the third software generation instruction and the fourth software generation instruction; The second target software is generated according to the merge instruction.

10. The method according to claim 1, characterized in that, The method further includes: A historical message viewing control is displayed on the software's generated interface; In response to a trigger operation on the historical message viewing control, a historical message sub-interface is displayed in the software generation interface. The historical message sub-interface includes at least one software generation instruction and a generation result generated for the software generation instruction. The display method of the first generation result is different from that of the second generation result. The first generation result is a version-related generation result among at least one of the generation results, and the second generation result is a version-independent generation result among at least one of the generation results.

11. The method according to claim 1, characterized in that, The method further includes: Display additional functional controls; In response to a trigger operation on the additional function control, at least one additional function is displayed; The generation of the first target software includes: In response to a selection operation for a target additional function among the at least one additional function, the first target software is generated according to the target additional function.

12. The method according to claim 1, characterized in that, The method further includes: Display team management controls; In response to a triggered operation on the team management control, a team management sub-interface is displayed in the software generation interface. The team management sub-interface includes multiple account identifiers and management controls for the multiple account identifiers. The account corresponding to the account identifier is used to develop the first target software.

13. The method according to claim 12, characterized in that, The team management sub-interface also includes a fan viewing control and an invitation control, and the method further includes: In response to a trigger operation on the fan viewing control, at least one fan account identifier and an invitation control for the first target software are displayed, wherein the fan account identifier corresponds to a fan account used to follow the first target software; In response to a trigger operation on the invitation control, an invitation request is sent to the target fan account corresponding to the invitation control, wherein the target fan account is the fan account corresponding to the at least one fan account identifier for the first target software.

14. The method according to claim 12, characterized in that, The method further includes: The dialog area displays a first software generation instruction from a first account identifier and a second software generation instruction from a second account identifier, wherein the plurality of account identifiers include the first account identifier and the second account identifier.

15. The method according to claim 1, characterized in that, The method further includes: The professional mode control is displayed in the software's interface. In response to a trigger operation on the professional mode control, the user is redirected to the professional development interface, which is a different interface from the software generation interface. The professional development interface displays a normal mode control, which is used to jump to the software generation interface.

16. The method according to claim 15, characterized in that, The method further includes: The professional development interface displays a project list area and a task panel area. The project list area is used to display multiple target software created under the current account. The task panel area includes a task creation control, which is used to create at least one task for the selected target software. If a trigger operation is obtained for the third target software among the plurality of target software and a trigger operation is obtained for the task creation control, then one or more created tasks are displayed in the task panel area.

17. The method according to claim 16, characterized in that, If a trigger operation is obtained for a third target software among the plurality of target software and a trigger operation is obtained for the task creation control, then one or more created tasks are displayed in the task panel area, including: In response to a trigger operation on a third target software among the plurality of target software and a trigger operation on the task creation control, a task creation sub-interface is displayed in the task panel area, the task creation sub-interface including a task instruction input area; If a first task creation instruction based on natural language description is entered in the task instruction input area, the first task corresponding to the first task creation instruction will be displayed in the task panel area. If a second task creation instruction based on natural language is entered in the task instruction input area, the second task corresponding to the second task creation instruction will be displayed in the task panel area.

18. The method according to claim 17, characterized in that, The task creation sub-interface also includes a proxy quantity setting control. If a first task creation command based on natural language description is entered in the task command input area, the first task corresponding to the first task creation command is displayed in the task panel area, including: If a first task creation instruction based on natural language description is entered in the task instruction input area and the number of agents is obtained through the agent quantity setting control, then multiple first tasks corresponding to the first task creation instruction are displayed in the task panel area. The number of the multiple first tasks is the same as the number of agents, and each first task completes the first task creation instruction through one agent.

19. The method according to claim 1, characterized in that, The method further includes: A content fill control is displayed on the software's generated interface; In response to a trigger operation on the content fill control, a content fill sub-interface for the first target software is displayed; The content to be filled and automatically generated controls are displayed in the content fill sub-interface; In response to a trigger operation on the automatically generated control, the content required for publishing the first target software is automatically filled into the content to be filled.

20. The method according to claim 1, characterized in that, The method further includes: The main interface displays a wish control, and the software generates an interface that jumps from the main interface; In response to a trigger operation on the wish control, an inspiration exploration sub-interface is displayed on the main interface. The inspiration exploration sub-interface includes a preference determination area and a software prototype display area. The preference determination area displays various ideas for generating the fourth target software; In response to a selection operation for at least one target idea content among a plurality of said idea content, a software prototype generated based on the at least one target idea content is displayed in the software prototype display area; The fourth target software is generated based on the content of the at least one target idea.

21. The method according to claim 1, characterized in that, The method further includes: The main interface displays the number of generated software programs and a selection of software programs. The software generation interface is a page that appears when the user navigates from the main interface. In response to a trigger operation targeting the fifth target software in the aforementioned software, the user is redirected to the software interface corresponding to the fifth target software.

22. A software generation apparatus, characterized in that, The device includes: a display unit, an acquisition unit, and a generation unit; The display unit is used to display the software generation interface, which includes a dialog area and a software preview area; The acquisition unit is used to acquire a first software generation instruction based on a natural language description through the dialogue area; The display unit is also configured to display the content of the request question and multiple candidate answers to the request question in the dialogue area, wherein the request question is used to guide the user to improve the first software generation instruction. The generation unit is used to obtain a confirmation operation for the target candidate answer content among the multiple candidate answer contents, and generate the first target software; The display unit is further configured to display a running control in the software preview area, the running control being used to run the first target software in the software preview area.

23. A computer device, characterized in that, The computer device includes a processor and memory: The memory is used to store computer programs and to transfer the computer programs to the processor; The processor is configured to perform the method according to any one of claims 1-21 according to the computer program.

24. A computer-readable storage medium, characterized in that, The computer-readable storage medium is used to store a computer program for performing the method according to any one of claims 1-21.

25. A computer program product comprising a computer program, characterized in that, When it is run on a computer device, it causes the computer device to perform the method described in any one of claims 1-21.