โ๏ธ Admin Guide
๐ This guide is for platform administrators. Regular users should see the User Manual.
๐ Dashboard Overview
After logging in as admin at https://www.tokencnn.com/login, you'll see the ADMIN section in the sidebar with these management tools:
| Module | Function |
|---|---|
| ๐ Dashboard | User count, revenue, call volume stats |
| ๐ Channel Management | Manage upstream API channels (model providers) |
| ๐ฅ User Management | User list, balance, group management |
| ๐ Token Management | Manage all users' API tokens |
| ๐ฐ Redemption Codes | Create and manage coupon codes |
| ๐ Usage Logs | Call logs, consumption records |
| โ๏ธ System Settings | System configuration, payments, email |
๐ Channel Management
Channels are upstream model providers' APIs. Each channel allows your users to call that provider's models.
Adding a Channel
1Go to Channel Management โ Add Channel
2Select the channel type (e.g. DeepSeek, Qwen, Zhipu, etc.)
3Enter a name (e.g. "DeepSeek-Prod")
4Enter the API Key from the model provider
5Configure model mapping
6Click Test to verify connectivity
7If test passes, enable the channel
Supported Channel Types
| Type | Provider | Popular Models |
|---|---|---|
| DeepSeek | DeepSeek (China) | deepseek-chat, deepseek-reasoner |
| Alibaba (DashScope) | Alibaba Cloud | qwen-max, qwen-plus, qwen-turbo |
| Zhipu | Zhipu AI | glm-4, glm-4-flash |
| Moonshot | Moonshot AI | kimi-k2 |
| ByteDance | Volcengine | doubao-pro |
| Custom | Any OpenAI-compatible | Custom model names |
Priority & Weight
When multiple channels serve the same model, requests are distributed by:
- Priority โ lower number = higher priority. Primary channels use priority 1, backups use 2+
- Weight โ within the same priority, traffic is distributed by weight ratio
๐ค Model Management
Model Mapping
Configured in channel settings. Format:
# user-facing model name -> channel model name (comma-separated)
deepseek-chat,deepseek-reasoner
Multiple models can be mapped to a single channel. Users see the mapped names when making API calls.
Group Management
Control which models different user groups can access:
- Create groups (e.g. "Free", "VIP", "Enterprise")
- Assign allowed groups in channel settings
- Assign users to groups in User Management
Pricing
tokencnn.com uses a multiplier pricing model:
User price = Channel cost price ร Pricing multiplier
| Parameter | Description | Example |
|---|---|---|
| Input multiplier | Multiplier for input token cost | $0.14 ร 1.5 = $0.21 user price |
| Output multiplier | Multiplier for output token cost | $0.28 ร 2.0 = $0.56 user price |
โ ๏ธ Pricing changes take effect immediately. Announce changes before modifying active pricing.
๐ฅ User Management
User List
Admin โ User Management to see all registered users. Supports search and filtering.
User Operations
| Action | Description |
|---|---|
| View details | User info, balance, consumption history |
| Edit | Modify group, rate limits |
| Manual top-up | Add balance directly (compensation, promotions) |
| Disable/Enable | Suspend or restore user access |
| Delete | Permanently remove user (irreversible!) |
โ ๏ธ Deleting a user permanently removes all their data. Use "Disable" instead when possible.
โ๏ธ System Settings
General Settings
| Setting | Description |
|---|---|
| Site name | Shown in page title and emails |
| Homepage announcement | Global announcement on the home page |
| New user quota | Free balance for new signups (default $0.20) |
| Referral reward | Reward amount for inviting others |
| Top-up plans | Configure amounts and bonuses |
Payment Configuration
Configure payment gateways in Settings โ Payment:
- Credit card / PayPal / Crypto integration
- Custom payment gateway (if applicable)
Email Configuration
Set up SMTP for sending verification codes and notifications. Recommended: Resend or SendGrid.
Rate Limits
Configure per-model rate limiting in System Settings โ Rate Limits.
๐พ Backup & Recovery
What to Back Up
- Database:
/data/new-api/one-api.db(SQLite โ contains all data) - Website files:
/var/www/tokencnn/(static pages) - Nginx config:
/etc/nginx/conf.d/tokencnn.conf
Quick Backup
#!/bin/bash # Database backup cp /data/new-api/one-api.db /data/backups/db_$(date +%Y%m%d_%H%M%S).db # Website backup tar -czf /data/backups/tokencnn_$(date +%Y%m%d).tar.gz /var/www/tokencnn/
Restore
# Stop the container first!
docker stop new-api
cp /data/backups/db_20260530.db /data/new-api/one-api.db
docker start new-api
โ ๏ธ Always stop the container before restoring the database to prevent data corruption.