ErisPulse 2.3.1__tar.gz → 2.3.2__tar.gz

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 (144) hide show
  1. {erispulse-2.3.1 → erispulse-2.3.2}/.github/tools/merge_md.py +114 -16
  2. erispulse-2.3.2/.github/workflows/auto-update-docs.yml +152 -0
  3. {erispulse-2.3.1 → erispulse-2.3.2}/CHANGELOG.md +12 -0
  4. {erispulse-2.3.1 → erispulse-2.3.2}/PKG-INFO +1 -1
  5. {erispulse-2.3.1 → erispulse-2.3.2}/docs/README.md +1 -0
  6. {erispulse-2.3.1 → erispulse-2.3.2}/docs/ai/AIDocs/ErisPulse-AdapterDev.md +565 -134
  7. erispulse-2.3.2/docs/ai/AIDocs/ErisPulse-Core.md +6697 -0
  8. {erispulse-2.3.1 → erispulse-2.3.2}/docs/ai/AIDocs/ErisPulse-Full.md +565 -134
  9. {erispulse-2.3.1 → erispulse-2.3.2}/docs/ai/AIDocs/ErisPulse-ModuleDev.md +111 -15
  10. erispulse-2.3.2/docs/ai/AIDocs/no-api/ErisPulse-AdapterDev.md +4095 -0
  11. erispulse-2.3.2/docs/ai/AIDocs/no-api/ErisPulse-Core.md +3076 -0
  12. erispulse-2.3.2/docs/ai/AIDocs/no-api/ErisPulse-Full.md +4657 -0
  13. erispulse-2.3.2/docs/ai/AIDocs/no-api/ErisPulse-ModuleDev.md +3375 -0
  14. {erispulse-2.3.1 → erispulse-2.3.2}/docs/api/ErisPulse/Core/Bases/__init__.md +2 -2
  15. {erispulse-2.3.1 → erispulse-2.3.2}/docs/api/ErisPulse/Core/Bases/adapter.md +2 -2
  16. {erispulse-2.3.1 → erispulse-2.3.2}/docs/api/ErisPulse/Core/Bases/module.md +2 -2
  17. {erispulse-2.3.1 → erispulse-2.3.2}/docs/api/ErisPulse/Core/Event/__init__.md +2 -2
  18. {erispulse-2.3.1 → erispulse-2.3.2}/docs/api/ErisPulse/Core/Event/base.md +2 -2
  19. {erispulse-2.3.1 → erispulse-2.3.2}/docs/api/ErisPulse/Core/Event/command.md +2 -2
  20. {erispulse-2.3.1 → erispulse-2.3.2}/docs/api/ErisPulse/Core/Event/exceptions.md +2 -2
  21. {erispulse-2.3.1 → erispulse-2.3.2}/docs/api/ErisPulse/Core/Event/message.md +2 -2
  22. {erispulse-2.3.1 → erispulse-2.3.2}/docs/api/ErisPulse/Core/Event/meta.md +2 -2
  23. {erispulse-2.3.1 → erispulse-2.3.2}/docs/api/ErisPulse/Core/Event/notice.md +2 -2
  24. {erispulse-2.3.1 → erispulse-2.3.2}/docs/api/ErisPulse/Core/Event/request.md +2 -2
  25. {erispulse-2.3.1 → erispulse-2.3.2}/docs/api/ErisPulse/Core/_self_config.md +10 -2
  26. {erispulse-2.3.1 → erispulse-2.3.2}/docs/api/ErisPulse/Core/adapter.md +2 -2
  27. {erispulse-2.3.1 → erispulse-2.3.2}/docs/api/ErisPulse/Core/config.md +2 -2
  28. {erispulse-2.3.1 → erispulse-2.3.2}/docs/api/ErisPulse/Core/exceptions.md +2 -2
  29. {erispulse-2.3.1 → erispulse-2.3.2}/docs/api/ErisPulse/Core/lifecycle.md +2 -2
  30. {erispulse-2.3.1 → erispulse-2.3.2}/docs/api/ErisPulse/Core/logger.md +2 -2
  31. {erispulse-2.3.1 → erispulse-2.3.2}/docs/api/ErisPulse/Core/module.md +2 -2
  32. {erispulse-2.3.1 → erispulse-2.3.2}/docs/api/ErisPulse/Core/router.md +2 -2
  33. {erispulse-2.3.1 → erispulse-2.3.2}/docs/api/ErisPulse/Core/storage.md +2 -2
  34. {erispulse-2.3.1 → erispulse-2.3.2}/docs/api/ErisPulse/Core/ux.md +2 -2
  35. {erispulse-2.3.1 → erispulse-2.3.2}/docs/api/ErisPulse/__init__.md +30 -3
  36. {erispulse-2.3.1 → erispulse-2.3.2}/docs/api/ErisPulse/__main__.md +2 -2
  37. {erispulse-2.3.1 → erispulse-2.3.2}/docs/api/ErisPulse/utils/__init__.md +2 -2
  38. {erispulse-2.3.1 → erispulse-2.3.2}/docs/api/ErisPulse/utils/cli.md +14 -13
  39. erispulse-2.3.2/docs/api/ErisPulse/utils/console.md +23 -0
  40. {erispulse-2.3.1 → erispulse-2.3.2}/docs/api/ErisPulse/utils/package_manager.md +2 -2
  41. {erispulse-2.3.1 → erispulse-2.3.2}/docs/api/ErisPulse/utils/reload_handler.md +2 -2
  42. {erispulse-2.3.1 → erispulse-2.3.2}/docs/development/adapter.md +274 -3
  43. {erispulse-2.3.1 → erispulse-2.3.2}/docs/platform-features/README.md +1 -0
  44. {erispulse-2.3.1 → erispulse-2.3.2}/docs/platform-features/onebot11.md +110 -16
  45. erispulse-2.3.2/docs/platform-features/onebot12.md +339 -0
  46. {erispulse-2.3.1 → erispulse-2.3.2}/packages.json +16 -4
  47. {erispulse-2.3.1 → erispulse-2.3.2}/pyproject.toml +1 -1
  48. {erispulse-2.3.1 → erispulse-2.3.2}/src/ErisPulse/utils/cli.py +9 -4
  49. {erispulse-2.3.1 → erispulse-2.3.2}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  50. {erispulse-2.3.1 → erispulse-2.3.2}/.github/ISSUE_TEMPLATE/module_submission.md +0 -0
  51. {erispulse-2.3.1 → erispulse-2.3.2}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  52. {erispulse-2.3.1 → erispulse-2.3.2}/.github/assets/docs/install_pip.gif +0 -0
  53. {erispulse-2.3.1 → erispulse-2.3.2}/.github/assets/erispulse_logo.png +0 -0
  54. {erispulse-2.3.1 → erispulse-2.3.2}/.github/scripts/update_packages.py +0 -0
  55. {erispulse-2.3.1 → erispulse-2.3.2}/.github/tools/update-api-docs.py +0 -0
  56. {erispulse-2.3.1 → erispulse-2.3.2}/.github/workflows/auto-tag-release.yml +0 -0
  57. {erispulse-2.3.1 → erispulse-2.3.2}/.github/workflows/auto-update-packages.yml +0 -0
  58. {erispulse-2.3.1 → erispulse-2.3.2}/.github/workflows/code-quality-check.yml +0 -0
  59. {erispulse-2.3.1 → erispulse-2.3.2}/.github/workflows/pypi-publish.yml +0 -0
  60. {erispulse-2.3.1 → erispulse-2.3.2}/.gitignore +0 -0
  61. {erispulse-2.3.1 → erispulse-2.3.2}/.python-version +0 -0
  62. {erispulse-2.3.1 → erispulse-2.3.2}/CODE_OF_CONDUCT.md +0 -0
  63. {erispulse-2.3.1 → erispulse-2.3.2}/CONTRIBUTING.md +0 -0
  64. {erispulse-2.3.1 → erispulse-2.3.2}/LICENSE +0 -0
  65. {erispulse-2.3.1 → erispulse-2.3.2}/README.md +0 -0
  66. {erispulse-2.3.1 → erispulse-2.3.2}/SECURITY.md +0 -0
  67. {erispulse-2.3.1 → erispulse-2.3.2}/devs/test.py +0 -0
  68. {erispulse-2.3.1 → erispulse-2.3.2}/devs/test_adapter.py +0 -0
  69. {erispulse-2.3.1 → erispulse-2.3.2}/devs/test_cmd.py +0 -0
  70. {erispulse-2.3.1 → erispulse-2.3.2}/devs/test_event.py +0 -0
  71. {erispulse-2.3.1 → erispulse-2.3.2}/devs/test_files/test.docx +0 -0
  72. {erispulse-2.3.1 → erispulse-2.3.2}/devs/test_files/test.jpg +0 -0
  73. {erispulse-2.3.1 → erispulse-2.3.2}/devs/test_files/test.mp4 +0 -0
  74. {erispulse-2.3.1 → erispulse-2.3.2}/docs/ai/README.md +0 -0
  75. {erispulse-2.3.1 → erispulse-2.3.2}/docs/ai/module-generation.md +0 -0
  76. {erispulse-2.3.1 → erispulse-2.3.2}/docs/core/README.md +0 -0
  77. {erispulse-2.3.1 → erispulse-2.3.2}/docs/core/adapters.md +0 -0
  78. {erispulse-2.3.1 → erispulse-2.3.2}/docs/core/best-practices.md +0 -0
  79. {erispulse-2.3.1 → erispulse-2.3.2}/docs/core/cli.md +0 -0
  80. {erispulse-2.3.1 → erispulse-2.3.2}/docs/core/concepts.md +0 -0
  81. {erispulse-2.3.1 → erispulse-2.3.2}/docs/core/event-system.md +0 -0
  82. {erispulse-2.3.1 → erispulse-2.3.2}/docs/core/lazy-loading.md +0 -0
  83. {erispulse-2.3.1 → erispulse-2.3.2}/docs/core/modules.md +0 -0
  84. {erispulse-2.3.1 → erispulse-2.3.2}/docs/core/router.md +0 -0
  85. {erispulse-2.3.1 → erispulse-2.3.2}/docs/core/self-config.md +0 -0
  86. {erispulse-2.3.1 → erispulse-2.3.2}/docs/development/README.md +0 -0
  87. {erispulse-2.3.1 → erispulse-2.3.2}/docs/development/cli.md +0 -0
  88. {erispulse-2.3.1 → erispulse-2.3.2}/docs/development/module.md +0 -0
  89. {erispulse-2.3.1 → erispulse-2.3.2}/docs/platform-features/email.md +0 -0
  90. {erispulse-2.3.1 → erispulse-2.3.2}/docs/platform-features/maintain-notes.md +0 -0
  91. {erispulse-2.3.1 → erispulse-2.3.2}/docs/platform-features/telegram.md +0 -0
  92. {erispulse-2.3.1 → erispulse-2.3.2}/docs/platform-features/yunhu.md +0 -0
  93. {erispulse-2.3.1 → erispulse-2.3.2}/docs/quick-start.md +0 -0
  94. {erispulse-2.3.1 → erispulse-2.3.2}/docs/standards/README.md +0 -0
  95. {erispulse-2.3.1 → erispulse-2.3.2}/docs/standards/api-response.md +0 -0
  96. {erispulse-2.3.1 → erispulse-2.3.2}/docs/standards/event-conversion.md +0 -0
  97. {erispulse-2.3.1 → erispulse-2.3.2}/docs/styleguide/README.md +0 -0
  98. {erispulse-2.3.1 → erispulse-2.3.2}/docs/styleguide/docstring_spec.md +0 -0
  99. {erispulse-2.3.1 → erispulse-2.3.2}/examples/example-adapter/LICENSE +0 -0
  100. {erispulse-2.3.1 → erispulse-2.3.2}/examples/example-adapter/MyAdapter/Converter.py +0 -0
  101. {erispulse-2.3.1 → erispulse-2.3.2}/examples/example-adapter/MyAdapter/Core.py +0 -0
  102. {erispulse-2.3.1 → erispulse-2.3.2}/examples/example-adapter/MyAdapter/__init__.py +0 -0
  103. {erispulse-2.3.1 → erispulse-2.3.2}/examples/example-adapter/README.md +0 -0
  104. {erispulse-2.3.1 → erispulse-2.3.2}/examples/example-adapter/pyproject.toml +0 -0
  105. {erispulse-2.3.1 → erispulse-2.3.2}/examples/example-cli-module/LICENSE +0 -0
  106. {erispulse-2.3.1 → erispulse-2.3.2}/examples/example-cli-module/README.md +0 -0
  107. {erispulse-2.3.1 → erispulse-2.3.2}/examples/example-cli-module/my_cli_module/__init__.py +0 -0
  108. {erispulse-2.3.1 → erispulse-2.3.2}/examples/example-cli-module/my_cli_module/cli.py +0 -0
  109. {erispulse-2.3.1 → erispulse-2.3.2}/examples/example-cli-module/pyproject.toml +0 -0
  110. {erispulse-2.3.1 → erispulse-2.3.2}/examples/example-module/LICENSE +0 -0
  111. {erispulse-2.3.1 → erispulse-2.3.2}/examples/example-module/MyModule/Core.py +0 -0
  112. {erispulse-2.3.1 → erispulse-2.3.2}/examples/example-module/MyModule/__init__.py +0 -0
  113. {erispulse-2.3.1 → erispulse-2.3.2}/examples/example-module/README.md +0 -0
  114. {erispulse-2.3.1 → erispulse-2.3.2}/examples/example-module/pyproject.toml +0 -0
  115. {erispulse-2.3.1 → erispulse-2.3.2}/scripts/install/install.ps1 +0 -0
  116. {erispulse-2.3.1 → erispulse-2.3.2}/scripts/install/install.sh +0 -0
  117. {erispulse-2.3.1 → erispulse-2.3.2}/src/ErisPulse/Core/Bases/__init__.py +0 -0
  118. {erispulse-2.3.1 → erispulse-2.3.2}/src/ErisPulse/Core/Bases/adapter.py +0 -0
  119. {erispulse-2.3.1 → erispulse-2.3.2}/src/ErisPulse/Core/Bases/module.py +0 -0
  120. {erispulse-2.3.1 → erispulse-2.3.2}/src/ErisPulse/Core/Event/__init__.py +0 -0
  121. {erispulse-2.3.1 → erispulse-2.3.2}/src/ErisPulse/Core/Event/base.py +0 -0
  122. {erispulse-2.3.1 → erispulse-2.3.2}/src/ErisPulse/Core/Event/command.py +0 -0
  123. {erispulse-2.3.1 → erispulse-2.3.2}/src/ErisPulse/Core/Event/exceptions.py +0 -0
  124. {erispulse-2.3.1 → erispulse-2.3.2}/src/ErisPulse/Core/Event/message.py +0 -0
  125. {erispulse-2.3.1 → erispulse-2.3.2}/src/ErisPulse/Core/Event/meta.py +0 -0
  126. {erispulse-2.3.1 → erispulse-2.3.2}/src/ErisPulse/Core/Event/notice.py +0 -0
  127. {erispulse-2.3.1 → erispulse-2.3.2}/src/ErisPulse/Core/Event/request.py +0 -0
  128. {erispulse-2.3.1 → erispulse-2.3.2}/src/ErisPulse/Core/__init__.py +0 -0
  129. {erispulse-2.3.1 → erispulse-2.3.2}/src/ErisPulse/Core/_self_config.py +0 -0
  130. {erispulse-2.3.1 → erispulse-2.3.2}/src/ErisPulse/Core/adapter.py +0 -0
  131. {erispulse-2.3.1 → erispulse-2.3.2}/src/ErisPulse/Core/config.py +0 -0
  132. {erispulse-2.3.1 → erispulse-2.3.2}/src/ErisPulse/Core/exceptions.py +0 -0
  133. {erispulse-2.3.1 → erispulse-2.3.2}/src/ErisPulse/Core/lifecycle.py +0 -0
  134. {erispulse-2.3.1 → erispulse-2.3.2}/src/ErisPulse/Core/logger.py +0 -0
  135. {erispulse-2.3.1 → erispulse-2.3.2}/src/ErisPulse/Core/module.py +0 -0
  136. {erispulse-2.3.1 → erispulse-2.3.2}/src/ErisPulse/Core/router.py +0 -0
  137. {erispulse-2.3.1 → erispulse-2.3.2}/src/ErisPulse/Core/storage.py +0 -0
  138. {erispulse-2.3.1 → erispulse-2.3.2}/src/ErisPulse/Core/ux.py +0 -0
  139. {erispulse-2.3.1 → erispulse-2.3.2}/src/ErisPulse/__init__.py +0 -0
  140. {erispulse-2.3.1 → erispulse-2.3.2}/src/ErisPulse/__main__.py +0 -0
  141. {erispulse-2.3.1 → erispulse-2.3.2}/src/ErisPulse/utils/__init__.py +0 -0
  142. {erispulse-2.3.1 → erispulse-2.3.2}/src/ErisPulse/utils/console.py +0 -0
  143. {erispulse-2.3.1 → erispulse-2.3.2}/src/ErisPulse/utils/package_manager.py +0 -0
  144. {erispulse-2.3.1 → erispulse-2.3.2}/src/ErisPulse/utils/reload_handler.py +0 -0
