Configuring Application Designer AI Assist
To configure Application Designer AI Assist, PeopleSoft delivers a generic LLM client plugin file, as well as dedicated plugin files for Aider and Cline. These plugins enable Application Designer to communicate with supported LLM clients. You can also create and use custom plugins to integrate additional LLM clients with Application Designer AI Assist.
Prerequisites for Connecting Application Designer to LLM Clients
- Install the required LLM client (for example, Aider) on the same machine where Application Designer is run and configure the LLM client (for example, define model selection and other settings).
- Install the Windows Python runtime on the machine and add the Python executable to the Windows system PATH environment variable. Oracle recommends using Python 3.12 or later.
Alternatively, you can use the Python version shipped with PeopleTools for the installation. Open a command prompt and run the following command to verify that Python is installed correctly.
python --version
Working with PeopleSoft-delivered Plugin Files
-
llm_plugin_base.py - A base plugin file that administrators can use to create plugins for different LLM clients.
-
llm_plugin_aider.py - A plugin file for integrating with Aider.
-
llm_plugin_cline.py - A plugin file for integrating with Cline.
Note:
If a user creates a new plugin for another LLM client (for example, Codex), that plugin file must be placed along with other plugins inside the Plugins directory.Implementing a Custom Plugin for an LLM Client
A custom LLM client plugin integrates an LLM client with Application Designer AI Assist. To add a plugin for a new LLM client, for example, Codex, create a Python-based plugin file in the PeopleCodeAssist directory, extend the base plugin class, and implement the required command-building and execution logic.
- Create a new Python file for the target client and save it in the Plugins subdirectory within the PeopleCodeAssist directory. Use a descriptive name that identifies the LLM client you are integrating. For example,
C:\PeopleCodeAssist\Plugins\llm_plugin_codex.py - Define a class that extends from the base LLMPluginBase class. Refer to the llm_plugin_base.py base plugin file. The base plugin class:
- provides shared plugin state
- parses the plugin attributes through the initialize_plugin_attributes method
- creates AGENTS.md in the working directory through the generate_agents_file_in_workdir method
- Implement the build_command method in the custom plugin to translate generic plugin attributes into the CLI arguments required by the target LLM client.
For example, the Aider plugin file (llm_plugin_aider.py) builds self.llm_client_cli_command, adds the prompt file, passes read-only context files, and passes write-enabled context files (when write-back mode is enabled in PSIDE Options). A new client plugin, such as Codex, should follow the same pattern, but replace Aider-specific flags like --message-file, --read, and --file with the equivalent options for the Codex CLI.
- Implement the execute method in the custom plugin to run the command created by the build_command method. It opens the named pipe, start the LLM client process, redirect both stdout and stderr to the pipe, wait for completion, and return the appropriate LLMPluginExitCodes value.
Note:
Use the Aider and Cline plugin files as references when implementing the custom plugin.After these steps, Application Designer AI Assist can invoke the new LLM client through the same plugin framework used by the existing clients.