To integrate conversational AI capabilities into your own business system, we recommend using Tencent Cloud’s official open-source project ADP-chat-client for quick deployment, significantly reducing development costs.
ADP-chat-client is an open-source conversational solution for AI agent applications. It provides a ready-to-use frontend interface (with flexible customization support) and a stable, reliable backend service. AI agent applications built on the Tencent Cloud Agent Development Platform (Tencent Cloud ADP) can be quickly deployed as web applications or seamlessly integrated into mini-programs, Android, iOS, and other multi-platform environments through this project, reusing the platform’s existing workflows and architecture without redundant development of basic features. The system supports realtime chat, conversation history management, voice input, image understanding, and integration with third-party account systems. It currently supports deployment via Docker. You can visit the ADP-chat-client GitHub repository to explore the source code, or checkout the official project website for detailed documentation and feature introductions. Docker Quick Deployment
The instructions below describe how to deploy ADP-chat-client efficiently with Docker:
System Requirements
Before the deployment, please ensure the machine meets the minimum requirements:
CPU >= 2 Core
RAM >= 4 GiB
Operating system: Linux/macOS. If you wish to run on Windows systems, you’ll need to use WSL (Windows Subsystem for Linux) or a cloud server running Linux.
You can also use Tencent Cloud CVM (Cloud Virtual Machine) to deploy ADP-chat-client, making it easier to manage your development environment, ensure data security, and maintain stable cloud-based access. Deployment Steps
1. Clone the source code and enter the directory.
git clone https://github.com/TencentCloudADP/adp-chat-client.git
cd adp-chat-client
2. Install Docker and set the image configuration (skip this step if Docker is already installed on the system).
For TencentOS Server 4.4:
bash script/init_env_tencentos.sh
For Ubuntu Server 24.04:
bash script/init_env_ubuntu.sh
3. Copy the .env.example file to the deploy folder.
cp server/.env.example deploy/default/.env
4. Edit the configuration items in the deploy/default/.env file.
Fill in the following Key and app Key based on Your Tencent Cloud account and ADP platform relevant information:
TC_SECRET_APPID=
TC_SECRET_ID=
TC_SECRET_KEY=
APP_CONFIGS='[
{
"Vendor":"Tencent",
"ApplicationId":"Unique ID of the dialogue application, uniquely identifying a dialogue application within this system. Recommended to use appid, or generate a random UUID using the uuidgen command."
"Comment": "note"
"AppKey": "",
"International": false
}
]'
SECRET_KEY=
Note:
1. The content ofAPP_CONFIGS is in JSON format. Please adhere to JSON specifications, e.g., the last item should not end with a comma, and // comments are not supported.
2. Comment: Can be filled in freely for easy identification of the corresponding agent application.
3. International: If the agent application is developed on the Internaltional site of ADP, set the value to true.
4. ApplicationId: Access any ADP application and check the appid in the application URL.
For example, if an application's link is https://adp.cloud.tencent.com/adp/#/app/knowledge/app-config?appid=1959******8208&appType=knowledge_qa&spaceId=default_space, then its ApplicationId is 1959******8208.
5. Build image
6. Start the container.
Note:
Official production systems need to pass through self-owned domain name application for SSL Certificates and use Nginx to deploy via reverse proxy and other methods on the https protocol. If deployed based on the http protocol, specific features (such as speech recognition, message replication) may not function normally.
7. Login.
This system supports integration with existing account systems. Here, we demonstrate the URL Redirection login method:
The command above can obtain the login URL. Open the URL in browser for seamless login.
If OAuth login is configured, you can log in by openinghttp://localhost:8000 in the browser.
8. Troubleshoot.
sudo docker ps
sudo make logs
Service Configuration
To use the system, enable/configure the following services:
Dialogue Title generation: Enable Atomic Capabilities Postpaid.
Voice Input: ASR settings, enable real-time speech recognition in desired regions. App Permissions: Make sure the account associated with yourTC_SECRET_ID/TC_SECRET_KEY has permission to access the applications you’ve added. For details, checkout Platform-Side User Permissions. Account System Integration
GitHub OAuth
GitHub OAuth is supported by default. You can can configure it as needed:
OAUTH_GITHUB_CLIENT_ID=
OAUTH_GITHUB_SECRET=
Note:
When creating a GitHub OAuth application, fill in the callback URL as:SERVICE_API_URL+/oauth/callback/github, for example:http://localhost:8000/oauth/callback/github.
Microsoft Entra ID OAuth
Microsoft Entra ID OAuth is supported by default. You can configure it as needed.
OAUTH_MICROSOFT_ENTRA_CLIENT_ID=
OAUTH_MICROSOFT_ENTRA_SECRET=
Note:
When creating a Microsoft Entra ID OAuth application, fill in the callback URL as:SERVICE_API_URL+/oauth/callback/ms_entra_id, for example:http://localhost:8000/oauth/callback/ms_entra_id.
Other OAuth
OAuth protocol enables seamless authentication and authorization. Developers can customize authentication methods according to their requirements. If you need to use a different OAuth system, you can modify the server/core/oauth.py file to adapt to specific protocol.
URL Redirection
If you have an existing account system but do not implement a standard OAuth flow, you can integrate with the system using a URL redirect method for simpler integration.
1. Your existing account service: Generate a URL pointing to this system, carrying CustomerId, Name, ExtraInfo, Timestamp, signature, etc.
2. User: Clicks the URL to login to their account.
3. This system: Verifies the signature, auto-creates/binds the account, generates a login session, and redirects to the chat page.
Detailed Parameter
|
URL
| https://your-domain.com/account/customer?CustomerId=&Name=&Timestamp=&ExtraInfo=&Code= |
CustomerId
| The uid of your existing account system |
Name
| The username of your existing account system (Optional) |
Timestamp
| Current timestamp |
ExtraInfo
| User information |
Code
| Signature, SHA256(HMAC(CUSTOMER_ACCOUNT_SECRET_KEY, CustomerId + Name + ExtraInfo + str(Timestamp))) |
Note:
1. The parameters above must be URL-encoded, for more details you can refer to the CoreAccount.customer_auth in server/core/account.py file, and generate_customer_account_url in server/main.py file for URL generation method.
2. Configuration of CUSTOMER_ACCOUNT_SECRET_KEY in .env file is needed, ehich is a random string that can be generated using the uuidgen command.