@@ -1,6 +1,38 @@
1
1
  import os
2
2
  from datetime import datetime
3
3
 
4
+ """
5
+ ErisPulse文档合并工具
6
+
7
+ 使用方法:
8
+ 1. 默认生成包含API的完整文档和开发文档:
9
+ python merge_md.py
10
+
11
+ 2. 生成不包含API的文档版本:
12
+ python merge_md.py no-api
13
+
14
+ 3. 只生成完整文档:
15
+ python merge_md.py full
16
+
17
+ 4. 只生成开发文档:
18
+ python merge_md.py dev
19
+
20
+ 5. 只生成核心文档:
21
+ python merge_md.py core
22
+
23
+ 输出文件位置:
24
+ - 完整文档: docs/ai/AIDocs/ErisPulse-Full.md
25
+ - 模块开发文档: docs/ai/AIDocs/ErisPulse-ModuleDev.md
26
+ - 适配器开发文档: docs/ai/AIDocs/ErisPulse-AdapterDev.md
27
+ - 核心文档: docs/ai/AIDocs/ErisPulse-Core.md
28
+
29
+ no-api版本输出文件位置:
30
+ - 完整文档(no-api): docs/ai/AIDocs/no-api/ErisPulse-Full.md
31
+ - 模块开发文档(no-api): docs/ai/AIDocs/no-api/ErisPulse-ModuleDev.md
32
+ - 适配器开发文档(no-api): docs/ai/AIDocs/no-api/ErisPulse-AdapterDev.md
33
+ - 核心文档(no-api): docs/ai/AIDocs/no-api/ErisPulse-Core.md
34
+ """
35
+
4
36
  def merge_md_files(output_file, files_to_merge, title="文档合集"):
