auto-coder 1.0.0__py3-none-any.whl → 2.0.1__py3-none-any.whl

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.

Potentially problematic release.


This version of auto-coder might be problematic. Click here for more details.

Files changed (574) hide show
  1. auto_coder-2.0.1.dist-info/LICENSE +158 -0
  2. auto_coder-2.0.1.dist-info/METADATA +558 -0
  3. auto_coder-2.0.1.dist-info/RECORD +795 -0
  4. {auto_coder-1.0.0.dist-info → auto_coder-2.0.1.dist-info}/WHEEL +1 -1
  5. {auto_coder-1.0.0.dist-info → auto_coder-2.0.1.dist-info}/entry_points.txt +3 -3
  6. autocoder/__init__.py +31 -0
  7. autocoder/agent/auto_filegroup.py +32 -13
  8. autocoder/agent/auto_learn_from_commit.py +9 -1
  9. autocoder/agent/base_agentic/__init__.py +3 -0
  10. autocoder/agent/base_agentic/agent_hub.py +1 -1
  11. autocoder/agent/base_agentic/base_agent.py +235 -136
  12. autocoder/agent/base_agentic/default_tools.py +119 -118
  13. autocoder/agent/base_agentic/test_base_agent.py +1 -1
  14. autocoder/agent/base_agentic/tool_registry.py +32 -20
  15. autocoder/agent/base_agentic/tools/read_file_tool_resolver.py +24 -3
  16. autocoder/agent/base_agentic/tools/write_to_file_tool_resolver.py +24 -11
  17. autocoder/agent/base_agentic/types.py +42 -0
  18. autocoder/agent/entry_command_agent/chat.py +77 -73
  19. autocoder/auto_coder.py +31 -40
  20. autocoder/auto_coder_rag.py +11 -1084
  21. autocoder/auto_coder_runner.py +962 -2345
  22. autocoder/auto_coder_terminal.py +26 -0
  23. autocoder/auto_coder_terminal_v3.py +190 -0
  24. autocoder/chat/conf_command.py +224 -124
  25. autocoder/chat/models_command.py +361 -299
  26. autocoder/chat/rules_command.py +79 -31
  27. autocoder/chat_auto_coder.py +988 -398
  28. autocoder/chat_auto_coder_lang.py +23 -732
  29. autocoder/commands/auto_command.py +25 -8
  30. autocoder/commands/auto_web.py +1 -1
  31. autocoder/commands/tools.py +44 -44
  32. autocoder/common/__init__.py +150 -128
  33. autocoder/common/ac_style_command_parser/__init__.py +39 -2
  34. autocoder/common/ac_style_command_parser/config.py +422 -0
  35. autocoder/common/ac_style_command_parser/parser.py +292 -78
  36. autocoder/common/ac_style_command_parser/test_parser.py +241 -16
  37. autocoder/common/ac_style_command_parser/test_typed_parser.py +342 -0
  38. autocoder/common/ac_style_command_parser/typed_parser.py +653 -0
  39. autocoder/common/action_yml_file_manager.py +25 -13
  40. autocoder/common/agent_events/__init__.py +52 -0
  41. autocoder/common/agent_events/agent_event_emitter.py +193 -0
  42. autocoder/common/agent_events/event_factory.py +177 -0
  43. autocoder/common/agent_events/examples.py +307 -0
  44. autocoder/common/agent_events/types.py +113 -0
  45. autocoder/common/agent_events/utils.py +68 -0
  46. autocoder/common/agent_hooks/__init__.py +44 -0
  47. autocoder/common/agent_hooks/examples.py +582 -0
  48. autocoder/common/agent_hooks/hook_executor.py +217 -0
  49. autocoder/common/agent_hooks/hook_manager.py +288 -0
  50. autocoder/common/agent_hooks/types.py +133 -0
  51. autocoder/common/agent_hooks/utils.py +99 -0
  52. autocoder/common/agent_query_queue/queue_executor.py +324 -0
  53. autocoder/common/agent_query_queue/queue_manager.py +325 -0
  54. autocoder/common/agents/__init__.py +11 -0
  55. autocoder/common/agents/agent_manager.py +323 -0
  56. autocoder/common/agents/agent_parser.py +189 -0
  57. autocoder/common/agents/example_usage.py +344 -0
  58. autocoder/common/agents/integration_example.py +330 -0
  59. autocoder/common/agents/test_agent_parser.py +545 -0
  60. autocoder/common/async_utils.py +101 -0
  61. autocoder/common/auto_coder_lang.py +23 -972
  62. autocoder/common/autocoderargs_parser/__init__.py +14 -0
  63. autocoder/common/autocoderargs_parser/parser.py +184 -0
  64. autocoder/common/autocoderargs_parser/tests/__init__.py +1 -0
  65. autocoder/common/autocoderargs_parser/tests/test_args_parser.py +235 -0
  66. autocoder/common/autocoderargs_parser/tests/test_token_parser.py +195 -0
  67. autocoder/common/autocoderargs_parser/token_parser.py +290 -0
  68. autocoder/common/buildin_tokenizer.py +2 -4
  69. autocoder/common/code_auto_generate.py +149 -74
  70. autocoder/common/code_auto_generate_diff.py +163 -70
  71. autocoder/common/code_auto_generate_editblock.py +179 -89
  72. autocoder/common/code_auto_generate_strict_diff.py +167 -72
  73. autocoder/common/code_auto_merge_editblock.py +13 -6
  74. autocoder/common/code_modification_ranker.py +1 -1
  75. autocoder/common/command_completer.py +3 -3
  76. autocoder/common/command_file_manager/manager.py +183 -47
  77. autocoder/common/command_file_manager/test_command_file_manager.py +507 -0
  78. autocoder/common/command_templates.py +1 -1
  79. autocoder/common/conf_utils.py +2 -4
  80. autocoder/common/conversations/config.py +11 -3
  81. autocoder/common/conversations/get_conversation_manager.py +100 -2
  82. autocoder/common/conversations/llm_stats_models.py +264 -0
  83. autocoder/common/conversations/manager.py +112 -28
  84. autocoder/common/conversations/models.py +16 -2
  85. autocoder/common/conversations/storage/index_manager.py +134 -10
  86. autocoder/common/core_config/__init__.py +63 -0
  87. autocoder/common/core_config/agentic_mode_manager.py +109 -0
  88. autocoder/common/core_config/base_manager.py +123 -0
  89. autocoder/common/core_config/compatibility.py +151 -0
  90. autocoder/common/core_config/config_manager.py +156 -0
  91. autocoder/common/core_config/conversation_manager.py +31 -0
  92. autocoder/common/core_config/exclude_manager.py +72 -0
  93. autocoder/common/core_config/file_manager.py +177 -0
  94. autocoder/common/core_config/human_as_model_manager.py +129 -0
  95. autocoder/common/core_config/lib_manager.py +54 -0
  96. autocoder/common/core_config/main_manager.py +81 -0
  97. autocoder/common/core_config/mode_manager.py +126 -0
  98. autocoder/common/core_config/models.py +70 -0
  99. autocoder/common/core_config/test_memory_manager.py +1056 -0
  100. autocoder/common/env_manager.py +282 -0
  101. autocoder/common/env_manager_usage_example.py +211 -0
  102. autocoder/common/file_checkpoint/conversation_checkpoint.py +19 -19
  103. autocoder/common/file_checkpoint/manager.py +264 -48
  104. autocoder/common/file_checkpoint/test_backup.py +1 -18
  105. autocoder/common/file_checkpoint/test_manager.py +270 -1
  106. autocoder/common/file_checkpoint/test_store.py +1 -17
  107. autocoder/common/file_handler/__init__.py +23 -0
  108. autocoder/common/file_handler/active_context_handler.py +159 -0
  109. autocoder/common/file_handler/add_files_handler.py +409 -0
  110. autocoder/common/file_handler/chat_handler.py +180 -0
  111. autocoder/common/file_handler/coding_handler.py +409 -0
  112. autocoder/common/file_handler/commit_handler.py +200 -0
  113. autocoder/common/file_handler/lib_handler.py +156 -0
  114. autocoder/common/file_handler/list_files_handler.py +111 -0
  115. autocoder/common/file_handler/mcp_handler.py +268 -0
  116. autocoder/common/file_handler/models_handler.py +493 -0
  117. autocoder/common/file_handler/remove_files_handler.py +172 -0
  118. autocoder/common/git_utils.py +44 -8
  119. autocoder/common/global_cancel.py +15 -6
  120. autocoder/common/ignorefiles/test_ignore_file_utils.py +1 -1
  121. autocoder/common/international/__init__.py +31 -0
  122. autocoder/common/international/demo_international.py +92 -0
  123. autocoder/common/international/message_manager.py +157 -0
  124. autocoder/common/international/messages/__init__.py +56 -0
  125. autocoder/common/international/messages/async_command_messages.py +507 -0
  126. autocoder/common/international/messages/auto_coder_messages.py +2208 -0
  127. autocoder/common/international/messages/chat_auto_coder_messages.py +1547 -0
  128. autocoder/common/international/messages/command_help_messages.py +986 -0
  129. autocoder/common/international/messages/conversation_command_messages.py +191 -0
  130. autocoder/common/international/messages/git_helper_plugin_messages.py +159 -0
  131. autocoder/common/international/messages/queue_command_messages.py +751 -0
  132. autocoder/common/international/messages/rules_command_messages.py +77 -0
  133. autocoder/common/international/messages/sdk_messages.py +1707 -0
  134. autocoder/common/international/messages/token_helper_plugin_messages.py +361 -0
  135. autocoder/common/international/messages/tool_display_messages.py +1212 -0
  136. autocoder/common/international/messages/workflow_exception_messages.py +473 -0
  137. autocoder/common/international/test_international.py +612 -0
  138. autocoder/common/linter_core/__init__.py +28 -0
  139. autocoder/common/linter_core/base_linter.py +61 -0
  140. autocoder/common/linter_core/config_loader.py +271 -0
  141. autocoder/common/linter_core/formatters/__init__.py +0 -0
  142. autocoder/common/linter_core/formatters/base_formatter.py +38 -0
  143. autocoder/common/linter_core/formatters/raw_formatter.py +17 -0
  144. autocoder/common/linter_core/linter.py +166 -0
  145. autocoder/common/linter_core/linter_factory.py +216 -0
  146. autocoder/common/linter_core/linter_manager.py +333 -0
  147. autocoder/common/linter_core/linters/__init__.py +9 -0
  148. autocoder/common/linter_core/linters/java_linter.py +342 -0
  149. autocoder/common/linter_core/linters/python_linter.py +115 -0
  150. autocoder/common/linter_core/linters/typescript_linter.py +119 -0
  151. autocoder/common/linter_core/models/__init__.py +7 -0
  152. autocoder/common/linter_core/models/lint_result.py +91 -0
  153. autocoder/common/linter_core/models.py +33 -0
  154. autocoder/common/linter_core/tests/__init__.py +3 -0
  155. autocoder/common/linter_core/tests/test_config_loader.py +323 -0
  156. autocoder/common/linter_core/tests/test_config_loading.py +308 -0
  157. autocoder/common/linter_core/tests/test_factory_manager.py +234 -0
  158. autocoder/common/linter_core/tests/test_formatters.py +147 -0
  159. autocoder/common/linter_core/tests/test_integration.py +317 -0
  160. autocoder/common/linter_core/tests/test_java_linter.py +496 -0
  161. autocoder/common/linter_core/tests/test_linters.py +265 -0
  162. autocoder/common/linter_core/tests/test_models.py +81 -0
  163. autocoder/common/linter_core/tests/verify_config_loading.py +296 -0
  164. autocoder/common/linter_core/tests/verify_fixes.py +183 -0
  165. autocoder/common/llm_friendly_package/__init__.py +31 -0
  166. autocoder/common/llm_friendly_package/base_manager.py +102 -0
  167. autocoder/common/llm_friendly_package/docs_manager.py +121 -0
  168. autocoder/common/llm_friendly_package/library_manager.py +171 -0
  169. autocoder/common/{llm_friendly_package.py → llm_friendly_package/main_manager.py} +204 -231
  170. autocoder/common/llm_friendly_package/models.py +40 -0
  171. autocoder/common/llm_friendly_package/test_llm_friendly_package.py +536 -0
  172. autocoder/common/llms/__init__.py +15 -0
  173. autocoder/common/llms/demo_error_handling.py +85 -0
  174. autocoder/common/llms/factory.py +142 -0
  175. autocoder/common/llms/manager.py +264 -0
  176. autocoder/common/llms/pricing.py +121 -0
  177. autocoder/common/llms/registry.py +316 -0
  178. autocoder/common/llms/schema.py +77 -0
  179. autocoder/common/llms/simple_demo.py +45 -0
  180. autocoder/common/llms/test_quick_model.py +116 -0
  181. autocoder/common/llms/test_remove_functionality.py +182 -0
  182. autocoder/common/llms/tests/__init__.py +1 -0
  183. autocoder/common/llms/tests/test_manager.py +330 -0
  184. autocoder/common/llms/tests/test_registry.py +364 -0
  185. autocoder/common/mcp_tools/__init__.py +62 -0
  186. autocoder/common/{mcp_tools.py → mcp_tools/executor.py} +49 -40
  187. autocoder/common/{mcp_hub.py → mcp_tools/hub.py} +42 -68
  188. autocoder/common/{mcp_server_install.py → mcp_tools/installer.py} +16 -28
  189. autocoder/common/{mcp_server.py → mcp_tools/server.py} +176 -48
  190. autocoder/common/mcp_tools/test_keyboard_interrupt.py +93 -0
  191. autocoder/common/mcp_tools/test_mcp_tools.py +391 -0
  192. autocoder/common/{mcp_server_types.py → mcp_tools/types.py} +121 -48
  193. autocoder/common/mcp_tools/verify_functionality.py +202 -0
  194. autocoder/common/model_speed_tester.py +32 -26
  195. autocoder/common/priority_directory_finder/__init__.py +142 -0
  196. autocoder/common/priority_directory_finder/examples.py +230 -0
  197. autocoder/common/priority_directory_finder/finder.py +283 -0
  198. autocoder/common/priority_directory_finder/models.py +236 -0
  199. autocoder/common/priority_directory_finder/test_priority_directory_finder.py +431 -0
  200. autocoder/common/project_scanner/__init__.py +18 -0
  201. autocoder/common/project_scanner/compat.py +77 -0
  202. autocoder/common/project_scanner/scanner.py +436 -0
  203. autocoder/common/project_tracker/__init__.py +27 -0
  204. autocoder/common/project_tracker/api.py +228 -0
  205. autocoder/common/project_tracker/demo.py +272 -0
  206. autocoder/common/project_tracker/tracker.py +487 -0
  207. autocoder/common/project_tracker/types.py +53 -0
  208. autocoder/common/pruner/__init__.py +67 -0
  209. autocoder/common/pruner/agentic_conversation_pruner.py +651 -102
  210. autocoder/common/pruner/conversation_message_ids_api.py +386 -0
  211. autocoder/common/pruner/conversation_message_ids_manager.py +347 -0
  212. autocoder/common/pruner/conversation_message_ids_pruner.py +473 -0
  213. autocoder/common/pruner/conversation_normalizer.py +347 -0
  214. autocoder/common/pruner/conversation_pruner.py +26 -6
  215. autocoder/common/pruner/test_agentic_conversation_pruner.py +554 -112
  216. autocoder/common/pruner/test_conversation_normalizer.py +502 -0
  217. autocoder/common/pruner/test_tool_content_detector.py +324 -0
  218. autocoder/common/pruner/tool_content_detector.py +227 -0
  219. autocoder/common/pruner/tools/__init__.py +18 -0
  220. autocoder/common/pruner/tools/query_message_ids.py +264 -0
  221. autocoder/common/pruner/tools/test_agentic_pruning_logic.py +432 -0
  222. autocoder/common/pruner/tools/test_message_ids_pruning_only.py +192 -0
  223. autocoder/common/pull_requests/__init__.py +9 -1
  224. autocoder/common/pull_requests/utils.py +122 -1
  225. autocoder/common/rag_manager/rag_manager.py +36 -40
  226. autocoder/common/rulefiles/__init__.py +53 -1
  227. autocoder/common/rulefiles/api.py +250 -0
  228. autocoder/common/rulefiles/core/__init__.py +14 -0
  229. autocoder/common/rulefiles/core/manager.py +241 -0
  230. autocoder/common/rulefiles/core/selector.py +805 -0
  231. autocoder/common/rulefiles/models/__init__.py +20 -0
  232. autocoder/common/rulefiles/models/index.py +16 -0
  233. autocoder/common/rulefiles/models/init_rule.py +18 -0
  234. autocoder/common/rulefiles/models/rule_file.py +18 -0
  235. autocoder/common/rulefiles/models/rule_relevance.py +14 -0
  236. autocoder/common/rulefiles/models/summary.py +16 -0
  237. autocoder/common/rulefiles/test_rulefiles.py +776 -0
  238. autocoder/common/rulefiles/utils/__init__.py +34 -0
  239. autocoder/common/rulefiles/utils/monitor.py +86 -0
  240. autocoder/common/rulefiles/utils/parser.py +230 -0
  241. autocoder/common/save_formatted_log.py +67 -10
  242. autocoder/common/search_replace.py +8 -1
  243. autocoder/common/search_replace_patch/__init__.py +24 -0
  244. autocoder/common/search_replace_patch/base.py +115 -0
  245. autocoder/common/search_replace_patch/manager.py +248 -0
  246. autocoder/common/search_replace_patch/patch_replacer.py +304 -0
  247. autocoder/common/search_replace_patch/similarity_replacer.py +306 -0
  248. autocoder/common/search_replace_patch/string_replacer.py +181 -0
  249. autocoder/common/search_replace_patch/tests/__init__.py +3 -0
  250. autocoder/common/search_replace_patch/tests/run_tests.py +126 -0
  251. autocoder/common/search_replace_patch/tests/test_base.py +188 -0
  252. autocoder/common/search_replace_patch/tests/test_empty_line_insert.py +233 -0
  253. autocoder/common/search_replace_patch/tests/test_integration.py +389 -0
  254. autocoder/common/search_replace_patch/tests/test_manager.py +351 -0
  255. autocoder/common/search_replace_patch/tests/test_patch_replacer.py +316 -0
  256. autocoder/common/search_replace_patch/tests/test_regex_replacer.py +306 -0
  257. autocoder/common/search_replace_patch/tests/test_similarity_replacer.py +384 -0
  258. autocoder/common/shell_commands/__init__.py +197 -0
  259. autocoder/common/shell_commands/background_process_notifier.py +346 -0
  260. autocoder/common/shell_commands/command_executor.py +1127 -0
  261. autocoder/common/shell_commands/error_recovery.py +541 -0
  262. autocoder/common/shell_commands/exceptions.py +120 -0
  263. autocoder/common/shell_commands/interactive_executor.py +476 -0
  264. autocoder/common/shell_commands/interactive_pexpect_process.py +623 -0
  265. autocoder/common/shell_commands/interactive_process.py +744 -0
  266. autocoder/common/shell_commands/interactive_session_manager.py +1014 -0
  267. autocoder/common/shell_commands/monitoring.py +529 -0
  268. autocoder/common/shell_commands/process_cleanup.py +386 -0
  269. autocoder/common/shell_commands/process_manager.py +606 -0
  270. autocoder/common/shell_commands/test_interactive_pexpect_process.py +281 -0
  271. autocoder/common/shell_commands/tests/__init__.py +6 -0
  272. autocoder/common/shell_commands/tests/conftest.py +118 -0
  273. autocoder/common/shell_commands/tests/test_background_process_notifier.py +703 -0
  274. autocoder/common/shell_commands/tests/test_command_executor.py +448 -0
  275. autocoder/common/shell_commands/tests/test_error_recovery.py +305 -0
  276. autocoder/common/shell_commands/tests/test_exceptions.py +299 -0
  277. autocoder/common/shell_commands/tests/test_execute_batch.py +588 -0
  278. autocoder/common/shell_commands/tests/test_indented_batch_commands.py +244 -0
  279. autocoder/common/shell_commands/tests/test_integration.py +664 -0
  280. autocoder/common/shell_commands/tests/test_monitoring.py +546 -0
  281. autocoder/common/shell_commands/tests/test_performance.py +632 -0
  282. autocoder/common/shell_commands/tests/test_process_cleanup.py +397 -0
  283. autocoder/common/shell_commands/tests/test_process_manager.py +606 -0
  284. autocoder/common/shell_commands/tests/test_timeout_config.py +343 -0
  285. autocoder/common/shell_commands/tests/test_timeout_manager.py +520 -0
  286. autocoder/common/shell_commands/timeout_config.py +315 -0
  287. autocoder/common/shell_commands/timeout_manager.py +352 -0
  288. autocoder/common/terminal_paste/__init__.py +14 -0
  289. autocoder/common/terminal_paste/demo.py +145 -0
  290. autocoder/common/terminal_paste/demo_paste_functionality.py +95 -0
  291. autocoder/common/terminal_paste/paste_handler.py +200 -0
  292. autocoder/common/terminal_paste/paste_manager.py +118 -0
  293. autocoder/common/terminal_paste/tests/__init__.py +1 -0
  294. autocoder/common/terminal_paste/tests/test_paste_handler.py +182 -0
  295. autocoder/common/terminal_paste/tests/test_paste_manager.py +126 -0
  296. autocoder/common/terminal_paste/utils.py +163 -0
  297. autocoder/common/test_autocoder_args.py +232 -0
  298. autocoder/common/test_env_manager.py +173 -0
  299. autocoder/common/test_env_manager_integration.py +159 -0
  300. autocoder/common/text_similarity/__init__.py +9 -0
  301. autocoder/common/text_similarity/demo.py +216 -0
  302. autocoder/common/text_similarity/examples.py +266 -0
  303. autocoder/common/text_similarity/test_text_similarity.py +306 -0
  304. autocoder/common/text_similarity/text_similarity.py +194 -0
  305. autocoder/common/text_similarity/utils.py +125 -0
  306. autocoder/common/todos/__init__.py +61 -0
  307. autocoder/common/todos/cache/__init__.py +16 -0
  308. autocoder/common/todos/cache/base_cache.py +89 -0
  309. autocoder/common/todos/cache/cache_manager.py +228 -0
  310. autocoder/common/todos/cache/memory_cache.py +225 -0
  311. autocoder/common/todos/config.py +155 -0
  312. autocoder/common/todos/exceptions.py +35 -0
  313. autocoder/common/todos/get_todo_manager.py +161 -0
  314. autocoder/common/todos/manager.py +537 -0
  315. autocoder/common/todos/models.py +239 -0
  316. autocoder/common/todos/storage/__init__.py +14 -0
  317. autocoder/common/todos/storage/base_storage.py +76 -0
  318. autocoder/common/todos/storage/file_storage.py +278 -0
  319. autocoder/common/tokens/counter.py +24 -2
  320. autocoder/common/tools_manager/__init__.py +17 -0
  321. autocoder/common/tools_manager/examples.py +162 -0
  322. autocoder/common/tools_manager/manager.py +385 -0
  323. autocoder/common/tools_manager/models.py +39 -0
  324. autocoder/common/tools_manager/test_tools_manager.py +303 -0
  325. autocoder/common/tools_manager/utils.py +191 -0
  326. autocoder/common/v2/agent/agentic_callbacks.py +270 -0
  327. autocoder/common/v2/agent/agentic_edit.py +2699 -1856
  328. autocoder/common/v2/agent/agentic_edit_change_manager.py +474 -0
  329. autocoder/common/v2/agent/agentic_edit_tools/__init__.py +35 -1
  330. autocoder/common/v2/agent/agentic_edit_tools/ac_mod_list_tool_resolver.py +279 -0
  331. autocoder/common/v2/agent/agentic_edit_tools/ac_mod_write_tool_resolver.py +10 -1
  332. autocoder/common/v2/agent/agentic_edit_tools/background_task_tool_resolver.py +1167 -0
  333. autocoder/common/v2/agent/agentic_edit_tools/base_tool_resolver.py +2 -2
  334. autocoder/common/v2/agent/agentic_edit_tools/conversation_message_ids_read_tool_resolver.py +214 -0
  335. autocoder/common/v2/agent/agentic_edit_tools/conversation_message_ids_write_tool_resolver.py +299 -0
  336. autocoder/common/v2/agent/agentic_edit_tools/count_tokens_tool_resolver.py +290 -0
  337. autocoder/common/v2/agent/agentic_edit_tools/execute_command_tool_resolver.py +564 -29
  338. autocoder/common/v2/agent/agentic_edit_tools/execute_workflow_tool_resolver.py +485 -0
  339. autocoder/common/v2/agent/agentic_edit_tools/extract_to_text_tool_resolver.py +225 -0
  340. autocoder/common/v2/agent/agentic_edit_tools/lint_report.py +79 -0
  341. autocoder/common/v2/agent/agentic_edit_tools/linter_config_models.py +343 -0
  342. autocoder/common/v2/agent/agentic_edit_tools/linter_enabled_tool_resolver.py +189 -0
  343. autocoder/common/v2/agent/agentic_edit_tools/list_files_tool_resolver.py +169 -101
  344. autocoder/common/v2/agent/agentic_edit_tools/load_extra_document_tool_resolver.py +356 -0
  345. autocoder/common/v2/agent/agentic_edit_tools/read_file_tool_resolver.py +243 -50
  346. autocoder/common/v2/agent/agentic_edit_tools/replace_in_file_tool_resolver.py +667 -147
  347. autocoder/common/v2/agent/agentic_edit_tools/run_named_subagents_tool_resolver.py +691 -0
  348. autocoder/common/v2/agent/agentic_edit_tools/search_files_tool_resolver.py +410 -86
  349. autocoder/common/v2/agent/agentic_edit_tools/session_interactive_tool_resolver.py +115 -0
  350. autocoder/common/v2/agent/agentic_edit_tools/session_start_tool_resolver.py +190 -0
  351. autocoder/common/v2/agent/agentic_edit_tools/session_stop_tool_resolver.py +76 -0
  352. autocoder/common/v2/agent/agentic_edit_tools/test_write_to_file_tool_resolver.py +207 -192
  353. autocoder/common/v2/agent/agentic_edit_tools/todo_read_tool_resolver.py +80 -63
  354. autocoder/common/v2/agent/agentic_edit_tools/todo_write_tool_resolver.py +237 -233
  355. autocoder/common/v2/agent/agentic_edit_tools/use_mcp_tool_resolver.py +2 -2
  356. autocoder/common/v2/agent/agentic_edit_tools/web_crawl_tool_resolver.py +557 -0
  357. autocoder/common/v2/agent/agentic_edit_tools/web_search_tool_resolver.py +600 -0
  358. autocoder/common/v2/agent/agentic_edit_tools/write_to_file_tool_resolver.py +56 -121
  359. autocoder/common/v2/agent/agentic_edit_types.py +343 -9
  360. autocoder/common/v2/agent/runner/__init__.py +3 -3
  361. autocoder/common/v2/agent/runner/base_runner.py +12 -26
  362. autocoder/common/v2/agent/runner/{event_runner.py → file_based_event_runner.py} +3 -2
  363. autocoder/common/v2/agent/runner/sdk_runner.py +150 -8
  364. autocoder/common/v2/agent/runner/terminal_runner.py +170 -57
  365. autocoder/common/v2/agent/runner/tool_display.py +557 -159
  366. autocoder/common/v2/agent/test_agentic_callbacks.py +265 -0
  367. autocoder/common/v2/agent/test_agentic_edit.py +194 -0
  368. autocoder/common/v2/agent/tool_caller/__init__.py +24 -0
  369. autocoder/common/v2/agent/tool_caller/default_tool_resolver_map.py +135 -0
  370. autocoder/common/v2/agent/tool_caller/integration_test.py +172 -0
  371. autocoder/common/v2/agent/tool_caller/plugins/__init__.py +14 -0
  372. autocoder/common/v2/agent/tool_caller/plugins/base_plugin.py +126 -0
  373. autocoder/common/v2/agent/tool_caller/plugins/examples/__init__.py +13 -0
  374. autocoder/common/v2/agent/tool_caller/plugins/examples/logging_plugin.py +164 -0
  375. autocoder/common/v2/agent/tool_caller/plugins/examples/security_filter_plugin.py +198 -0
  376. autocoder/common/v2/agent/tool_caller/plugins/plugin_interface.py +141 -0
  377. autocoder/common/v2/agent/tool_caller/test_tool_caller.py +278 -0
  378. autocoder/common/v2/agent/tool_caller/tool_call_plugin_manager.py +331 -0
  379. autocoder/common/v2/agent/tool_caller/tool_caller.py +337 -0
  380. autocoder/common/v2/agent/tool_caller/usage_example.py +193 -0
  381. autocoder/common/v2/code_agentic_editblock_manager.py +4 -4
  382. autocoder/common/v2/code_auto_generate.py +136 -78
  383. autocoder/common/v2/code_auto_generate_diff.py +135 -79
  384. autocoder/common/v2/code_auto_generate_editblock.py +174 -99
  385. autocoder/common/v2/code_auto_generate_strict_diff.py +151 -71
  386. autocoder/common/v2/code_auto_merge.py +1 -1
  387. autocoder/common/v2/code_auto_merge_editblock.py +13 -1
  388. autocoder/common/v2/code_diff_manager.py +3 -3
  389. autocoder/common/v2/code_editblock_manager.py +4 -14
  390. autocoder/common/v2/code_manager.py +1 -1
  391. autocoder/common/v2/code_strict_diff_manager.py +2 -2
  392. autocoder/common/wrap_llm_hint/__init__.py +10 -0
  393. autocoder/common/wrap_llm_hint/test_wrap_llm_hint.py +1067 -0
  394. autocoder/common/wrap_llm_hint/utils.py +432 -0
  395. autocoder/common/wrap_llm_hint/wrap_llm_hint.py +323 -0
  396. autocoder/completer/__init__.py +8 -0
  397. autocoder/completer/command_completer_v2.py +1094 -0
  398. autocoder/default_project/__init__.py +501 -0
  399. autocoder/dispacher/__init__.py +4 -12
  400. autocoder/dispacher/actions/action.py +400 -129
  401. autocoder/dispacher/actions/plugins/action_regex_project.py +2 -2
  402. autocoder/index/entry.py +117 -125
  403. autocoder/{agent → index/filter}/agentic_filter.py +322 -333
  404. autocoder/index/filter/normal_filter.py +5 -11
  405. autocoder/index/filter/quick_filter.py +1 -1
  406. autocoder/index/index.py +36 -9
  407. autocoder/index/tests/__init__.py +1 -0
  408. autocoder/index/tests/run_tests.py +195 -0
  409. autocoder/index/tests/test_entry.py +303 -0
  410. autocoder/index/tests/test_index_manager.py +314 -0
  411. autocoder/index/tests/test_module_integration.py +300 -0
  412. autocoder/index/tests/test_symbols_utils.py +183 -0
  413. autocoder/inner/__init__.py +4 -0
  414. autocoder/inner/agentic.py +923 -0
  415. autocoder/inner/async_command_handler.py +992 -0
  416. autocoder/inner/conversation_command_handlers.py +623 -0
  417. autocoder/inner/merge_command_handler.py +213 -0
  418. autocoder/inner/queue_command_handler.py +684 -0
  419. autocoder/models.py +95 -266
  420. autocoder/plugins/git_helper_plugin.py +31 -29
  421. autocoder/plugins/token_helper_plugin.py +65 -46
  422. autocoder/pyproject/__init__.py +32 -29
  423. autocoder/rag/agentic_rag.py +215 -75
  424. autocoder/rag/cache/simple_cache.py +1 -2
  425. autocoder/rag/loaders/image_loader.py +1 -1
  426. autocoder/rag/long_context_rag.py +42 -26
  427. autocoder/rag/qa_conversation_strategy.py +1 -1
  428. autocoder/rag/terminal/__init__.py +17 -0
  429. autocoder/rag/terminal/args.py +581 -0
  430. autocoder/rag/terminal/bootstrap.py +61 -0
  431. autocoder/rag/terminal/command_handlers.py +653 -0
  432. autocoder/rag/terminal/formatters/__init__.py +20 -0
  433. autocoder/rag/terminal/formatters/base.py +70 -0
  434. autocoder/rag/terminal/formatters/json_format.py +66 -0
  435. autocoder/rag/terminal/formatters/stream_json.py +95 -0
  436. autocoder/rag/terminal/formatters/text.py +28 -0
  437. autocoder/rag/terminal/init.py +120 -0
  438. autocoder/rag/terminal/utils.py +106 -0
  439. autocoder/rag/test_agentic_rag.py +389 -0
  440. autocoder/rag/test_doc_filter.py +3 -3
  441. autocoder/rag/test_long_context_rag.py +1 -1
  442. autocoder/rag/test_token_limiter.py +517 -10
  443. autocoder/rag/token_counter.py +3 -0
  444. autocoder/rag/token_limiter.py +19 -15
  445. autocoder/rag/tools/__init__.py +26 -2
  446. autocoder/rag/tools/bochaai_example.py +343 -0
  447. autocoder/rag/tools/bochaai_sdk.py +541 -0
  448. autocoder/rag/tools/metaso_example.py +268 -0
  449. autocoder/rag/tools/metaso_sdk.py +417 -0
  450. autocoder/rag/tools/recall_tool.py +28 -7
  451. autocoder/rag/tools/run_integration_tests.py +204 -0
  452. autocoder/rag/tools/test_all_providers.py +318 -0
  453. autocoder/rag/tools/test_bochaai_integration.py +482 -0
  454. autocoder/rag/tools/test_final_integration.py +215 -0
  455. autocoder/rag/tools/test_metaso_integration.py +424 -0
  456. autocoder/rag/tools/test_metaso_real.py +171 -0
  457. autocoder/rag/tools/test_web_crawl_tool.py +639 -0
  458. autocoder/rag/tools/test_web_search_tool.py +509 -0
  459. autocoder/rag/tools/todo_read_tool.py +202 -0
  460. autocoder/rag/tools/todo_write_tool.py +412 -0
  461. autocoder/rag/tools/web_crawl_tool.py +634 -0
  462. autocoder/rag/tools/web_search_tool.py +558 -0
  463. autocoder/rag/tools/web_tools_example.py +119 -0
  464. autocoder/rag/types.py +16 -0
  465. autocoder/rag/variable_holder.py +4 -2
  466. autocoder/rags.py +86 -79
  467. autocoder/regexproject/__init__.py +23 -21
  468. autocoder/sdk/__init__.py +46 -190
  469. autocoder/sdk/api.py +370 -0
  470. autocoder/sdk/async_runner/__init__.py +26 -0
  471. autocoder/sdk/async_runner/async_executor.py +650 -0
  472. autocoder/sdk/async_runner/async_handler.py +356 -0
  473. autocoder/sdk/async_runner/markdown_processor.py +595 -0
  474. autocoder/sdk/async_runner/task_metadata.py +284 -0
  475. autocoder/sdk/async_runner/worktree_manager.py +438 -0
  476. autocoder/sdk/cli/__init__.py +2 -5
  477. autocoder/sdk/cli/formatters.py +28 -204
  478. autocoder/sdk/cli/handlers.py +77 -44
  479. autocoder/sdk/cli/main.py +154 -171
  480. autocoder/sdk/cli/options.py +95 -22
  481. autocoder/sdk/constants.py +139 -51
  482. autocoder/sdk/core/auto_coder_core.py +484 -109
  483. autocoder/sdk/core/bridge.py +297 -115
  484. autocoder/sdk/exceptions.py +18 -12
  485. autocoder/sdk/formatters/__init__.py +19 -0
  486. autocoder/sdk/formatters/input.py +64 -0
  487. autocoder/sdk/formatters/output.py +247 -0
  488. autocoder/sdk/formatters/stream.py +54 -0
  489. autocoder/sdk/models/__init__.py +6 -5
  490. autocoder/sdk/models/options.py +55 -18
  491. autocoder/sdk/utils/formatters.py +27 -195
  492. autocoder/suffixproject/__init__.py +28 -25
  493. autocoder/terminal/__init__.py +14 -0
  494. autocoder/terminal/app.py +454 -0
  495. autocoder/terminal/args.py +32 -0
  496. autocoder/terminal/bootstrap.py +178 -0
  497. autocoder/terminal/command_processor.py +521 -0
  498. autocoder/terminal/command_registry.py +57 -0
  499. autocoder/terminal/help.py +97 -0
  500. autocoder/terminal/tasks/__init__.py +5 -0
  501. autocoder/terminal/tasks/background.py +77 -0
  502. autocoder/terminal/tasks/task_event.py +70 -0
  503. autocoder/terminal/ui/__init__.py +13 -0
  504. autocoder/terminal/ui/completer.py +268 -0
  505. autocoder/terminal/ui/keybindings.py +75 -0
  506. autocoder/terminal/ui/session.py +41 -0
  507. autocoder/terminal/ui/toolbar.py +64 -0
  508. autocoder/terminal/utils/__init__.py +13 -0
  509. autocoder/terminal/utils/errors.py +18 -0
  510. autocoder/terminal/utils/paths.py +19 -0
  511. autocoder/terminal/utils/shell.py +43 -0
  512. autocoder/terminal_v3/__init__.py +10 -0
  513. autocoder/terminal_v3/app.py +201 -0
  514. autocoder/terminal_v3/handlers/__init__.py +5 -0
  515. autocoder/terminal_v3/handlers/command_handler.py +131 -0
  516. autocoder/terminal_v3/models/__init__.py +6 -0
  517. autocoder/terminal_v3/models/conversation_buffer.py +214 -0
  518. autocoder/terminal_v3/models/message.py +50 -0
  519. autocoder/terminal_v3/models/tool_display.py +247 -0
  520. autocoder/terminal_v3/ui/__init__.py +7 -0
  521. autocoder/terminal_v3/ui/keybindings.py +56 -0
  522. autocoder/terminal_v3/ui/layout.py +141 -0
  523. autocoder/terminal_v3/ui/styles.py +43 -0
  524. autocoder/tsproject/__init__.py +23 -23
  525. autocoder/utils/auto_coder_utils/chat_stream_out.py +1 -1
  526. autocoder/utils/llms.py +88 -80
  527. autocoder/utils/math_utils.py +101 -0
  528. autocoder/utils/model_provider_selector.py +16 -4
  529. autocoder/utils/operate_config_api.py +33 -5
  530. autocoder/utils/thread_utils.py +2 -2
  531. autocoder/version.py +4 -2
  532. autocoder/workflow_agents/__init__.py +84 -0
  533. autocoder/workflow_agents/agent.py +143 -0
  534. autocoder/workflow_agents/exceptions.py +573 -0
  535. autocoder/workflow_agents/executor.py +665 -0
  536. autocoder/workflow_agents/loader.py +749 -0
  537. autocoder/workflow_agents/runner.py +267 -0
  538. autocoder/workflow_agents/types.py +173 -0
  539. autocoder/workflow_agents/utils.py +434 -0
  540. autocoder/workflow_agents/workflow_manager.py +211 -0
  541. auto_coder-1.0.0.dist-info/METADATA +0 -396
  542. auto_coder-1.0.0.dist-info/RECORD +0 -442
  543. auto_coder-1.0.0.dist-info/licenses/LICENSE +0 -201
  544. autocoder/auto_coder_server.py +0 -672
  545. autocoder/benchmark.py +0 -138
  546. autocoder/common/ac_style_command_parser/example.py +0 -7
  547. autocoder/common/cleaner.py +0 -31
  548. autocoder/common/command_completer_v2.py +0 -615
  549. autocoder/common/context_pruner.py +0 -477
  550. autocoder/common/conversation_pruner.py +0 -132
  551. autocoder/common/directory_cache/__init__.py +0 -1
  552. autocoder/common/directory_cache/cache.py +0 -192
  553. autocoder/common/directory_cache/test_cache.py +0 -190
  554. autocoder/common/file_checkpoint/examples.py +0 -217
  555. autocoder/common/llm_friendly_package_example.py +0 -138
  556. autocoder/common/llm_friendly_package_test.py +0 -63
  557. autocoder/common/pull_requests/test_module.py +0 -1
  558. autocoder/common/rulefiles/autocoderrules_utils.py +0 -484
  559. autocoder/common/text.py +0 -30
  560. autocoder/common/v2/agent/agentic_edit_tools/list_package_info_tool_resolver.py +0 -42
  561. autocoder/common/v2/agent/agentic_edit_tools/test_execute_command_tool_resolver.py +0 -70
  562. autocoder/common/v2/agent/agentic_edit_tools/test_search_files_tool_resolver.py +0 -163
  563. autocoder/common/v2/agent/agentic_tool_display.py +0 -183
  564. autocoder/plugins/dynamic_completion_example.py +0 -148
  565. autocoder/plugins/sample_plugin.py +0 -160
  566. autocoder/sdk/cli/__main__.py +0 -26
  567. autocoder/sdk/cli/completion_wrapper.py +0 -38
  568. autocoder/sdk/cli/install_completion.py +0 -301
  569. autocoder/sdk/models/messages.py +0 -209
  570. autocoder/sdk/session/__init__.py +0 -32
  571. autocoder/sdk/session/session.py +0 -106
  572. autocoder/sdk/session/session_manager.py +0 -56
  573. {auto_coder-1.0.0.dist-info → auto_coder-2.0.1.dist-info}/top_level.txt +0 -0
  574. /autocoder/{sdk/example.py → common/agent_query_queue/__init__.py} +0 -0
