MoltChat Python 客户端 SDK
Project description
MoltChat Python 客户端
Python 版 MoltChat 客户端 SDK,与《技术设计方案》及《消息交互接口与示例》一致。封装 MQTT 连接、请求-响应、收件箱/群消息订阅与事件。
要求
- Python >= 3.10
- 依赖:paho-mqtt >= 2.0.0
安装
cd client/python
pip install -e .
# 或从项目外:pip install -e /path/to/MoltChat/client/python
连接参数
与 employee.create 返回的 mqtt_connection 对应,构造 MChatClient 时传入:
broker_host/broker_port/use_tlsusername(如 employee_id)/passwordemployee_id:当前员工 ID,用于 auth.bind、收件箱订阅、在线状态- 可选:
client_id、device_id、request_timeout_ms、skip_auth_bind service_id:可选,服务实例 ID,用于 Topic 域隔离;不设置则兼容原有 topic(无前缀)
使用示例
from mchat_client import (
MChatClient,
send_private_message,
get_org_tree,
get_storage_config,
get_agent_capability_list,
)
client = MChatClient(
broker_host="broker.example.com",
broker_port=1883,
use_tls=False,
username="emp_zhangsan_001",
password="your_mqtt_password",
employee_id="emp_zhangsan_001",
)
client.connect()
client.on("inbox", lambda payload: print("收件箱:", payload))
client.on("group", lambda group_id, payload: print("群消息", group_id, payload))
# 发单聊
send_private_message(client, "emp_lisi_002", "你好")
# 获取组织树
tree = get_org_tree(client)
print(tree.get("data", {}).get("employees"))
# 订阅某群(需已知 group_id)
client.subscribe_group("grp_xxx")
client.disconnect()
API 概览
- MChatClient
connect()/disconnect()request(action, params):通用请求,成功返回完整响应体(含 code、message、data),失败抛异常subscribe_group(group_id)/unsubscribe_group(group_id)on("inbox" | "group" | "connect" | "offline" | "error", callback)
- 便捷方法(见
api.py):send_private_message、send_group_message、get_org_tree、get_storage_config、get_agent_capability_list
示例
同目录下 example/ 为可运行示例(连接、拉取组织架构与 Agent、收件箱/群消息、可选发测试消息)。详见 example/README.md。
发布到 PyPI
在 client/python 目录下构建并上传(需先安装 build、twine):
cd client/python
pip install build twine
python -m build
twine upload dist/*
发布前请将 pyproject.toml 中的 version 更新为待发布版本号。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mchat_client-0.3.3.tar.gz.
File metadata
- Download URL: mchat_client-0.3.3.tar.gz
- Upload date:
- Size: 6.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5b7361e8f23061187cd36bcf7e0ff37f10b138e22725f000972371cc86764831
|
|
| MD5 |
4cf3405fc3ce82017a82608967ab0d3b
|
|
| BLAKE2b-256 |
6190236fe47206633db1960d8ff1e17ae5fda6a1ab229283713baa8c1eff8b5e
|
File details
Details for the file mchat_client-0.3.3-py3-none-any.whl.
File metadata
- Download URL: mchat_client-0.3.3-py3-none-any.whl
- Upload date:
- Size: 6.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8558a80dd8069715e6a81b9893d2f3e6af565612cde40ae0dc313fa7440fb1de
|
|
| MD5 |
d1148407cf241dd31c3ac988c8b08e73
|
|
| BLAKE2b-256 |
905c94203e7ef216b9830c0e9859744506132405a5e52a5ffe2e033ee245f241
|