YOUR AI PLATE HANDBOOK
Testing & troubleshooting
Check package behavior and diagnose common integration failures.
Desktop source reviewed October 5, 2026
Before distributing a package
- Use stable IDs, a version, descriptive tool names, and complete argument schemas.
- Test success, missing/invalid input, network timeout, malformed JSON, and unauthorized responses.
- Check import, enable, disable, reload, restart, export, and uninstall.
- Test UI initialization twice and verify cleanup of your own listeners and DOM.
- Strip .env, API tokens, user files, databases, and credentials from archives.
- Include a README with companion setup, dependencies, endpoints, expected outputs, and current limitations.
Common problems
| Symptom | What to inspect |
|---|---|
| Plugin rejected | name, tools array, each tool’s description, parameters schema, handler.type. |
| Connector rejected in Plugins | Use App Connectors for connector.json archives. |
| Tool absent | Enabled state, tool name collision, model tool support, and reloaded schemas. |
| Connection refused | Companion process running, host/port, protocol, and firewall. |
| Health test returns 404 | Set options.test_path to a real GET route such as /health. |
| GET endpoint ignores arguments | Add path/query placeholders; GET has no automatic query serialization. |
| WebSocket never resolves | Matching id, success boolean, expected action, and protocol handshake. |
| Provider 401 / 403 | Key, account permissions, provider selection, and stale environment values. |
| Provider 429 | Account usage, provider quota, rate limits, and bounded retry settings. |
| Model not found | Exact model ID and account/provider availability. |
| Chat works; RAG fails | Separate embedding model/provider credentials and dimensions. |
| UI script runs twice | Make initialization idempotent; host refresh can re-execute scripts. |
Source map
Implementation sources
Paths in your AI Plate source checkout:
core/types.tscore/plugin-manager.tscore/connector-manager.tscore/config.tsproviders/provider-registry.tsproviders/provider-factory.tselectron/preload.cjsui/app.js
Report the app version, extension version, provider/model, minimal reproduction, and redacted error. Keep credentials and private prompts out of reports. Starter examples are checked locally; live provider requests require your own credentials and are not run by this site.