@@ -0,0 +1,158 @@
1
+
2
+ 专有软件许可协议
3
+ PROPRIETARY SOFTWARE LICENSE AGREEMENT
4
+
5
+ 版权所有 (c) 2024 auto-coder 项目所有者。保留所有权利。
6
+
7
+ 重要提示:本软件受版权法和国际条约保护。未经授权的复制或分发本程序或其任何部分,可能导致严重的民事和刑事处罚,并将在法律允许的最大范围内受到起诉。
8
+
9
+ 许可条款和条件
10
+
11
+ 1. 定义
12
+ "软件"是指 auto-coder 项目的所有源代码、目标代码、文档、数据和相关材料。
13
+ "许可方"是指本软件的版权所有者。
14
+ "被许可方"是指获得本许可的个人或法人实体。
15
+
16
+ 2. 许可限制
17
+
18
+ 2.1 禁止商业使用
19
+ 本软件严格禁止用于任何商业目的,包括但不限于:
20
+ - 直接或间接的商业销售
21
+ - 作为商业服务的一部分提供
22
+ - 用于商业产品开发
23
+ - 用于为第三方提供有偿服务
24
+ - 任何形式的商业化运营
25
+
26
+ 2.2 源代码访问限制
27
+ - 未经许可方书面授权,严禁查看、访问、复制或分发本软件的源代码
28
+ - 禁止对本软件进行反向工程、反编译或反汇编
29
+ - 禁止尝试从目标代码推导源代码
30
+ - 仅授权用户可在获得特殊书面许可后访问源代码
31
+
32
+ 2.3 使用限制
33
+ - 本软件仅供个人学习和研究使用
34
+ - 必须在封闭的、非公开的环境中使用
35
+ - 禁止将本软件或其任何部分公开发布或共享
36
+ - 禁止创建衍生作品
37
+
38
+ 3. 知识产权
39
+ - 本软件的所有权利、所有权和利益均归许可方所有
40
+ - 本许可不授予被许可方任何知识产权
41
+ - 被许可方不得删除或修改任何版权声明
42
+
43
+ 4. 保密义务
44
+ 被许可方同意:
45
+ - 对本软件的所有信息严格保密
46
+ - 不向任何第三方披露本软件的任何内容
47
+ - 采取合理的安全措施保护本软件
48
+
49
+ 5. 终止
50
+ - 违反本许可的任何条款将自动终止许可
51
+ - 许可终止后,被许可方必须立即销毁所有软件副本
52
+
53
+ 6. 免责声明
54
+ 本软件按"原样"提供,不提供任何形式的保证,无论是明示的还是暗示的。
55
+ 许可方不对因使用或无法使用本软件而造成的任何损害承担责任。
56
+
57
+ 7. 法律责任
58
+ 违反本许可协议可能导致:
59
+ - 民事诉讼和损害赔偿
60
+ - 刑事起诉
61
+ - 禁令救济
62
+ - 律师费和诉讼费用的赔偿
63
+
64
+ 8. 管辖法律
65
+ 本许可受中华人民共和国法律管辖,并按其解释。
66
+
67
+ 9. 完整协议
68
+ 本许可构成双方之间关于本软件的完整协议,取代所有先前的协议或谅解。
69
+
70
+ 10. 联系方式
71
+ 如需获得特殊许可或有任何问题,请联系许可方。
72
+
73
+ 严正声明:
74
+ 任何未经授权的使用、复制、分发或查看本软件源代码的行为都将被视为侵权,
75
+ 并将受到法律追究。
76
+
77
+ ---
78
+
79
+ PROPRIETARY SOFTWARE LICENSE AGREEMENT
80
+
81
+ Copyright (c) 2024 auto-coder Project Owner. All Rights Reserved.
82
+
83
+ IMPORTANT: This software is protected by copyright laws and international treaties.
84
+ Unauthorized reproduction or distribution of this program, or any portion of it,
85
+ may result in severe civil and criminal penalties, and will be prosecuted to the
86
+ maximum extent possible under the law.
87
+
88
+ LICENSE TERMS AND CONDITIONS
89
+
90
+ 1. DEFINITIONS
91
+ "Software" means all source code, object code, documentation, data, and
92
+ related materials of the auto-coder project.
93
+ "Licensor" means the copyright owner of this Software.
94
+ "Licensee" means the individual or legal entity receiving this license.
95
+
96
+ 2. LICENSE RESTRICTIONS
97
+
98
+ 2.1 NO COMMERCIAL USE
99
+ This Software is strictly prohibited for any commercial purposes, including but not limited to:
100
+ - Direct or indirect commercial sale
101
+ - Provision as part of commercial services
102
+ - Use in commercial product development
103
+ - Use in providing paid services to third parties
104
+ - Any form of commercial operation
105
+
106
+ 2.2 SOURCE CODE ACCESS RESTRICTIONS
107
+ - Viewing, accessing, copying, or distributing the source code is strictly
108
+ prohibited without written authorization from the Licensor
109
+ - Reverse engineering, decompilation, or disassembly of this Software is prohibited
110
+ - Attempting to derive source code from object code is prohibited
111
+ - Only authorized users may access source code with special written permission
112
+
113
+ 2.3 USE RESTRICTIONS
114
+ - This Software is for personal learning and research only
115
+ - Must be used in a closed, non-public environment
116
+ - Publishing or sharing this Software or any part thereof is prohibited
117
+ - Creating derivative works is prohibited
118
+
119
+ 3. INTELLECTUAL PROPERTY
120
+ - All rights, title, and interest in the Software remain with the Licensor
121
+ - This license grants no intellectual property rights to the Licensee
122
+ - Licensee may not remove or modify any copyright notices
123
+
124
+ 4. CONFIDENTIALITY
125
+ The Licensee agrees to:
126
+ - Keep all information about the Software strictly confidential
127
+ - Not disclose any content of the Software to third parties
128
+ - Take reasonable security measures to protect the Software
129
+
130
+ 5. TERMINATION
131
+ - Violation of any terms of this license automatically terminates the license
132
+ - Upon termination, Licensee must immediately destroy all copies of the Software
133
+
134
+ 6. DISCLAIMER
135
+ This Software is provided "AS IS" without warranty of any kind, express or implied.
136
+ The Licensor is not liable for any damages arising from use or inability to use the Software.
137
+
138
+ 7. LEGAL LIABILITY
139
+ Violation of this license agreement may result in:
140
+ - Civil litigation and damages
141
+ - Criminal prosecution
142
+ - Injunctive relief
143
+ - Compensation for attorney fees and litigation costs
144
+
145
+ 8. GOVERNING LAW
146
+ This license is governed by and construed in accordance with the laws of the
147
+ People's Republic of China.
148
+
149
+ 9. ENTIRE AGREEMENT
150
+ This license constitutes the entire agreement between the parties regarding
151
+ the Software and supersedes all prior agreements or understandings.
152
+
153
+ 10. CONTACT
154
+ For special licensing or any questions, please contact the Licensor.
155
+
156
+ STRICT NOTICE:
157
+ Any unauthorized use, copying, distribution, or viewing of the source code of this
158
+ Software will be considered infringement and will be prosecuted under the law.
@@ -0,0 +1,558 @@
1
+ Metadata-Version: 2.1
2
+ Name: auto-coder
3
+ Version: 2.0.1
4
+ Summary: AutoCoder: AutoCoder
5
+ Author: allwefantasy
6
+ Author-email: allwefantasy <allwefantasy@gmail.com>
7
+ License:
8
+ 专有软件许可协议
9
+ PROPRIETARY SOFTWARE LICENSE AGREEMENT
10
+
11
+ 版权所有 (c) 2024 auto-coder 项目所有者。保留所有权利。
12
+
13
+ 重要提示:本软件受版权法和国际条约保护。未经授权的复制或分发本程序或其任何部分,可能导致严重的民事和刑事处罚,并将在法律允许的最大范围内受到起诉。
14
+
15
+ 许可条款和条件
16
+
17
+ 1. 定义
18
+ "软件"是指 auto-coder 项目的所有源代码、目标代码、文档、数据和相关材料。
19
+ "许可方"是指本软件的版权所有者。
20
+ "被许可方"是指获得本许可的个人或法人实体。
21
+
22
+ 2. 许可限制
23
+
24
+ 2.1 禁止商业使用
25
+ 本软件严格禁止用于任何商业目的,包括但不限于:
26
+ - 直接或间接的商业销售
27
+ - 作为商业服务的一部分提供
28
+ - 用于商业产品开发
29
+ - 用于为第三方提供有偿服务
30
+ - 任何形式的商业化运营
31
+
32
+ 2.2 源代码访问限制
33
+ - 未经许可方书面授权,严禁查看、访问、复制或分发本软件的源代码
34
+ - 禁止对本软件进行反向工程、反编译或反汇编
35
+ - 禁止尝试从目标代码推导源代码
36
+ - 仅授权用户可在获得特殊书面许可后访问源代码
37
+
38
+ 2.3 使用限制
39
+ - 本软件仅供个人学习和研究使用
40
+ - 必须在封闭的、非公开的环境中使用
41
+ - 禁止将本软件或其任何部分公开发布或共享
42
+ - 禁止创建衍生作品
43
+
44
+ 3. 知识产权
45
+ - 本软件的所有权利、所有权和利益均归许可方所有
46
+ - 本许可不授予被许可方任何知识产权
47
+ - 被许可方不得删除或修改任何版权声明
48
+
49
+ 4. 保密义务
50
+ 被许可方同意:
51
+ - 对本软件的所有信息严格保密
52
+ - 不向任何第三方披露本软件的任何内容
53
+ - 采取合理的安全措施保护本软件
54
+
55
+ 5. 终止
56
+ - 违反本许可的任何条款将自动终止许可
57
+ - 许可终止后,被许可方必须立即销毁所有软件副本
58
+
59
+ 6. 免责声明
60
+ 本软件按"原样"提供,不提供任何形式的保证,无论是明示的还是暗示的。
61
+ 许可方不对因使用或无法使用本软件而造成的任何损害承担责任。
62
+
63
+ 7. 法律责任
64
+ 违反本许可协议可能导致:
65
+ - 民事诉讼和损害赔偿
66
+ - 刑事起诉
67
+ - 禁令救济
68
+ - 律师费和诉讼费用的赔偿
69
+
70
+ 8. 管辖法律
71
+ 本许可受中华人民共和国法律管辖,并按其解释。
72
+
73
+ 9. 完整协议
74
+ 本许可构成双方之间关于本软件的完整协议,取代所有先前的协议或谅解。
75
+
76
+ 10. 联系方式
77
+ 如需获得特殊许可或有任何问题,请联系许可方。
78
+
79
+ 严正声明:
80
+ 任何未经授权的使用、复制、分发或查看本软件源代码的行为都将被视为侵权,
81
+ 并将受到法律追究。
82
+
83
+ ---
84
+
85
+ PROPRIETARY SOFTWARE LICENSE AGREEMENT
86
+
87
+ Copyright (c) 2024 auto-coder Project Owner. All Rights Reserved.
88
+
89
+ IMPORTANT: This software is protected by copyright laws and international treaties.
90
+ Unauthorized reproduction or distribution of this program, or any portion of it,
91
+ may result in severe civil and criminal penalties, and will be prosecuted to the
92
+ maximum extent possible under the law.
93
+
94
+ LICENSE TERMS AND CONDITIONS
95
+
96
+ 1. DEFINITIONS
97
+ "Software" means all source code, object code, documentation, data, and
98
+ related materials of the auto-coder project.
99
+ "Licensor" means the copyright owner of this Software.
100
+ "Licensee" means the individual or legal entity receiving this license.
101
+
102
+ 2. LICENSE RESTRICTIONS
103
+
104
+ 2.1 NO COMMERCIAL USE
105
+ This Software is strictly prohibited for any commercial purposes, including but not limited to:
106
+ - Direct or indirect commercial sale
107
+ - Provision as part of commercial services
108
+ - Use in commercial product development
109
+ - Use in providing paid services to third parties
110
+ - Any form of commercial operation
111
+
112
+ 2.2 SOURCE CODE ACCESS RESTRICTIONS
113
+ - Viewing, accessing, copying, or distributing the source code is strictly
114
+ prohibited without written authorization from the Licensor
115
+ - Reverse engineering, decompilation, or disassembly of this Software is prohibited
116
+ - Attempting to derive source code from object code is prohibited
117
+ - Only authorized users may access source code with special written permission
118
+
119
+ 2.3 USE RESTRICTIONS
120
+ - This Software is for personal learning and research only
121
+ - Must be used in a closed, non-public environment
122
+ - Publishing or sharing this Software or any part thereof is prohibited
123
+ - Creating derivative works is prohibited
124
+
125
+ 3. INTELLECTUAL PROPERTY
126
+ - All rights, title, and interest in the Software remain with the Licensor
127
+ - This license grants no intellectual property rights to the Licensee
128
+ - Licensee may not remove or modify any copyright notices
129
+
130
+ 4. CONFIDENTIALITY
131
+ The Licensee agrees to:
132
+ - Keep all information about the Software strictly confidential
133
+ - Not disclose any content of the Software to third parties
134
+ - Take reasonable security measures to protect the Software
135
+
136
+ 5. TERMINATION
137
+ - Violation of any terms of this license automatically terminates the license
138
+ - Upon termination, Licensee must immediately destroy all copies of the Software
139
+
140
+ 6. DISCLAIMER
141
+ This Software is provided "AS IS" without warranty of any kind, express or implied.
142
+ The Licensor is not liable for any damages arising from use or inability to use the Software.
143
+
144
+ 7. LEGAL LIABILITY
145
+ Violation of this license agreement may result in:
146
+ - Civil litigation and damages
147
+ - Criminal prosecution
148
+ - Injunctive relief
149
+ - Compensation for attorney fees and litigation costs
150
+
151
+ 8. GOVERNING LAW
152
+ This license is governed by and construed in accordance with the laws of the
153
+ People's Republic of China.
154
+
155
+ 9. ENTIRE AGREEMENT
156
+ This license constitutes the entire agreement between the parties regarding
157
+ the Software and supersedes all prior agreements or understandings.
158
+
159
+ 10. CONTACT
160
+ For special licensing or any questions, please contact the Licensor.
161
+
162
+ STRICT NOTICE:
163
+ Any unauthorized use, copying, distribution, or viewing of the source code of this
164
+ Software will be considered infringement and will be prosecuted under the law.
165
+
166
+ Project-URL: Homepage, https://github.com/allwefantasy/auto-coder
167
+ Keywords: autocoder,ai,coding,automation
168
+ Classifier: Programming Language :: Python :: 3.10
169
+ Classifier: Programming Language :: Python :: 3.11
170
+ Classifier: Programming Language :: Python :: 3.12
171
+ Requires-Python: <=3.13,>=3.10
172
+ Description-Content-Type: text/markdown
173
+ License-File: LICENSE
174
+ Requires-Dist: contextlib2
175
+ Requires-Dist: ninja
176
+ Requires-Dist: jinja2
177
+ Requires-Dist: rich
178
+ Requires-Dist: paramiko
179
+ Requires-Dist: tqdm
180
+ Requires-Dist: loguru
181
+ Requires-Dist: pyjava >=0.6.21
182
+ Requires-Dist: fastapi
183
+ Requires-Dist: uvicorn
184
+ Requires-Dist: retrying
185
+ Requires-Dist: zhipuai
186
+ Requires-Dist: dashscope
187
+ Requires-Dist: tiktoken
188
+ Requires-Dist: tabulate
189
+ Requires-Dist: jupyter-client
190
+ Requires-Dist: prompt-toolkit
191
+ Requires-Dist: tokenizers
192
+ Requires-Dist: aiofiles
193
+ Requires-Dist: readerwriterlock
194
+ Requires-Dist: byzerllm[saas] >=0.1.196
195
+ Requires-Dist: patch
196
+ Requires-Dist: diff-match-patch
197
+ Requires-Dist: GitPython
198
+ Requires-Dist: openai >=1.14.3
199
+ Requires-Dist: anthropic
200
+ Requires-Dist: google-generativeai
201
+ Requires-Dist: protobuf
202
+ Requires-Dist: azure-cognitiveservices-speech
203
+ Requires-Dist: real-agent
204
+ Requires-Dist: duckdb
205
+ Requires-Dist: python-docx
206
+ Requires-Dist: docx2txt
207
+ Requires-Dist: pdf2image
208
+ Requires-Dist: docx2pdf
209
+ Requires-Dist: pypdf
210
+ Requires-Dist: pyperclip
211
+ Requires-Dist: colorama
212
+ Requires-Dist: pylint
213
+ Requires-Dist: reportlab
214
+ Requires-Dist: pathspec
215
+ Requires-Dist: openpyxl
216
+ Requires-Dist: python-pptx
217
+ Requires-Dist: watchfiles
218
+ Requires-Dist: cairosvg
219
+ Requires-Dist: matplotlib
220
+ Requires-Dist: mammoth
221
+ Requires-Dist: markdownify
222
+ Requires-Dist: pdfminer.six
223
+ Requires-Dist: puremagic
224
+ Requires-Dist: pydub
225
+ Requires-Dist: youtube-transcript-api
226
+ Requires-Dist: SpeechRecognition
227
+ Requires-Dist: pathvalidate
228
+ Requires-Dist: pexpect
229
+ Requires-Dist: setuptools
230
+ Requires-Dist: filelock
231
+ Requires-Dist: argcomplete
232
+ Requires-Dist: psutil
233
+ Requires-Dist: patch-ng
234
+ Requires-Dist: firecrawl
235
+ Requires-Dist: mcp ; python_version >= "3.10"
236
+
237
+ <p align="center">
238
+ <picture>
239
+ <img alt="auto-coder" src="./logo/auto-coder.jpeg" width=55%>
240
+ </picture>
241
+ </p>
242
+
243
+ <h3 align="center">
244
+ Auto-Coder (powered by Byzer-LLM)
245
+ </h3>
246
+
247
+ <p align="center">
248
+ <a href="https://uelng8wukz.feishu.cn/wiki/QIpkwpQo2iSdkwk9nP6cNSPlnPc"><b>中文</b></a> |
249
+
250
+ </p>
251
+
252
+ ---
253
+
254
+ *Latest News* 🔥
255
+ - [2025/01] Release Auto-Coder 0.1.208
256
+ - [2024/09] Release Auto-Coder 0.1.163
257
+ - [2024/08] Release Auto-Coder 0.1.143
258
+ - [2024/07] Release Auto-Coder 0.1.115
259
+ - [2024/06] Release Auto-Coder 0.1.82
260
+ - [2024/05] Release Auto-Coder 0.1.73
261
+ - [2024/04] Release Auto-Coder 0.1.46
262
+ - [2024/03] Release Auto-Coder 0.1.25
263
+ - [2024/03] Release Auto-Coder 0.1.24
264
+
265
+ ---
266
+
267
+ ## 安装
268
+
269
+ ### 方法一:使用 pip 安装(推荐)
270
+
271
+ ```shell
272
+ # 创建虚拟环境(推荐)
273
+ conda create --name autocoder python=3.10.11
274
+ conda activate autocoder
275
+
276
+ # 或者使用 venv
277
+ python -m venv autocoder
278
+ source autocoder/bin/activate # Linux/macOS
279
+ # autocoder\Scripts\activate # Windows
280
+
281
+ # 安装 auto-coder
282
+ pip install -U auto-coder
283
+ ```
284
+
285
+ ### 方法二:从源码安装
286
+
287
+ ```shell
288
+ # 克隆仓库
289
+ git clone https://github.com/allwefantasy/auto-coder.git
290
+ cd auto-coder
291
+
292
+ # 创建虚拟环境
293
+ conda create --name autocoder python=3.10.11
294
+ conda activate autocoder
295
+
296
+ # 安装依赖
297
+ pip install -r requirements.txt
298
+
299
+ # 安装项目
300
+ pip install -e .
301
+ ```
302
+
303
+ ### 系统要求
304
+
305
+ - Python 3.10, 3.11 或 3.12
306
+ - 操作系统:Windows、macOS、Linux
307
+ - 内存:建议 4GB 以上
308
+ - 磁盘空间:建议 2GB 以上
309
+
310
+ ### 验证安装
311
+
312
+ 安装完成后,可以通过以下命令验证安装是否成功:
313
+
314
+ ```shell
315
+ # 检查版本
316
+ auto-coder --version
317
+
318
+ # 启动聊天模式
319
+ auto-coder.chat
320
+
321
+ # 运行单次命令
322
+ auto-coder.run -p "Hello, Auto-Coder!"
323
+ ```
324
+
325
+ ## 使用指南
326
+
327
+ ### 1. 聊天模式(推荐新手使用)
328
+
329
+ ```shell
330
+ # 启动交互式聊天界面
331
+ auto-coder.chat
332
+
333
+ # 或者使用别名
334
+ chat-auto-coder
335
+ ```
336
+
337
+ 聊天模式提供友好的交互界面,支持:
338
+ - 实时对话
339
+ - 代码生成和修改
340
+ - 文件操作
341
+ - 项目管理
342
+
343
+ ### 2. 命令行模式
344
+
345
+ #### 单次运行模式
346
+
347
+ ```shell
348
+ # 基本用法
349
+ auto-coder.run -p "编写一个计算斐波那契数列的函数"
350
+
351
+ # 从管道读取输入
352
+ echo "解释这段代码的功能" | auto-coder.run -p
353
+
354
+ # 指定输出格式
355
+ auto-coder.run -p "生成一个 Hello World 函数" --output-format json
356
+
357
+ # 使用详细输出
358
+ auto-coder.run -p "创建一个简单的网页" --verbose
359
+ ```
360
+
361
+ #### 会话模式
362
+
363
+ ```shell
364
+ # 继续最近的对话
365
+ auto-coder.run --continue
366
+
367
+ # 恢复特定会话
368
+ auto-coder.run --resume 550e8400-e29b-41d4-a716-446655440000
369
+ ```
370
+
371
+ #### 高级选项
372
+
373
+ ```shell
374
+ # 限制对话轮数
375
+ auto-coder.run -p "优化这个算法" --max-turns 5
376
+
377
+ # 指定系统提示
378
+ auto-coder.run -p "写代码" --system-prompt "你是一个专业的Python开发者"
379
+
380
+ # 限制可用工具
381
+ auto-coder.run -p "读取文件内容" --allowed-tools read_file write_to_file
382
+
383
+ # 设置权限模式
384
+ auto-coder.run -p "修改代码" --permission-mode acceptEdits
385
+ ```
386
+
387
+ ### 3. 核心模式
388
+
389
+ ```shell
390
+ # 启动核心模式(传统命令行界面)
391
+ auto-coder
392
+
393
+ # 或者使用别名
394
+ auto-coder.core
395
+ ```
396
+
397
+ ### 4. 服务器模式
398
+
399
+ ```shell
400
+ # 启动 Web 服务器
401
+ auto-coder.serve
402
+
403
+ # 或者使用别名
404
+ auto-coder-serve
405
+ ```
406
+
407
+ ### 5. RAG 模式
408
+
409
+ ```shell
410
+ # 启动 RAG(检索增强生成)模式
411
+ auto-coder.rag
412
+ ```
413
+
414
+ ### 常用命令示例
415
+
416
+ ```shell
417
+ # 代码生成
418
+ auto-coder.run -p "创建一个 Flask Web 应用"
419
+
420
+ # 代码解释
421
+ auto-coder.run -p "解释这个函数的作用" < code.py
422
+
423
+ # 代码重构
424
+ auto-coder.run -p "重构这段代码,提高可读性"
425
+
426
+ # 错误修复
427
+ auto-coder.run -p "修复这个 bug" --verbose
428
+
429
+ # 文档生成
430
+ auto-coder.run -p "为这个项目生成 README 文档"
431
+
432
+ # 测试生成
433
+ auto-coder.run -p "为这个函数编写单元测试"
434
+ ```
435
+
436
+ ### 自动补全
437
+
438
+ Auto-Coder 支持命令行自动补全功能:
439
+
440
+ ```shell
441
+ # 安装自动补全(bash)
442
+ echo 'eval "$(register-python-argcomplete auto-coder.run)"' >> ~/.bashrc
443
+ source ~/.bashrc
444
+
445
+ # 安装自动补全(zsh)
446
+ echo 'eval "$(register-python-argcomplete auto-coder.run)"' >> ~/.zshrc
447
+ source ~/.zshrc
448
+ ```
449
+
450
+ ## 卸载
451
+
452
+ ### 完全卸载
453
+
454
+ ```shell
455
+ # 卸载 auto-coder
456
+ pip uninstall auto-coder
457
+
458
+ # 删除虚拟环境(如果使用了虚拟环境)
459
+ conda remove --name autocoder --all
460
+ # 或者
461
+ rm -rf autocoder # 如果使用 venv 创建的环境
462
+
463
+ # 清理缓存文件(可选)
464
+ rm -rf ~/.autocoder # 用户配置和缓存目录
465
+ ```
466
+
467
+ ### 重新安装
468
+
469
+ ```shell
470
+ # 卸载旧版本
471
+ pip uninstall auto-coder
472
+
473
+ # 清理缓存
474
+ pip cache purge
475
+
476
+ # 安装最新版本
477
+ pip install -U auto-coder
478
+ ```
479
+
480
+ ## 配置
481
+
482
+ ### 环境变量
483
+
484
+ ```shell
485
+ # 设置 API 密钥
486
+ export OPENAI_API_KEY="your-api-key"
487
+ export ANTHROPIC_API_KEY="your-api-key"
488
+
489
+ # 设置模型配置
490
+ export AUTOCODER_MODEL="gpt-4"
491
+ export AUTOCODER_BASE_URL="https://api.openai.com/v1"
492
+ ```
493
+
494
+ ### 配置文件
495
+
496
+ Auto-Coder 支持多种配置方式:
497
+
498
+ - `.autocoderrc`:项目级配置
499
+ - `~/.autocoder/config.yaml`:用户级配置
500
+ - 环境变量:系统级配置
501
+
502
+ ## 故障排除
503
+
504
+ ### 常见问题
505
+
506
+ 1. **安装失败**
507
+ ```shell
508
+ # 升级 pip
509
+ pip install --upgrade pip
510
+
511
+ # 清理缓存重新安装
512
+ pip cache purge
513
+ pip install auto-coder
514
+ ```
515
+
516
+ 2. **权限错误**
517
+ ```shell
518
+ # 使用用户安装
519
+ pip install --user auto-coder
520
+ ```
521
+
522
+ 3. **依赖冲突**
523
+ ```shell
524
+ # 使用虚拟环境
525
+ python -m venv autocoder_env
526
+ source autocoder_env/bin/activate
527
+ pip install auto-coder
528
+ ```
529
+
530
+ 4. **命令未找到**
531
+ ```shell
532
+ # 检查 PATH
533
+ echo $PATH
534
+
535
+ # 重新安装
536
+ pip uninstall auto-coder
537
+ pip install auto-coder
538
+ ```
539
+
540
+ ### 获取帮助
541
+
542
+ ```shell
543
+ # 查看帮助信息
544
+ auto-coder.run --help
545
+
546
+ # 查看版本信息
547
+ auto-coder --version
548
+
549
+ # 启用详细输出进行调试
550
+ auto-coder.run -p "test" --verbose
551
+ ```
552
+
553
+ ## 教程
554
+
555
+ 0. [Auto-Coder.Chat: 通向智能编程之路](https://uelng8wukz.feishu.cn/wiki/QIpkwpQo2iSdkwk9nP6cNSPlnPc)
556
+
557
+
558
+