5
37
  """
6
38
  合并多个Markdown文件
@@ -265,7 +297,7 @@ def get_platform_features_files():
265
297
 
266
298
  return platform_files
267
299
 
268
- def generate_full_document():
300
+ def generate_full_document(include_api=True):
269
301
  print("正在生成完整文档...")
270
302
 
271
303
  # 基础文件
@@ -294,15 +326,24 @@ def generate_full_document():
294
326
  if len(existing_files) != len(files_to_merge):
295
327
  print(f"警告: {len(files_to_merge) - len(existing_files)} 个文件不存在,已跳过")
296
328
 
297
- output_file = "docs/ai/AIDocs/ErisPulse-Full.md"
329
+ # 根据是否包含API决定输出路径
330
+ if include_api:
331
+ output_file = "docs/ai/AIDocs/ErisPulse-Full.md"
332
+ else:
333
+ output_file = "docs/ai/AIDocs/no-api/ErisPulse-Full.md"
334
+
298
335
  os.makedirs(os.path.dirname(output_file), exist_ok=True)
299
336
 
300
337
  merge_md_files(output_file, existing_files, "完整开发文档")
301
- merge_api_docs("docs/api", output_file)
302
338
 
303
- print(f"完整文档生成完成,已保存到: {output_file}")
339
+ # 根据参数决定是否合并API文档
340
+ if include_api:
341
+ merge_api_docs("docs/api", output_file)
342
+
343
+ api_status = "包含API" if include_api else "不包含API"
344
+ print(f"完整文档生成完成({api_status}),已保存到: {output_file}")
304
345
 
305
- def generate_dev_documents():
346
+ def generate_dev_documents(include_api=True):
306
347
  print("正在生成开发文档...")
307
348
 
308
349
  # 模块开发文档
@@ -331,11 +372,17 @@ def generate_dev_documents():
331
372
  # 过滤不存在的文件
332
373
  existing_files = [f for f in files_to_merge if os.path.exists(f['path'])]
333
374
 
334
- module_output = "docs/ai/AIDocs/ErisPulse-ModuleDev.md"
375
+ # 根据是否包含API决定输出路径
376
+ if include_api:
377
+ module_output = "docs/ai/AIDocs/ErisPulse-ModuleDev.md"
378
+ else:
379
+ module_output = "docs/ai/AIDocs/no-api/ErisPulse-ModuleDev.md"
380
+
335
381
  os.makedirs(os.path.dirname(module_output), exist_ok=True)
336
382
  merge_md_files(module_output, existing_files, "模块开发文档")
337
383
 
338
- print(f"模块开发文档生成完成,已保存到: {module_output}")
384
+ api_status = "包含API" if include_api else "不包含API"
385
+ print(f"模块开发文档生成完成({api_status}),已保存到: {module_output}")
339
386
 
340
387
  # 适配器开发文档
341
388
  adapter_files = [
@@ -357,14 +404,22 @@ def generate_dev_documents():
357
404
  # 过滤不存在的文件
358
405
  existing_files = [f for f in files_to_merge if os.path.exists(f['path'])]
359
406
 
360
- adapter_output = "docs/ai/AIDocs/ErisPulse-AdapterDev.md"
407
+ # 根据是否包含API决定输出路径
408
+ if include_api:
409
+ adapter_output = "docs/ai/AIDocs/ErisPulse-AdapterDev.md"
410
+ else:
411
+ adapter_output = "docs/ai/AIDocs/no-api/ErisPulse-AdapterDev.md"
412
+
361
413
  os.makedirs(os.path.dirname(adapter_output), exist_ok=True)
362
414
  merge_md_files(adapter_output, existing_files, "适配器开发文档")
363
- merge_api_docs("docs/api", adapter_output)
364
415
 
365
- print(f"适配器开发文档生成完成,已保存到: {adapter_output}")
416
+ # 根据参数决定是否合并API文档
417
+ if include_api:
418
+ merge_api_docs("docs/api", adapter_output)
419
+
420
+ print(f"适配器开发文档生成完成({api_status}),已保存到: {adapter_output}")
366
421
 
367
- def generate_core_document():
422
+ def generate_core_document(include_api=True):
368
423
  print("正在生成核心文档...")
369
424
 
370
425
  # 基础文件
@@ -385,11 +440,21 @@ def generate_core_document():
385
440
  # 过滤不存在的文件
386
441
  existing_files = [f for f in files_to_merge if os.path.exists(f['path'])]
387
442
 
388
- core_output = "docs/ai/AIDocs/ErisPulse-Core.md"
443
+ # 根据是否包含API决定输出路径
444
+ if include_api:
445
+ core_output = "docs/ai/AIDocs/ErisPulse-Core.md"
446
+ else:
447
+ core_output = "docs/ai/AIDocs/no-api/ErisPulse-Core.md"
448
+
389
449
  os.makedirs(os.path.dirname(core_output), exist_ok=True)
390
450
  merge_md_files(core_output, existing_files, "核心功能文档")
391
451
 
392
- print(f"核心文档生成完成,已保存到: {core_output}")
452
+ # 根据参数决定是否合并API文档
453
+ if include_api:
454
+ merge_api_docs("docs/api", core_output)
455
+
456
+ api_status = "包含API" if include_api else "不包含API"
457
+ print(f"核心文档生成完成({api_status}),已保存到: {core_output}")
393
458
 
394
459
  def generate_custom_document(title, files, api_dirs, output_path):
395
460
  """
