Plugins Server provides additional features for TypingMind's Plugins where extra server-side processing is needed.
Plugins Server is used by some built-in plugins on Typing Mind (e.g., Web Page Reader). Other plugins can also make use of the existing endpoints of the Plugins Server if needed. New endpoints can be added via Pull Requests.
Plugins Server is open-sourced and is intended to be self-hosted by individual users for private use only.
Note: The Plugins Server only provides an endpoint for retrieving server-side processing results. To make the plugin work, you must also install a TypingMind's plugin configured to send requests to this server endpoint.
This fork includes a few opinionated changes compared to the original TypingMind Plugins Server:
- API key authentication added for most endpoints (
x-api-keyheader or?apiKey=). Health check supports optional auth. - All routes are standardized under the
/apiprefix (breaking change for clients using old paths). - New endpoints:
/api/file-reader/get-content: Fetch remote file content (auto base64 for binary)./api/headless-browser-reader/get-content: Puppeteer-based content extraction with anti-bot randomization and Readability; optional/cleanupwhen reusing browser instances.
- OpenAPI docs updated and API key security scheme added.
- Environment config expanded:
API_KEY,REUSE_BROWSER_INSTANCE,HEADLESS,HEADLESS_STEALTH_LEVEL,PUPPETEER_EXECUTABLE_PATH,HEADLESS_LAUNCH_EXTRA_ARGS, and rate limiter params. - Server tweaks: trust proxy, configurable host binding, and rate limiter configuration.
Three simple steps:
-
Deploy this repo on any hosting provider that supports NodeJS (e.g., Render.com, AWS, etc.). (We also provide a Dockerfile for easy deployment on Docker-supported hosting providers).
-
Set up API Key Authentication: Configure the
API_KEYenvironment variable on your deployment. This key will be required for all API requests. -
Install your desired TypingMind's plugin. Update the server endpoint URL in your Settings page and configure the API key in your plugin settings.
Follow this guide for detailed instructions: How to Deploy Plugins Server on Render.com
Follow this guide for setting up a TypingMind's plugin: Build a TypingMind Plugin
After deploying, visit your Plugins Server URL to see the list of available endpoints (served in Swagger UI).
In your local development environment, visit http://localhost:3000 to access the page.
Note: this public server only hosts the API documentation. You cannot use this Public Server as your proxy. You must deploy your own Plugins Server to use all the available endpoints.
- Development Mode: To start the project in development mode, execute the following command in your terminal:
npm install
npm run devWe welcome your contributions! Help expand TypingMind Plugins Server's capabilities.
- Plugin Development: Check out our 'CONTRIBUTING.md' guide for details on creating plugins.
- Bug Reports & Ideas: Open issues to report bugs or suggest new features.
- Documentation: Help improve our documentation for other developers.
