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

Before you connect Application Designer to LLM Clients, ensure that:
  1. 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).
  2. 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

PeopleSoft delivers the following 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.

These files are available inside the Plugins subdirectory within the PeopleCodeAssist directory, which is located in the same directory as the pside.exe file. Application Designer cannot reference PeopleCodeAssist directory from a shared location. Copy the PeopleCodeAssist directory to the same machine from where pside.exe is run and select the plugin through the PeopleCode Assist Settings available in the Application Designer Options dialog box. See Setting the LLM Client Plugin File.

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.

To add support for a new LLM client in Application Designer AI Assist, follow these steps:
  1. 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
  2. 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
    Your custom plugin relies on these shared capabilities instead of duplicating them.
  3. 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.

  4. 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.