@@ -414,11 +479,44 @@ def generate_custom_document(title, files, api_dirs, output_path):
414
479
 
415
480
  print(f"{title}生成完成,已保存到: {output_path}")
416
481
 
482
+ def generate_no_api_documents():
483
+ print("正在生成no-api版本文档...")
484
+
485
+ # 生成不包含API的完整文档
486
+ generate_full_document(include_api=False)
487
+
488
+ # 生成不包含API的开发文档
489
+ generate_dev_documents(include_api=False)
490
+
491
+ # 生成不包含API的核心文档
492
+ generate_core_document(include_api=False)
493
+
494
+ print("所有no-api版本文档生成完成")
495
+
417
496
  if __name__ == "__main__":
497
+ import sys
498
+
418
499
  try:
419
- generate_full_document()
420
- generate_dev_documents()
421
- # generate_core_document()
500
+ # 检查命令行参数
501
+ if len(sys.argv) > 1:
502
+ if sys.argv[1] == "no-api":
503
+ generate_no_api_documents()
504
+ elif sys.argv[1] == "full":
505
+ generate_full_document()
506
+ generate_dev_documents()
507
+ generate_core_document()
508
+ elif sys.argv[1] == "dev":
509
+ generate_dev_documents()
510
+ elif sys.argv[1] == "core":
511
+ generate_core_document()
512
+ else:
513
+ print(f"未知参数: {sys.argv[1]}")
514
+ print("可用参数: no-api, full, dev, core")
515
+ else:
516
+ generate_no_api_documents()
517
+ generate_full_document()
518
+ generate_dev_documents()
519
+ generate_core_document()
422
520
  print("所有文档生成完成")
