Plugin URL for users not on localhost?

I can’t seem to get chatGPT to find my plugin unless I use ‘localhost’.
Is that right, or is there some magic I can use to provide the url to another developer for testing? I thought we could share with up to 15 other plugin developers? I’ve tested using internal IP from another machine, or using external IP. I know it isn’t a routing problem, I can curl the endpoint from anywhere and it responds just fine.
Confused as usual…

oops. Need to modify the ai-plugin manifest to not refer to localhost. Duh.


Actually, no. changing ai-plugin and/or yaml hostinfo doesn’t help. Neither does changing the auth spec in ai-plugin.
An ‘invalid domain’ error is thrown when the client javascript calls openai to validate the host domain. No calls (of any kind) to the actual plugin are ever made, either from the chatGPT client or from openAI.

That leaves me with 4 ideas:

  1. I’m doing something stupid.
  2. I need to register the domain with openAI (any idea how to do that, anyone?)
  3. OpenAI plugin api has bugs, either in the client-side javascript or on the host side.
  4. Something else…

Help? Anyone? @logankilpatrick ?

Here’s my working chess plugin ai-plugin.json - this works for both “develop your own” and “install unverified”

1 Like

Thanks! I now suspect my issue is a cert problem.

Did you figure out the problem? Is https required for non-localhost domains?

Not sure. But I am sure you need to provide http and / or https std ports (80 or 443), you can’t use 5003 for non-localhost. Not sure if you need https or not.

I just went ahead and brought up hypercorn with a cert on 443 and everything started working

1 Like

Port 80 won’t work, you’ll need port 443, that’s the standard port for https.

For local development, you can use HTTP but if you are pointing to a remote server, HTTPS is required.

There’s lots of other good stuff in the documentation I found it very useful:

If you need an easy way to get started I’ll suggest caddy, that’s what I’m using myself:

That’s the webserver part done. but you will need to associate your domain with your IP address before you site is accessible, this is done through a register (usually the same place you’ve bought your domain)

You can stop here if you have a static IP address (you don’t have one if you aren’t paying for one)

If you’re a private individual you have a dynamically assigned IP address and will need to update your DNS provider/AAA records. This can by done either by your router or a program/script on your server. Here’s service for this:

When you’ve done all that you’re website should be accessible after a few minutes :laughing: