@agentunion/kite 1.3.2 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (293) hide show
  1. package/CHANGELOG.md +302 -0
  2. package/cli.js +119 -4
  3. package/core/dependency_checker.py +250 -0
  4. package/core/env_checker.py +490 -0
  5. package/dependencies_lock.json +128 -0
  6. package/extensions/agents/assistant/entry.py +111 -1
  7. package/extensions/agents/assistant/server.py +279 -215
  8. package/extensions/channels/acp_channel/entry.py +111 -1
  9. package/extensions/channels/acp_channel/module.md +23 -22
  10. package/extensions/channels/acp_channel/server.py +279 -215
  11. package/extensions/event_hub_bench/entry.py +107 -1
  12. package/extensions/services/backup/entry.py +306 -21
  13. package/extensions/services/backup/module.md +24 -22
  14. package/extensions/services/evol/auth_manager.py +443 -0
  15. package/extensions/services/evol/config.yaml +149 -0
  16. package/extensions/services/evol/config_loader.py +117 -0
  17. package/extensions/services/evol/entry.py +406 -0
  18. package/extensions/services/evol/evol_api.py +173 -0
  19. package/extensions/services/evol/evol_config.json5 +29 -0
  20. package/extensions/services/evol/migrate_tokens.py +122 -0
  21. package/extensions/services/evol/module.md +32 -0
  22. package/extensions/services/evol/pairing.py +250 -0
  23. package/extensions/services/evol/pairing_codes.jsonl +1 -0
  24. package/extensions/services/evol/relay.py +682 -0
  25. package/extensions/services/evol/relay_config.json5 +67 -0
  26. package/extensions/services/evol/routes/__init__.py +1 -0
  27. package/extensions/services/evol/routes/routes_management_ws.py +127 -0
  28. package/extensions/services/evol/routes/routes_rpc.py +89 -0
  29. package/extensions/services/evol/routes/routes_test.py +61 -0
  30. package/extensions/services/evol/server.py +875 -0
  31. package/extensions/services/evol/static/css/style.css +1200 -0
  32. package/extensions/services/evol/static/index.html +781 -0
  33. package/extensions/services/evol/static/index_evol.html +14 -0
  34. package/extensions/services/evol/static/js/app.js +6304 -0
  35. package/extensions/services/evol/static/js/auth.js +326 -0
  36. package/extensions/services/evol/static/js/dialog.js +285 -0
  37. package/extensions/services/evol/static/js/evol-app-fixed.js +50 -0
  38. package/extensions/services/evol/static/js/evol-app.js +1949 -0
  39. package/extensions/services/evol/static/js/evol-app.js.bak +1800 -0
  40. package/extensions/services/evol/static/js/kernel-client-example.js +228 -0
  41. package/extensions/services/evol/static/js/kernel-client.js +396 -0
  42. package/extensions/services/evol/static/js/main.js +141 -0
  43. package/extensions/services/evol/static/js/registry-tests.js +585 -0
  44. package/extensions/services/evol/static/js/stats.js +217 -0
  45. package/extensions/services/evol/static/js/token-manager.js +175 -0
  46. package/extensions/services/evol/static/pairing.html +248 -0
  47. package/extensions/services/evol/static/test_registry.html +262 -0
  48. package/extensions/services/evol/static/test_relay.html +462 -0
  49. package/extensions/services/evol/stats_manager.py +240 -0
  50. package/extensions/services/model_service/entry.py +167 -19
  51. package/extensions/services/model_service/module.md +21 -22
  52. package/extensions/services/proxy/.claude/settings.local.json +13 -0
  53. package/extensions/services/proxy/CHANGELOG_20260308.md +258 -0
  54. package/extensions/services/proxy/_fix_prints.py +133 -0
  55. package/extensions/services/proxy/_fix_prints2.py +87 -0
  56. package/extensions/services/proxy/agentcp/LICENCE +178 -0
  57. package/extensions/services/proxy/agentcp/README copy.md +85 -0
  58. package/extensions/services/proxy/agentcp/README.md +260 -0
  59. package/extensions/services/proxy/agentcp/__init__.py +16 -0
  60. package/extensions/services/proxy/agentcp/agent.py +4 -0
  61. package/extensions/services/proxy/agentcp/agentcp.py +2494 -0
  62. package/extensions/services/proxy/agentcp/agentprofile.json +89 -0
  63. package/extensions/services/proxy/agentcp/ap/__init__.py +16 -0
  64. package/extensions/services/proxy/agentcp/ap/ap_client.py +316 -0
  65. package/extensions/services/proxy/agentcp/assets/images/wechat_qr.png +0 -0
  66. package/extensions/services/proxy/agentcp/backup/metrics.json +31 -0
  67. package/extensions/services/proxy/agentcp/base/__init__.py +20 -0
  68. package/extensions/services/proxy/agentcp/base/auth_client.py +257 -0
  69. package/extensions/services/proxy/agentcp/base/client.py +112 -0
  70. package/extensions/services/proxy/agentcp/base/env.py +34 -0
  71. package/extensions/services/proxy/agentcp/base/html_util.py +336 -0
  72. package/extensions/services/proxy/agentcp/base/log.py +98 -0
  73. package/extensions/services/proxy/agentcp/ca/__init__.py +17 -0
  74. package/extensions/services/proxy/agentcp/ca/ca_client.py +414 -0
  75. package/extensions/services/proxy/agentcp/ca/ca_root.py +74 -0
  76. package/extensions/services/proxy/agentcp/context/__init__.py +20 -0
  77. package/extensions/services/proxy/agentcp/context/context.py +73 -0
  78. package/extensions/services/proxy/agentcp/context/exceptions.py +114 -0
  79. package/extensions/services/proxy/agentcp/create_profile.py +125 -0
  80. package/extensions/services/proxy/agentcp/create_profile_weather.py +125 -0
  81. package/extensions/services/proxy/agentcp/db/__init__.py +15 -0
  82. package/extensions/services/proxy/agentcp/db/db_mananger.py +550 -0
  83. package/extensions/services/proxy/agentcp/docs/UDP_HEARTBEAT_FIX_REPORT.md +265 -0
  84. package/extensions/services/proxy/agentcp/docs/heartbeat_issue_analysis.md +291 -0
  85. package/extensions/services/proxy/agentcp/file/__init__.py +16 -0
  86. package/extensions/services/proxy/agentcp/file/file_client.py +141 -0
  87. package/extensions/services/proxy/agentcp/file/wss_binary_message.py +137 -0
  88. package/extensions/services/proxy/agentcp/hcp.py +299 -0
  89. package/extensions/services/proxy/agentcp/heartbeat/__init__.py +16 -0
  90. package/extensions/services/proxy/agentcp/heartbeat/heartbeat_client.py +360 -0
  91. package/extensions/services/proxy/agentcp/improved_scheduler.py +498 -0
  92. package/extensions/services/proxy/agentcp/llm_agent_utils.py +249 -0
  93. package/extensions/services/proxy/agentcp/llm_server.py +172 -0
  94. package/extensions/services/proxy/agentcp/mermaid.py +210 -0
  95. package/extensions/services/proxy/agentcp/message.py +149 -0
  96. package/extensions/services/proxy/agentcp/metrics.py +256 -0
  97. package/extensions/services/proxy/agentcp/monitoring/__init__.py +20 -0
  98. package/extensions/services/proxy/agentcp/monitoring/global_monitor.py +27 -0
  99. package/extensions/services/proxy/agentcp/monitoring/metrics_store.py +325 -0
  100. package/extensions/services/proxy/agentcp/monitoring/monitoring_service.py +269 -0
  101. package/extensions/services/proxy/agentcp/monitoring/sliding_window.py +222 -0
  102. package/extensions/services/proxy/agentcp/monitoring/standalone_reader.py +224 -0
  103. package/extensions/services/proxy/agentcp/msg/__init__.py +21 -0
  104. package/extensions/services/proxy/agentcp/msg/connection_manager.py +456 -0
  105. package/extensions/services/proxy/agentcp/msg/message_client.py +2058 -0
  106. package/extensions/services/proxy/agentcp/msg/message_serialize.py +263 -0
  107. package/extensions/services/proxy/agentcp/msg/open_ai_message.py +88 -0
  108. package/extensions/services/proxy/agentcp/msg/session_manager.py +1062 -0
  109. package/extensions/services/proxy/agentcp/msg/stream_client.py +267 -0
  110. package/extensions/services/proxy/agentcp/msg/websocket_file_receiver.py +89 -0
  111. package/extensions/services/proxy/agentcp/msg/ws_logger.py +685 -0
  112. package/extensions/services/proxy/agentcp/msg/wss_binary_message.py +137 -0
  113. package/extensions/services/proxy/agentcp/requirements.txt +7 -0
  114. package/extensions/services/proxy/agentcp/samples/agent_graph/README.md +37 -0
  115. package/extensions/services/proxy/agentcp/samples/agent_graph/agentprofile.json +89 -0
  116. package/extensions/services/proxy/agentcp/samples/agent_graph/create_profile.py +138 -0
  117. package/extensions/services/proxy/agentcp/samples/agent_graph/main.py +164 -0
  118. package/extensions/services/proxy/agentcp/samples/agent_use/create_profile.py +123 -0
  119. package/extensions/services/proxy/agentcp/samples/agent_use/llm/create_profile.py +129 -0
  120. package/extensions/services/proxy/agentcp/samples/agent_use/llm/env.json +5 -0
  121. package/extensions/services/proxy/agentcp/samples/agent_use/llm/main.py +146 -0
  122. package/extensions/services/proxy/agentcp/samples/agent_use/main.py +123 -0
  123. package/extensions/services/proxy/agentcp/samples/agent_use/readme.md +379 -0
  124. package/extensions/services/proxy/agentcp/samples/agent_use/search/create_profile.py +129 -0
  125. package/extensions/services/proxy/agentcp/samples/agent_use/search/main.py +28 -0
  126. package/extensions/services/proxy/agentcp/samples/agent_use/tool/create_profile.py +129 -0
  127. package/extensions/services/proxy/agentcp/samples/agent_use/tool/main.py +20 -0
  128. package/extensions/services/proxy/agentcp/samples/ali_amap/README.md +97 -0
  129. package/extensions/services/proxy/agentcp/samples/ali_amap/amap_agent.py +88 -0
  130. package/extensions/services/proxy/agentcp/samples/ali_amap/create_profile.py +125 -0
  131. package/extensions/services/proxy/agentcp/samples/compute_agent/agent/powershell.py +228 -0
  132. package/extensions/services/proxy/agentcp/samples/compute_agent/agent/software.py +63 -0
  133. package/extensions/services/proxy/agentcp/samples/compute_agent/agent/tools.py +36 -0
  134. package/extensions/services/proxy/agentcp/samples/compute_agent/browser_user.py +41 -0
  135. package/extensions/services/proxy/agentcp/samples/deepseek/README.md +79 -0
  136. package/extensions/services/proxy/agentcp/samples/deepseek/create_profile.py +126 -0
  137. package/extensions/services/proxy/agentcp/samples/deepseek/deepseek.py +42 -0
  138. package/extensions/services/proxy/agentcp/samples/dify_chat/README.md +78 -0
  139. package/extensions/services/proxy/agentcp/samples/dify_chat/create_profile.py +126 -0
  140. package/extensions/services/proxy/agentcp/samples/dify_chat/dify_chat.py +47 -0
  141. package/extensions/services/proxy/agentcp/samples/dify_workflow/README.md +78 -0
  142. package/extensions/services/proxy/agentcp/samples/dify_workflow/create_profile.py +126 -0
  143. package/extensions/services/proxy/agentcp/samples/dify_workflow/dify_workflow.py +46 -0
  144. package/extensions/services/proxy/agentcp/samples/executor/README.md +44 -0
  145. package/extensions/services/proxy/agentcp/samples/executor/agentprofile.json +89 -0
  146. package/extensions/services/proxy/agentcp/samples/executor/create_profile.py +139 -0
  147. package/extensions/services/proxy/agentcp/samples/executor/main.py +160 -0
  148. package/extensions/services/proxy/agentcp/samples/filereader/README.md +45 -0
  149. package/extensions/services/proxy/agentcp/samples/filereader/agentprofile.json +90 -0
  150. package/extensions/services/proxy/agentcp/samples/filereader/create_profile.py +137 -0
  151. package/extensions/services/proxy/agentcp/samples/filereader/main.py +253 -0
  152. package/extensions/services/proxy/agentcp/samples/filewriter/README.md +38 -0
  153. package/extensions/services/proxy/agentcp/samples/filewriter/agentprofile.json +91 -0
  154. package/extensions/services/proxy/agentcp/samples/filewriter/create_profile.py +138 -0
  155. package/extensions/services/proxy/agentcp/samples/filewriter/main.py +289 -0
  156. package/extensions/services/proxy/agentcp/samples/hcp/README.md +85 -0
  157. package/extensions/services/proxy/agentcp/samples/hcp/acp_weather_agent.zip +0 -0
  158. package/extensions/services/proxy/agentcp/samples/hcp/create_profile.py +125 -0
  159. package/extensions/services/proxy/agentcp/samples/hcp/hcp.py +237 -0
  160. package/extensions/services/proxy/agentcp/samples/helloworld/README.md +68 -0
  161. package/extensions/services/proxy/agentcp/samples/helloworld/hello_world.py +40 -0
  162. package/extensions/services/proxy/agentcp/samples/llm_agent/MEADME.md +117 -0
  163. package/extensions/services/proxy/agentcp/samples/llm_agent/create_profile.py +125 -0
  164. package/extensions/services/proxy/agentcp/samples/llm_agent/qwen_agent.py +136 -0
  165. package/extensions/services/proxy/agentcp/samples/local_llm_agent/README.md +90 -0
  166. package/extensions/services/proxy/agentcp/samples/local_llm_agent/create_profile.py +125 -0
  167. package/extensions/services/proxy/agentcp/samples/local_llm_agent/main.py +49 -0
  168. package/extensions/services/proxy/agentcp/samples/query_llm_from_agent/README.md +55 -0
  169. package/extensions/services/proxy/agentcp/samples/query_llm_from_agent/create_profile.py +125 -0
  170. package/extensions/services/proxy/agentcp/samples/query_llm_from_agent/main.py +23 -0
  171. package/extensions/services/proxy/agentcp/samples/query_weather_api_agent/README.md +103 -0
  172. package/extensions/services/proxy/agentcp/samples/query_weather_api_agent/create_profile.py +125 -0
  173. package/extensions/services/proxy/agentcp/samples/query_weather_api_agent/main.py +69 -0
  174. package/extensions/services/proxy/agentcp/samples/query_weather_from_agent/README.md +58 -0
  175. package/extensions/services/proxy/agentcp/samples/query_weather_from_agent/create_profile.py +125 -0
  176. package/extensions/services/proxy/agentcp/samples/query_weather_from_agent/main.py +25 -0
  177. package/extensions/services/proxy/agentcp/samples/qwen3/README.md +71 -0
  178. package/extensions/services/proxy/agentcp/samples/qwen3/create_profile.py +126 -0
  179. package/extensions/services/proxy/agentcp/samples/qwen3/qwen3.py +37 -0
  180. package/extensions/services/proxy/agentcp/samples/qwen3_tools/README.md +133 -0
  181. package/extensions/services/proxy/agentcp/samples/qwen3_tools/create_profile.py +126 -0
  182. package/extensions/services/proxy/agentcp/samples/qwen3_tools/qwen3_tools.py +98 -0
  183. package/extensions/services/proxy/agentcp/samples/search/create_profile_qwen.py +125 -0
  184. package/extensions/services/proxy/agentcp/samples/search/create_profile_search.py +125 -0
  185. package/extensions/services/proxy/agentcp/samples/search/qwen_agent.py +136 -0
  186. package/extensions/services/proxy/agentcp/samples/search/search_agent.py +170 -0
  187. package/extensions/services/proxy/agentcp/samples/wrapper_agently_to_agent/README.md +89 -0
  188. package/extensions/services/proxy/agentcp/samples/wrapper_agently_to_agent/create_profile.py +125 -0
  189. package/extensions/services/proxy/agentcp/samples/wrapper_agently_to_agent/main.py +44 -0
  190. package/extensions/services/proxy/agentcp/utils/__init__.py +15 -0
  191. package/extensions/services/proxy/agentcp/utils/file_util.py +117 -0
  192. package/extensions/services/proxy/agentcp/utils/proxy_bypass.py +99 -0
  193. package/extensions/services/proxy/agentcp/workflow.py +203 -0
  194. package/extensions/services/proxy/console_auth.py +109 -0
  195. package/extensions/services/proxy/evol/__init__.py +1 -0
  196. package/extensions/services/proxy/evol/config.py +37 -0
  197. package/extensions/services/proxy/evol/http/__init__.py +1 -0
  198. package/extensions/services/proxy/evol/http/async_http.py +551 -0
  199. package/extensions/services/proxy/evol/log.py +28 -0
  200. package/extensions/services/proxy/evol/presenter/__init__.py +2 -0
  201. package/extensions/services/proxy/evol/presenter/agentIdPresenter.py +1031 -0
  202. package/extensions/services/proxy/evol/presenter/apikeyPresenter.py +106 -0
  203. package/extensions/services/proxy/evol/presenter/configPresenter.py +1281 -0
  204. package/extensions/services/proxy/evol/presenter/userPresenter.py +477 -0
  205. package/extensions/services/proxy/evol/server/__init__.py +1 -0
  206. package/extensions/services/proxy/evol/server/claude_proxy_async.py +3430 -0
  207. package/extensions/services/proxy/evol/server/openclaw_proxy.py +1861 -0
  208. package/extensions/services/proxy/evol/server/proxy_config.py +15 -0
  209. package/extensions/services/proxy/evol/server/proxy_engine.py +501 -0
  210. package/extensions/services/proxy/evol/version.py +24 -0
  211. package/extensions/services/proxy/logs/websocket.log +260 -0
  212. package/extensions/services/proxy/main.py +240 -0
  213. package/extensions/services/proxy/requirements.txt +13 -0
  214. package/extensions/services/proxy/server.py +271 -0
  215. package/extensions/services/watchdog/entry.py +215 -26
  216. package/extensions/services/watchdog/module.md +1 -0
  217. package/extensions/services/watchdog/monitor.py +178 -38
  218. package/extensions/services/web/WEBSOCKET_STATUS.md +143 -0
  219. package/extensions/services/web/config_example.py +35 -0
  220. package/extensions/services/web/config_loader.py +110 -0
  221. package/extensions/services/web/entry.py +114 -26
  222. package/extensions/services/web/module.md +35 -24
  223. package/extensions/services/web/pairing.py +250 -0
  224. package/extensions/services/web/pairing_codes.jsonl +16 -0
  225. package/extensions/services/web/relay.py +643 -0
  226. package/extensions/services/web/relay_config.json5 +67 -0
  227. package/extensions/services/web/routes/routes_management_ws.py +127 -0
  228. package/extensions/services/web/routes/routes_rpc.py +89 -0
  229. package/extensions/services/web/routes/routes_test.py +61 -0
  230. package/extensions/services/web/routes/schemas.py +0 -22
  231. package/extensions/services/web/server.py +434 -99
  232. package/extensions/services/web/static/css/style.css +67 -28
  233. package/extensions/services/web/static/index.html +234 -44
  234. package/extensions/services/web/static/js/app.js +1335 -48
  235. package/extensions/services/web/static/js/kernel-client-example.js +161 -0
  236. package/extensions/services/web/static/js/kernel-client.js +383 -0
  237. package/extensions/services/web/static/js/registry-tests.js +558 -0
  238. package/extensions/services/web/static/js/token-manager.js +175 -0
  239. package/extensions/services/web/static/pairing.html +248 -0
  240. package/extensions/services/web/static/test_registry.html +262 -0
  241. package/extensions/services/web/web_config.json5 +29 -0
  242. package/kernel/entry.py +120 -32
  243. package/kernel/event_hub.py +141 -16
  244. package/kernel/module.md +60 -33
  245. package/kernel/registry_store.py +45 -36
  246. package/kernel/rpc_router.py +152 -59
  247. package/kernel/server.py +322 -26
  248. package/kite_cli/__init__.py +3 -0
  249. package/kite_cli/__main__.py +5 -0
  250. package/kite_cli/commands/__init__.py +1 -0
  251. package/kite_cli/commands/clean.py +101 -0
  252. package/kite_cli/commands/deps_install.py +67 -0
  253. package/kite_cli/commands/doctor.py +35 -0
  254. package/kite_cli/commands/env_check.py +45 -0
  255. package/kite_cli/commands/history.py +111 -0
  256. package/kite_cli/commands/info.py +96 -0
  257. package/kite_cli/commands/install.py +313 -0
  258. package/kite_cli/commands/list.py +143 -0
  259. package/kite_cli/commands/log.py +81 -0
  260. package/kite_cli/commands/prepare.py +49 -0
  261. package/kite_cli/commands/rollback.py +88 -0
  262. package/kite_cli/commands/search.py +73 -0
  263. package/kite_cli/commands/uninstall.py +85 -0
  264. package/kite_cli/commands/update.py +118 -0
  265. package/kite_cli/commands/venv_setup.py +56 -0
  266. package/kite_cli/core/__init__.py +1 -0
  267. package/kite_cli/core/checker.py +142 -0
  268. package/kite_cli/core/dependency.py +229 -0
  269. package/kite_cli/core/downloader.py +209 -0
  270. package/kite_cli/core/install_info.py +40 -0
  271. package/kite_cli/core/tool_installer.py +397 -0
  272. package/kite_cli/core/validator.py +78 -0
  273. package/kite_cli/main.py +317 -0
  274. package/kite_cli/utils/__init__.py +1 -0
  275. package/kite_cli/utils/i18n.py +252 -0
  276. package/kite_cli/utils/interactive.py +63 -0
  277. package/kite_cli/utils/operation_log.py +77 -0
  278. package/kite_cli/utils/paths.py +34 -0
  279. package/kite_cli/utils/version.py +308 -0
  280. package/launcher/entry.py +1124 -178
  281. package/launcher/logging_setup.py +104 -0
  282. package/launcher/module.md +46 -37
  283. package/launcher/module_scanner.py +11 -1
  284. package/main.py +4 -1
  285. package/package.json +9 -1
  286. package/python_version.json +4 -0
  287. package/requirements.txt +38 -0
  288. package/scripts/env-manager.js +328 -0
  289. package/scripts/plan_manager.py +315 -0
  290. package/scripts/python-env.js +79 -0
  291. package/scripts/scan_dependencies.py +461 -0
  292. package/scripts/setup-python-env.js +191 -0
  293. package/extensions/services/web/routes/routes_modules.py +0 -249