423
521
  except Exception as e:
424
522
  print(f"文档生成过程中出现错误: {str(e)}")
@@ -0,0 +1,152 @@
1
+ name: 📚 艾莉丝的文档炼金工房 ~
2
+
3
+ permissions:
4
+ contents: write
5
+
6
+ on:
7
+ push:
8
+ branches: [ main, develop, master ]
9
+ pull_request:
10
+ branches: [ main, develop, master ]
11
+ workflow_dispatch:
12
+
13
+ jobs:
14
+ update-and-generate-docs:
15
+ runs-on: ubuntu-latest
16
+ steps:
17
+ - name: 检出魔法书
18
+ uses: actions/checkout@v4
19
+ with:
20
+ fetch-depth: 0
21
+ token: ${{ secrets.GITHUB_TOKEN }}
22
+
23
+ - name: 准备魔法环境
24
+ uses: actions/setup-python@v5
25
+ with:
26
+ python-version: '3.x'
27
+
28
+ - name: 学习魔法咒语
29
+ run: |
30
+ python -m pip install --upgrade pip
31
+ pip install requests
32
+
33
+ - name: 🔮 更新API文档
34
+ id: update-api
35
+ run: |
36
+ echo "📖 艾莉丝开始更新API文档了哦~"
37
+
38
+ # 确保输出目录存在
39
+ mkdir -p docs/api
40
+
41
+ # 运行API文档更新脚本
42
+ if [ -f ".github/tools/update-api-docs.py" ]; then
43
+ python .github/tools/update-api-docs.py --src src --output docs/api --format markdown
44
+ echo "✅ API文档更新完成!"
45
+ else
46
+ echo "⚠️ 未找到API文档更新脚本,跳过此步骤"
47
+ fi
48
+
49
+ # 检查API文档是否有更新
50
+ if git diff --quiet docs/api/; then
51
+ echo "API文档没有变化"
52
+ echo "api_updated=false" >> $GITHUB_OUTPUT
53
+ else
54
+ echo "发现了API文档更新!"
55
+ echo "api_updated=true" >> $GITHUB_OUTPUT
56
+ fi
57
+
58
+ - name: 📜 生成合并文档
59
+ id: merge-docs
60
+ run: |
61
+ echo "📚 艾莉丝开始生成合并文档了~"
62
+
63
+ # 确保输出目录存在
64
+ mkdir -p docs/ai/AIDocs
65
+ mkdir -p docs/ai/AIDocs/no-api
66
+
67
+ # 生成包含API的文档
68
+ if [ -f ".github/tools/merge_md.py" ]; then
69
+ python .github/tools/merge_md.py full
70
+ python .github/tools/merge_md.py dev
71
+
72
+ echo "✅ 包含API的文档生成完成!"
73
+ else
74
+ echo "⚠️ 未找到文档合并脚本"
75
+ exit 1
76
+ fi
77
+
78
+ # 检查合并文档是否有更新
79
+ if git diff --quiet docs/ai/AIDocs/; then
80
+ echo "合并文档没有变化"
81
+ echo "docs_updated=false" >> $GITHUB_OUTPUT
82
+ else
83
+ echo "发现了合并文档更新!"
84
+ echo "docs_updated=true" >> $GITHUB_OUTPUT
85
+ fi
86
+
87
+ - name: 📝 生成no-api版本文档
88
+ run: |
89
+ echo "📖 艾莉丝正在生成不包含API的文档版本~"
90
+
91
+ # 生成不包含API的文档
92
+ if [ -f ".github/tools/merge_md.py" ]; then
93
+ python .github/tools/merge_md.py no-api
94
+ echo "✅ no-api版本文档生成完成!"
95
+ fi
96
+
97
+ - name: 📊 统计更新情况
98
+ run: |
99
+ echo "📈 艾莉丝正在统计今天的文档更新情况~"
100
+
101
+ # 统计API文档更新
102
+ api_files=$(git diff --name-only docs/api/ 2>/dev/null | wc -l)
103
+ echo "📝 API文档更新文件数: $api_files"
104
+
105
+ # 统计合并文档更新
106
+ full_docs=$(git diff --name-only docs/ai/AIDocs/ 2>/dev/null | wc -l)
107
+ echo "📚 合并文档更新文件数: $full_docs"
108
+
109
+ # 统计no-api文档
110
+ noapi_docs=$(git diff --name-only docs/ai/AIDocs/no-api/ 2>/dev/null | wc -l)
111
+ echo "📖 no-api文档更新文件数: $noapi_docs"
112
+
113
+ - name: 💾 提交更新
114
+ if: steps.update-api.outputs.api_updated == 'true' || steps.merge-docs.outputs.docs_updated == 'true'
115
+ run: |
116
+ echo "💾 艾莉丝正在保存文档更新~"
117
+
118
+ # 配置Git用户信息
119
+ git config --local user.email "eris@magic-circle.dev"
120
+ git config --local user.name "Eris the Scribe"
121
+
122
+ # 添加所有更新的文档
123
+ git add docs/api/ docs/ai/AIDocs/
124
+
125
+ # 生成提交信息
126
+ commit_msg="📚 艾莉丝的自动文档更新魔法 [skip ci]
127
+
128
+ 📖 自动更新了项目文档
129
+ 📝 包含API文档和合并文档的最新版本
130
+ 📚 生成了包含API和不包含API两种版本
131
+
132
+ 🌟 详情请查看 docs/ 目录"
133
+
134
+ # 提交更改
135
+ git commit -m "$commit_msg"
136
+ git push
137
+
138
+ - name: 🎉 文档更新完成
139
+ if: steps.update-api.outputs.api_updated == 'true' || steps.merge-docs.outputs.docs_updated == 'true'
140
+ run: |
141
+ echo "🌟 艾莉丝今天也努力完成了文档更新的魔法呢!"
142
+ echo "📚 所有文档已更新并提交到仓库"
143
+ echo "💫 包含了最新的API文档和合并文档"
144
+ echo "🌙 今天的文档炼金工作完成啦~"
145
+
146
+ - name: 😊 无更新时的说明
147
+ if: steps.update-api.outputs.api_updated != 'true' && steps.merge-docs.outputs.docs_updated != 'true'
148
+ run: |
149
+ echo "✨ 今天没有发现需要更新的文档呢~"
150
+ echo "📚 所有文档都是最新状态"
151
+ echo "🌟 艾莉丝会继续守护着我们的文档库!"
152
+ echo "🌙 下次更新再见啦~"
@@ -31,6 +31,18 @@
31
31
  - 具体功能点2
