Command line and configuration
I assume you have installed the program and created a script codeveloperengine
in your path
that starts it. With argument -h or –help you get a short help message with the options available.
version: : CoDeveloperEngine version: 3.0
usage: options are
-g,--globalconfigdir {arg} Directory for global configuration (default:
~/.cgptcodeveloperglobal/
-h,--help Display this help message
-l,--local Only use local configuration via options -
ignore any global configuration
-p,--port {arg} Port number
-w,--write Permit file writes and action executions
-p
: To specify the port number, include -p followed by a valid port number. If no -p option is given, the default port number 3002 is used.-w
: If you include -w, writing and executing actions will be enabled. If there's no -w option mentioned in the command, writing and executing actions are disabled by default.-h
: This option is to display the help message. It'll also be shown when there's an exception in parsing options.-g
: This option is used to specify the directory path for global configuration. If it's not mentioned, the default directory “~/.cgptcodeveloperglobal/” is used.-l
: This option if present, is used to ensure that only command line configuration is used and global configuration is ignored.
Global configuration file
The global configuration file defines several properties that are important for the communication with ChatGPT.
Normally it's put into the directory ~/.cgptcodeveloperglobal/
and is named config.properties
, for example:
gptsecret=examplesecret
openaitoken=exampletoken
where:
gptsecret
A secret that is configured in both the GPT and locally to make sure only your own GPT can access the program.openaitoken
A token OpenAI privides after entering the gptSecret when deploying as a plugin - used to identify OpenAI to the plugin. (Not needed for GPTs.)
If you want to run it without a tunnel but to provide a HTTPS interface by itself (compare Access via HTTPS) there can also be the following properties:
httpsPort
The port the program should open for HTTPS (has to be reachable from the internet as port 443)keystorePath
The path to the keystore file.keystorePassword
The password for the keystore.domain
The external domain through which the application is accessible.externport
The external port through which the application is reachable (optional with default 443, something else than 443 probably won't work with ChatGPT)
Local configuration directory
If you have a directory named .cgptcodeveloper/ in the directory where you start the program, a log file .requestlog.txt
will be put there with the requests and responses to ChatGPT. This is useful for debugging or just to see what's going
on.
Second, you can put there a number of shell scripts *.sh that can be executed from the program. It's a good idea to also put a file listActions.sh there that lists the available actions:
# Plugin Action: list all available actions
cd .cgptcodeveloper || exit 1
for fil in *.sh; do
echo "${fil%.sh} : " $(egrep -o "Plugin Action: .*" "$fil" | sed -e 's/Plugin Action: //')
done
It requires a comment # Plugin Action:
to be present in each *.sh file that explains the function of the action.
More examples can be found in the .cgptcodeveloper directory of the project .
Usage via docker image
If you want to make extra sure that the program cannot access anything outside of the current directory and cannot access anything on your local machine and want to try dangerous things like executing actions that immediately run ChatGPT generated code , you can also use it from the docker image stoerr/co-developer-gpt-engine.