@@ -0,0 +1,260 @@
1
+ # AgentCP - 基于ACP协议的Agent标准通信库
2
+
3
+ ## Agent Communication Protocol(智能体通信协议,简称ACP)
4
+ ACP是一个开放协议,用于解决Agent互相通信协作的问题
5
+ ACP定义了agent的数据规范、agent之间的通信以及agent之间的授权规范
6
+ ACP Python SDK
7
+ ACP Python SDK是一个基于ACP协议的Agent标准通信库,用于解决Agent间的身份认证及通信问题。
8
+ ACP Python SDK提供了一系列API,用于创建AID、连接入网、构建会话,收发消息等。
9
+ ACP Python SDK支持多Agent协作,异步消息处理,支持内网穿透,支持Agent访问的负载均衡
10
+
11
+ ## 功能特性
12
+
13
+ - 🔐 Agent之间采用对等网络通信
14
+ - 🛡️ 基于https安全通信及PKI体系的安全身份认证、连接管理
15
+ - 🔄 异步消息处理,支持全链路流式输入输出
16
+ - 🤖 多 Agent 协作模式支持
17
+ - 📦 简洁易用的 API 设计
18
+ - 📊 支持Agent的高并发场景
19
+ - 📚 支持多种消息类型,包括文本、图片、文件等
20
+ - 🔗 支持内网部署,全网服务
21
+ - 🌐 异构兼容:标准化通信接口支持不同架构的Agent互联
22
+
23
+
24
+ ## 开始使用 AgentCP 吧!
25
+ ## 安装
26
+
27
+ ```bash
28
+ pip install agentcp
29
+ ```
30
+ ## 快速入门
31
+
32
+ ### 初始化ACP实例
33
+
34
+ ```python
35
+ from agentcp import AgentCP
36
+
37
+ # 创建 AgentCP 实例
38
+ # - agent_data_path: agent数据存储路径,必须外部指定,"."为当前目录
39
+ # - seed_password: 加密种子,用于私有证书加密
40
+ # - debug: 是否开启调试模式,默认为False
41
+ # - 注意:日志默认输出在控制台&当前路径下log.txt文件中
42
+ agent_data_path = "."
43
+ acp = AgentCP(agent_data_path,seed_password = "123456",debug=True)
44
+ ```
45
+
46
+ ### 创建新身份
47
+
48
+ ```python
49
+ # 创建新身份
50
+ # - ap: 接入点URL,指定Agent网络的接入点(如:"agentunion.cn")
51
+ # - name: Agent的身份标识,用于在该接入点上唯一标识该Agent
52
+ # - 创建身份成功,返回aid对象,创建身份失败,抛出异常,可获取失败原因
53
+ # - ps:下面两行代码将创建一个临时的aid标识,用于临时演示,实际使用时,需要将name替换为自己的名字,注意不能以guest开头
54
+ # - 正式的aid标识可以在浏览器中像二级域名一样直接访问
55
+ name = "guest"
56
+ aid = acp.create_aid("agentunion.cn", name)
57
+ ```
58
+ ### 获取身份列表
59
+ ```python
60
+ # 获取身份列表
61
+ list = acp.get_aid_list()
62
+ ```
63
+
64
+ ### 加载现有身份
65
+ ```python
66
+ # - load_success: 加载成功返回aid对象,加载失败返回None,详细原因请打开日志查看
67
+ aid = acp.load_aid("yourname.agentunion.cn")
68
+ ```
69
+
70
+ ### 设置消息监听器
71
+ #### 方式1:通过装饰器方式
72
+ ```python
73
+ # - msg: 当有消息
74
+ @aid.message_handler()
75
+ async def sync_message_handler(msg):
76
+ #print(f"收到消息数据: {msg}")
77
+ return True
78
+ ```
79
+
80
+ #### 方式2:通过方法灵活设置
81
+ ```python
82
+ # - msg: 当有消息
83
+ async def sync_message_handler(msg):
84
+ #print(f"收到消息数据: {msg}")
85
+ return True
86
+ aid.add_message_handler(sync_message_handler)
87
+ ```
88
+
89
+ #### 方式3:绑定sesion_id和方法监听器,指定监听某个会话的消息,该消息将不会被其他监听器监听
90
+ ```python
91
+ # - msg: 当有消息
92
+ async def sync_message_handler(msg):
93
+ #print(f"收到消息数据: {msg}")
94
+ return True
95
+ aid.add_message_handler(sync_message_handler,session_id = session_id)
96
+ ```
97
+
98
+ ### 移除消息监听器
99
+
100
+ ```python
101
+ # - msg: 当有消息
102
+ async def sync_message_handler(msg):
103
+ #print(f"收到消息数据: {msg}")
104
+ return True
105
+ aid.remove_message_handler(sync_message_handler,session_id = session_id)
106
+ ```
107
+
108
+ ### 连接到网络
109
+
110
+ ```python
111
+ # aid上线,开始监听消息
112
+ aid.online()
113
+ ```
114
+
115
+
116
+ ### 快速回复消息
117
+
118
+ ```python
119
+ # msg 收到的消息dict
120
+ # message 发送的消息对象或者消息文本
121
+ aid.reply_message(msg,message)
122
+ ```
123
+
124
+ ### 快速发送文本消息
125
+
126
+ ```python
127
+ # to_aid = "" 快速给aid发送消息
128
+ # message_content 消息文本
129
+ # asnyc_message_result 快速消息回调
130
+ aid.quick_send_messsage_content(to_aid,message_content,asnyc_message_result)
131
+ ```
132
+
133
+
134
+ ### 快速发送消息
135
+
136
+ ```python
137
+ # to_aid = "" 快速给aid发送消息
138
+ # message 消息对象
139
+ # asnyc_message_result 快速消息回调
140
+ aid.quick_send_messsage(to_aid,message,asnyc_message_result)
141
+ ```
142
+
143
+
144
+
145
+ ### 创建会话
146
+
147
+ ```python
148
+ # 创建会话
149
+ session_id = aid.create_session(
150
+ name="",
151
+ subject=""
152
+ )
153
+ ```
154
+
155
+
156
+ ### 再会话中发送文本消息
157
+
158
+ ```python
159
+ # to_aid_list = [] 指定多人接收处理
160
+ # session_id 会话id
161
+ # llm_content 大模型处理结果
162
+ aid.send_message_content(to_aid_list, session_id,llm_content)
163
+ ```
164
+
165
+ ### 在会话中发送消息
166
+
167
+ ```python
168
+ # 在会话中发送消息
169
+ aid.send_message(
170
+ session_id=session_id,
171
+ to_aid_list=["member1.agentunion.cn"],
172
+ message={"type": "text", "content": "你好!"}
173
+ )
174
+ ```
175
+
176
+
177
+
178
+ ### 在会话中发送流式消息
179
+
180
+ ```python
181
+ # to_aid_list = [] 指定多人接收处理
182
+ # session_id 会话id
183
+ # llm_content 大模型处理结果
184
+ # 大模型调用流式response
185
+ #type默认为text/event-stream
186
+ await aid.send_stream_message(to_aid_list, session_id,response,type)
187
+ ```
188
+
189
+ ## 核心 API
190
+
191
+ ### `AgentCP` 类
192
+ 主要负责信号处理和程序持续运行的控制。
193
+
194
+ | 方法 | 描述 |
195
+ |------|------|
196
+ | `__init__()` | 初始化信号量和退出钩子函数,可传入app_path |
197
+ | `get_aid_list()` | 获取aid列表,返回aid字符串列表 |
198
+ | `create_aid("ep_point,name")` | 创建aid,返回aid实例|
199
+ | `load_aid(aid_str)` | 加载aid,返回aid实例 |
200
+ | `register_signal_handler(exit_hook_func=None)` | 注册信号处理函数,处理 `SIGTERM` 和 `SIGINT` 信号 |
201
+ | `serve_forever()` | 使程序持续运行,直到关闭标志被设置 |
202
+ | `signal_handle(signum, frame)` | 信号处理函数,设置关闭标志并调用退出钩子函数 |
203
+
204
+ ### `AgentID` 类
205
+ 核心的 Agent 身份管理类,提供身份创建、消息处理、会话管理等功能。
206
+
207
+ #### 连接管理
208
+ | 方法 | 描述 |
209
+ |------|------|
210
+ | `__init__(id, app_path, ca_client, ep_url)` | 初始化 AgentID 实例 |
211
+ | `online()` | 初始化入口点客户端、心跳客户端和会话管理器,并建立连接 |
212
+ | `offline()` | 使 Agent 下线,关闭心跳客户端和入口点客户端 |
213
+ | `get_aid_info()` | 获取 Agent 的基本信息 |
214
+
215
+ #### 会话管理
216
+ | 方法 | 描述 |
217
+ |------|------|
218
+ | `create_session(name, subject, *, type='public')` | 创建会话,返回会话 ID 或 `None` |
219
+ | `invite_member(session_id, to_aid)` | 邀请成员加入指定会话 |
220
+ | `get_online_status(aids)` | 获取指定 Agent 的在线状态 |
221
+ | `get_conversation_list(aid, main_aid, page, page_size)` | 获取会话列表 |
222
+
223
+ #### 消息处理
224
+ | 方法 | 描述 |
225
+ |------|------|
226
+ | `add_message_handler(handler: Callable[[dict], Awaitable[None]], session_id: str = "")` | 添加消息监听器 |
227
+ | `send_message(to_aid_list: list, session_id: str, message: Union[AssistantMessageBlock, list[AssistantMessageBlock], dict], ref_msg_id: str = "", message_id: str = "")` | 发送消息 |
228
+ | `async send_stream_message(to_aid_list: list, session_id: str, response: AsyncGenerator[bytes, None], type: str = "text/event-stream", ref_msg_id: str = "")` | 发送流式消息 |
229
+ | `remove_message_handler(handler: typing.Callable[[dict], typing.Awaitable[None]], session_id:str="")` | 移除消息监听器 |
230
+ | `send_message_content(to_aid_list: list, session_id: str, llm_content: str, ref_msg_id: str="", message_id:str="")` | 发送文本消息 |
231
+ | `send_message(to_aid_list: list, sessionId: str, message: Union[AssistantMessageBlock, list[AssistantMessageBlock], dict], ref_msg_id: str="", message_id:str="")` | 发送消息,可以处理不同类型的消息对象 |
232
+ | `async send_stream_message(to_aid_list: list, session_id: str, response, type="text/event-stream", ref_msg_id:str="")` | 发送流式消息 |
233
+
234
+ #### 其他功能
235
+ | 方法 | 描述 |
236
+ |------|------|
237
+ | `post_public_data(json_path)` | 发送数据到接入点服务器 |
238
+ | `add_friend_agent(aid, name, description, avaUrl)` | 添加好友 Agent |
239
+ | `get_friend_agent_list()` | 获取好友 Agent 列表 |
240
+ | `get_agent_list()` | 获取所有 AgentID 列表 |
241
+ | `get_all_public_data()` | 获取所有 AgentID 的公共数据 |
242
+ | `get_session_member_list(session_id)` | 获取指定会话的成员列表 |
243
+ | `update_aid_info(aid, avaUrl, name, description)` | 更新 Agent 的信息 |
244
+
245
+ ## 微信支持
246
+ 如需技术交流或问题咨询,欢迎添加开发者微信:
247
+
248
+ ![WeChat QR Code](assets/images/wechat_qr.png) <!-- 请将二维码图片放在指定路径 -->
249
+
250
+ 📮 问题反馈: 19169495461@163.com
251
+
252
+ ## 许可证
253
+
254
+ MIT © 2025
255
+
256
+ ---
257
+
258
+ 📮 问题反馈: 19169495461@163.com
259
+
260
+
@@ -0,0 +1,16 @@
1
+ # 移除或注释掉原来的导入
2
+ #: code: utf-8
3
+
4
+ from requests.packages import urllib3
5
+ urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
6
+
7
+ from agentcp.utils.proxy_bypass import ensure_no_proxy_for_local_env
8
+ ensure_no_proxy_for_local_env()
9
+
10
+ from agentcp.agentcp import AgentCP, AgentID
11
+ from agentcp.mermaid import Mermaid
12
+ from agentcp.workflow import Workflow
13
+
14
+ __version__ = "0.1.96"
15
+
16
+ __all__ = ["__version__", "AgentCP", "AgentID","Mermaid","Workflow"]
@@ -0,0 +1,4 @@
1
+ class Agent:
2
+ def __init__(self, name:str, pomp):
3
+ self.name = name
4
+ self.pomp = pomp