32
32
  ```
33
33
 
34
+ ---
35
+ ## [2.3.2] - 2025/01/11
36
+ ### 新增
37
+ - @wsu2059q
38
+ - 新增第三方cli模块异步的调用支持
39
+
40
+ ### 修复
41
+ - @wsu2059q
42
+ - 修复第三方命令调用时可能出现的异常
43
+
44
+ ---
45
+
34
46
  ## [2.3.1] - 2025/12/28
35
47
  ### 修复
36
48
  - @wsu2059q
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ErisPulse
3
- Version: 2.3.1
3
+ Version: 2.3.2
4
4
  Summary: ErisPulse 是一个模块化、可扩展的异步 Python SDK 框架,主要用于构建高效、可维护的机器人应用程序。
5
5
  Author-email: "艾莉丝·格雷拉特(WSu2059)" <wsu2059@qq.com>
6
6
  License: MIT License
@@ -42,6 +42,7 @@
42
42
  - [云湖平台特性](platform-features/yunhu.md) - 云湖适配器特有功能说明
43
43
  - [Telegram平台特性](platform-features/telegram.md) - Telegram适配器特有功能说明
44
44
  - [OneBot11平台特性](platform-features/onebot11.md) - OneBot11适配器特有功能说明
45
+ - [OneBot12平台特性](platform-features/onebot12.md) - OneBot12适配器特有功能说明
45
46
  - [邮件平台特性](platform-features/email.md) - 邮件适配器特有功能说明
46
47
 
47
48
  ### API 参考