Web Console
Open the Open4X Web Console at:
https://console.open4x.comThe console handles registration, service instances, connected accounts, API keys, billing, and API testing. Use API keys for production integrations; do not place a console JWT in a third-party service configuration.
First setup
- Register with an email and a password of at least 8 characters, or use configured GitHub OAuth.
- Open API Keys and create a key with only the scopes you need.
- Open Services and create a service instance with an alias.
- Send a test request from Playground or AI.
- Store the API key in a server-side environment variable before integrating it into your application.
Aliases may contain letters, numbers, hyphens, and underscores, up to 64 characters:
/v1/apps/ai/qwen122/chat
/v1/apps/webhook-push/ops/sendPages
| Page | Purpose |
|---|---|
| Dashboard | Account, balance, service counts, and shortcuts |
| Services | Create, edit, disable, and delete service instances |
| Connections | Encrypt and reuse provider keys and Telegram Bot Tokens |
| AI | Select an AI service and model, then run chat or streaming tests |
| SocialOps | Manage Telegram channels, inbox threads, notes, and replies |
| Inbox | Review Bot and Widget conversations |
| Playground | Debug APIs with raw HTTP requests |
| Billing | Review balance, plans, and transactions |
| API Keys | Create and revoke server-side keys |
| Teams / Roles | Manage members and permissions |
| Settings | Update profile, password, and account settings |
Navigation is permission-aware. A missing menu usually means the current team role does not include the required permission.
Scopes
| Use case | Scope |
|---|---|
| AI | ai:invoke |
| Bot | bot:send |
| Webhook Push | push:send |
| SocialOps read | socialops:read |
| SocialOps write and replies | socialops:write |
| TRON energy lease | tron:lease |
An API key with no scopes is denied by scope-protected routes. Use explicit scopes, or * only for controlled administrative integrations.
AI Playground
The AI page lets you select a service and model, set maximum tokens, per-request budget, temperature, top P, and a system prompt. Quality guard runs an additional review request for obvious contradictions, unsafe advice, and missing conditions. It adds latency and cost and does not replace fact checking.
Local Qwen and other OpenAI-compatible models are configured through base_url and default_model. The model name is selected in the request or service configuration; it does not need to be part of a third-level domain. For incomplete output, check max_tokens_per_request, upstream context limits, timeout, and fallback aliases.
Telegram and SocialOps
To bring Telegram messages into the console:
- Add an active Telegram Bot connection in Connections.
- Create and enable a Bot or SocialOps service in Services.
- Add a Telegram channel in SocialOps and enter the chat ID.
- Add the Bot to the group or channel; channel delivery usually requires administrator access.
A working Bot webhook does not automatically mean a SocialOps channel is configured. Check the Bot service, SocialOps service, channel status, chat ID, and group privacy mode.
GitHub, Discord, and Teams are represented in the normalized event model, but production OAuth, callback verification, and outbound adapters still require provider-specific configuration.
Billing and security
Production balances should use the formal payment flow. mock-deposit is limited to sandbox or internal testing and is rejected in production.
API keys, Bot Tokens, OAuth secrets, and provider keys are redacted in lists and responses. A newly created API key is shown once; revoke and replace it if lost.
Local development
Run the Worker:
npm run devIn another terminal, run the console:
VITE_API_BASE=http://127.0.0.1:8787 \
npm --prefix apps/console run devBuild the production console bundle:
npm --prefix apps/console run build