auto-coder 0.1.195__py3-none-any.whl → 0.1.197__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.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: auto-coder
3
- Version: 0.1.195
3
+ Version: 0.1.197
4
4
  Summary: AutoCoder: AutoCoder
5
5
  Author: allwefantasy
6
6
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
@@ -26,7 +26,7 @@ Requires-Dist: tabulate
26
26
  Requires-Dist: jupyter-client
27
27
  Requires-Dist: prompt-toolkit
28
28
  Requires-Dist: tokenizers
29
- Requires-Dist: byzerllm[saas] >=0.1.139
29
+ Requires-Dist: byzerllm[saas] >=0.1.140
30
30
  Requires-Dist: patch
31
31
  Requires-Dist: diff-match-patch
32
32
  Requires-Dist: GitPython
@@ -1,34 +1,34 @@
1
1
  autocoder/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- autocoder/auto_coder.py,sha256=PbnxxtG5SO_6w9G5P3zvK5munLoFDp7wXHUri3x-jaU,38855
2
+ autocoder/auto_coder.py,sha256=AX6CBb8rk4KeHTi-VPiWQRN8YHAcYAq5lekuQvlPM38,39037
3
3
  autocoder/auto_coder_lang.py,sha256=Rtupq6N3_HT7JRhDKdgCBcwRaiAnyCOR_Gsp4jUomrI,3229
4
- autocoder/auto_coder_rag.py,sha256=H75N9rk5rB1u80oDWsPS_DYc2djQcFLOpjklmlGmag0,16579
4
+ autocoder/auto_coder_rag.py,sha256=vRc3O0qSyRjiuBKD6Bfh3oMVchnO3VHoAeOz5j_jjlY,16578
5
5
  autocoder/auto_coder_server.py,sha256=XU9b4SBH7zjPPXaTWWHV4_zJm-XYa6njuLQaplYJH_c,20290
6
- autocoder/chat_auto_coder.py,sha256=iNqBbNxSqX_rdVA2aTH43ldIEnYsDNNHMfnu8NEJQ9E,81953
6
+ autocoder/chat_auto_coder.py,sha256=kgcD4HKKmvDd2CI048TqZwdx2hrQRbZKYPO10qyrbA8,82105
7
7
  autocoder/chat_auto_coder_lang.py,sha256=QYtu5gWEQmWKVovR_qUZ8plySZarNFX_Onk-1vN9IiA,8524
8
- autocoder/command_args.py,sha256=WEjQMbamhwfVhEsyeKhMLNzaGAsqf9bBT1kwJUciU7U,27120
9
- autocoder/lang.py,sha256=LIqqksjHdCWUEf4lowRbM_hHCJePrejbCB0xyCQzF-o,12971
10
- autocoder/version.py,sha256=h-aGZtlsN_Xjw_sMbs_yognwPDy0_xWrDueJrhZh0R0,24
8
+ autocoder/command_args.py,sha256=jar54oLWYn20Z89rUxMCZv0ArRco7ev7jD3w0ZHfLcc,29807
9
+ autocoder/lang.py,sha256=_bSJ_0OR4jRRghygd2f1EJkdmDk1a7imjZdPaiK4uEY,13675
10
+ autocoder/version.py,sha256=a8hS6KGnGMFg_A-Wl7IXiUywugmqDtd537b0mLA8Hb4,24
11
11
  autocoder/agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
12
  autocoder/agent/auto_tool.py,sha256=DBzip-P_T6ZtT2eHexPcusmKYD0h7ufzp7TLwXAY10E,11554
13
13
  autocoder/agent/coder.py,sha256=dnITYHqkcOip8zV4lywbkYNH9w7Q3qyYaUArJ4WPrTs,866
14
14
  autocoder/agent/designer.py,sha256=EpRbzO58Xym3GrnppIT1Z8ZFAlnNfgzHbIzZ3PX-Yv8,27037
15
15
  autocoder/agent/planner.py,sha256=vwCY0SiPoKFQZCZnTVlOIBnVzkgIu1uk-xMC0d6_TNw,9048
16
- autocoder/agent/project_reader.py,sha256=-MWRqsr7O4mvU0PIpAhOUBb29htZAvA37pa_GeEWtDo,18209
16
+ autocoder/agent/project_reader.py,sha256=tWLaPoLw1gI6kO_NzivQj28KbobU2ceOLuppHMbfGl8,18234
17
17
  autocoder/chat/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
18
  autocoder/common/JupyterClient.py,sha256=O-wi6pXeAEYhAY24kDa0BINrLYvKS6rKyWe98pDClS0,2816
19
19
  autocoder/common/ShellClient.py,sha256=fM1q8t_XMSbLBl2zkCNC2J9xuyKN3eXzGm6hHhqL2WY,2286
20
- autocoder/common/__init__.py,sha256=qkL5BV5PqhgXHjdHKghxrFsUpPrf6YCiXhoYF1ECbx0,10597
20
+ autocoder/common/__init__.py,sha256=BAluUIGWVmdyuJfQnvzAWSOOfp7rKTdF46eK0B4dORY,10685
21
21
  autocoder/common/anything2images.py,sha256=0ILBbWzY02M-CiWB-vzuomb_J1hVdxRcenAfIrAXq9M,25283
22
22
  autocoder/common/audio.py,sha256=Kn9nWKQddWnUrAz0a_ZUgjcu4VUU_IcZBigT7n3N3qc,7439
23
23
  autocoder/common/cleaner.py,sha256=NU72i8C6o9m0vXExab7nao5bstBUsfJFcj11cXa9l4U,1089
24
24
  autocoder/common/code_auto_execute.py,sha256=4KXGmiGObr_B1d6tzV9dwS6MifCSc3Gm4j2d6ildBXQ,6867
25
25
  autocoder/common/code_auto_generate.py,sha256=Jn145eIsVUCF4EtpcnCS83R6oXiTz51PvhQAd1vYAG8,6909
26
26
  autocoder/common/code_auto_generate_diff.py,sha256=3rI3B8LL8MRobv5wjZYNO5bE9DUaPvQuuKRNlFkIbKw,12146
27
- autocoder/common/code_auto_generate_editblock.py,sha256=rwteehtdccqvaG6GwHooj2RUTVTBcjD-XhoDAUMz0qI,14201
27
+ autocoder/common/code_auto_generate_editblock.py,sha256=XzbYgww-ZZSHI5Qhps5ovfqIg3929fpdkr3CMF18cvg,14478
28
28
  autocoder/common/code_auto_generate_strict_diff.py,sha256=PS9ghYxNrohfLbclSxg0a39DYz8XwZsDBMUdSkrety0,10638
29
29
  autocoder/common/code_auto_merge.py,sha256=3PB2fQtqgA0wPQSdwFqoOHfNT-mORgGfOXjfRGflikQ,5141
30
30
  autocoder/common/code_auto_merge_diff.py,sha256=b5INrBJJ2EI0uj5AIiMobCS5S9xevCvdescs3nzCPhY,12594
31
- autocoder/common/code_auto_merge_editblock.py,sha256=gpnHv9quRXEChfRgDWpR9rm-fIyq9zlByTmV5Trv0KI,10909
31
+ autocoder/common/code_auto_merge_editblock.py,sha256=Gelfl7mwvGmzgO0-ZJKZ6jaTwnyegp849jYgcpOWduI,13371
32
32
  autocoder/common/code_auto_merge_strict_diff.py,sha256=iwVEcPSER1NY0g59SVJPQ-PcSIyO6bkO3zK4jjocIL8,7571
33
33
  autocoder/common/command_completer.py,sha256=pmPpdfGhpNV3v4u3KadL1BEG5H0QRO6eGv98uQjXXRQ,8947
34
34
  autocoder/common/command_generator.py,sha256=v4LmU7sO-P7jEZIXCWHUC6P-vT7AvBi_x_PTwCqBAE8,1323
@@ -41,6 +41,7 @@ autocoder/common/llm_rerank.py,sha256=FbvtCzaR661Mt2wn0qsuiEL1Y3puD6jeIJS4zg_e7B
41
41
  autocoder/common/screenshots.py,sha256=_gA-z1HxGjPShBrtgkdideq58MG6rqFB2qMUJKjrycs,3769
42
42
  autocoder/common/search.py,sha256=_ZX03ph89rDPGMY1OrfqaDfxsDR-flh6YEHixherjwM,16616
43
43
  autocoder/common/search_replace.py,sha256=GphFkc57Hb673CAwmbiocqTbw8vrV7TrZxtOhD0332g,22147
44
+ autocoder/common/sys_prompt.py,sha256=FOgduCm8VbK1tZmjhgmdD8jWyB4EJybh0lkfSBDAswg,26380
44
45
  autocoder/common/text.py,sha256=KGRQq314GHBmY4MWG8ossRoQi1_DTotvhxchpn78c-k,1003
45
46
  autocoder/common/types.py,sha256=_kl8q2oCAZe-HqU9LjQgSqVHAw4ojMojlF58-bp2xiE,354
46
47
  autocoder/db/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -54,15 +55,15 @@ autocoder/dispacher/actions/plugins/action_regex_project.py,sha256=kbmNjvPzuKaZ2
54
55
  autocoder/dispacher/actions/plugins/action_translate.py,sha256=nVAtRSQpdGNmZxg1R_9zXG3AuTv3CHf2v7ODgj8u65c,7727
55
56
  autocoder/index/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
56
57
  autocoder/index/for_command.py,sha256=zfbvQnhHjsAqBc4Ce1kMGIu0jPEk_rtH7fntg89_4z0,3092
57
- autocoder/index/index.py,sha256=MkB0qfXI8rfdfL-obRJ9f2oiGLtC_FPucSAj6Y-09q0,28978
58
+ autocoder/index/index.py,sha256=EpS3ZsCL6WuMk2hLiUe5J_XIny5uvlEuQLw68WzYxKk,31823
58
59
  autocoder/index/symbols_utils.py,sha256=CjcjUVajmJZB75Ty3a7kMv1BZphrm-tIBAdOJv6uo-0,2037
59
- autocoder/pyproject/__init__.py,sha256=yNJCgipt0uYQCYlTj0XygcuVFPR4E4xIwerqzHT_UOE,13116
60
+ autocoder/pyproject/__init__.py,sha256=RrCY_gyUHK7IFhjOvNRs_ckMsO6Mw7pRymWEjzpr2Rw,14354
60
61
  autocoder/rag/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
61
62
  autocoder/rag/api_server.py,sha256=dRbhAZVRAOlZ64Cnxf4_rKb4iJwHnrWS9Zr67IVORw0,7288
62
63
  autocoder/rag/doc_filter.py,sha256=Ha0Yae_G_hF72YzvrO7NoDZcG18K4hRcqGAEqfrIwAs,9330
63
64
  autocoder/rag/document_retriever.py,sha256=_jCbCEX0I-5UPWuHocESaWHatQcv1r_DqA0yOfOAiZ0,9092
64
65
  autocoder/rag/llm_wrapper.py,sha256=sbDxCANiZyWb_ocqNgqu2oy3c2t8orPNRGleEs-Uwl8,2649
65
- autocoder/rag/long_context_rag.py,sha256=B9lBeiBF7p5RRRFV8Wv_JtqNTED7hWuBwY766ZPQI1c,23749
66
+ autocoder/rag/long_context_rag.py,sha256=m7lRkq9SKLTJE-rBc-XyXDRNymxsZF93I5pa3wwOU8k,23809
66
67
  autocoder/rag/rag_config.py,sha256=8LwFcTd8OJWWwi1_WY4IzjqgtT6RyE2j4PjxS5cCTDE,802
67
68
  autocoder/rag/rag_entry.py,sha256=V1RJ8RGqM30DNPmzymv64rZjNRGWn6kfc8sRy_LECg0,2451
68
69
  autocoder/rag/raw_rag.py,sha256=yS2Ur6kG0IRjhCj2_VonwxjY_xls_E62jO5Gz5j2nqE,2952
@@ -77,9 +78,9 @@ autocoder/rag/utils.py,sha256=6LkPuMglUw_Wl0RdQI5x6TnQ4K_J3U8Siia4d1LdPy4,4963
77
78
  autocoder/rag/variable_holder.py,sha256=PFvBjFcR7-fNDD4Vcsc8CpH2Te057vcpwJMxtrfUgKI,75
78
79
  autocoder/rag/cache/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
79
80
  autocoder/rag/cache/base_cache.py,sha256=Dsx4JhNgEh_Scgb0ZMms-QtjGNyYGi_8KYxijHmqJe4,398
80
- autocoder/rag/cache/byzer_storage_cache.py,sha256=wEwagiQw8SDM2Opy0AAhQKfCMw304FV3D8JP4Nyx7i0,14625
81
- autocoder/rag/cache/file_monitor_cache.py,sha256=-h679zDz3mgqk5VWvCqELn-FBCT4vUZzmLyry2nkImo,4930
82
- autocoder/rag/cache/simple_cache.py,sha256=6jR_-l_n_nJaF6crSHHCnIHpcA8sI6je9Q8ppYJXLrA,7399
81
+ autocoder/rag/cache/byzer_storage_cache.py,sha256=GW0dKtwOYljW_oi1tDNrrMfI95zFzdP-KH_dZdDcqyQ,14642
82
+ autocoder/rag/cache/file_monitor_cache.py,sha256=ZfWFEzhanwM78sj87dnDWS_mj1SjvK4U_-XdqMZOnhM,4947
83
+ autocoder/rag/cache/simple_cache.py,sha256=mnWA4ZrwK2LJ38Zl5rnhBKCqGtjG45_lr0-Zj8ryix4,7419
83
84
  autocoder/rag/loaders/__init__.py,sha256=EQHEZ5Cmz-mGP2SllUTvcIbYCnF7W149dNpNItfs0yE,304
84
85
  autocoder/rag/loaders/docx_loader.py,sha256=g6Ta8rMUbfgwB8N1qiajhyO6wpaWl7zygAZiKShuioI,174
85
86
  autocoder/rag/loaders/excel_loader.py,sha256=Ue8YB1z_kBs8SjIPuBskyM08Q1JiONs_BJZPrzi59oo,896
@@ -89,9 +90,9 @@ autocoder/rag/stream_event/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJ
89
90
  autocoder/rag/stream_event/event_writer.py,sha256=l7kq_LnDDE8E5dZ-73C7J2MgzSL7WrozdXk0eV-k55Q,409
90
91
  autocoder/rag/stream_event/types.py,sha256=rtLwOE8rShmi1dJdxyBpAV5ZjLBGG9vptMiSzMxGuIA,318
91
92
  autocoder/regex_project/__init__.py,sha256=EBZeCL5ORyD_9_5u_UuG4s7XtpXOu0y1sWDmxWFtufE,6781
92
- autocoder/regexproject/__init__.py,sha256=ThuvVFdpw1EgWv4aIRkhg3ZclKPxMVharUKWppFpQ8o,8436
93
- autocoder/suffixproject/__init__.py,sha256=Kdm6PQgaZ-qDGMMNYqYVLdE4c25AP_DarZVAWGxt5Fw,9779
94
- autocoder/tsproject/__init__.py,sha256=9Z8aAjuo35SWjy62kn2LIpVGFSPyrm8L1JZSw2Zm-KE,10387
93
+ autocoder/regexproject/__init__.py,sha256=lHTpHfYkguCMtczXoH4bMr-IMNZQtXIjmtSvjtfX0Ro,9674
94
+ autocoder/suffixproject/__init__.py,sha256=bEPW9AyGSQ8kNzrgKEXyRikrUCUEuJ6b6vCLzO8Ja6g,11017
95
+ autocoder/tsproject/__init__.py,sha256=avSnMA3uSdZmv5MxTilDPFLRFmtfzFr1NPhHaRMFhX4,11625
95
96
  autocoder/utils/__init__.py,sha256=O3n6cpsgkIbbMuwmBHSQ1dls_IBD7_7YKFFaeKNo_tc,1193
96
97
  autocoder/utils/coder.py,sha256=rK8e0svQBe0NOP26dIGToUXgha_hUDgxlWoC_p_r7oc,5698
97
98
  autocoder/utils/conversation_store.py,sha256=sz-hhY7sttPAUOAQU6Pze-5zJc3j0_Emj22dM_0l5ro,1161
@@ -99,14 +100,14 @@ autocoder/utils/llm_client_interceptors.py,sha256=FEHNXoFZlCjAHQcjPRyX8FOMjo6rPX
99
100
  autocoder/utils/log_capture.py,sha256=I-bsJFLWoGUiX-GKoZsH9kWJCKSV7ZlUnRt7jh-fOL0,1548
100
101
  autocoder/utils/multi_turn.py,sha256=unK9OpqVRbK6uIcTKXgggX2wNmyj7s5eyEAQ2xUwHoM,88
101
102
  autocoder/utils/print_table.py,sha256=ZMRhCA9DD0FUfKyJBWd5bDdj1RrtPtgOMWSJwtvZcLs,403
102
- autocoder/utils/queue_communicate.py,sha256=nycK3MZWb6Tw9zwYmyYh4OrTSK5VnO3e1OQ1pnuA2bg,6305
103
+ autocoder/utils/queue_communicate.py,sha256=l80Bo_Bmqe2st1VNoUnyZrEmEfQfDBBweZmD7keti14,6740
103
104
  autocoder/utils/request_event_queue.py,sha256=r3lo5qGsB1dIjzVQ05dnr0z_9Z3zOkBdP1vmRciKdi4,2095
104
105
  autocoder/utils/request_queue.py,sha256=nwp6PMtgTCiuwJI24p8OLNZjUiprC-TsefQrhMI-yPE,3889
105
- autocoder/utils/rest.py,sha256=3tXA8KZG6jKz_tddHNLGx77Icee88WcUeesfNsgPno4,8790
106
+ autocoder/utils/rest.py,sha256=HawagAap3wMIDROGhY1730zSZrJR_EycODAA5qOj83c,8807
106
107
  autocoder/utils/tests.py,sha256=BqphrwyycGAvs-5mhH8pKtMZdObwhFtJ5MC_ZAOiLq8,1340
107
- auto_coder-0.1.195.dist-info/LICENSE,sha256=HrhfyXIkWY2tGFK11kg7vPCqhgh5DcxleloqdhrpyMY,11558
108
- auto_coder-0.1.195.dist-info/METADATA,sha256=bEQaQvtoV2sG8GchkDOPR1jbo2Py_GqwfxzkTcuLoB0,2352
109
- auto_coder-0.1.195.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
110
- auto_coder-0.1.195.dist-info/entry_points.txt,sha256=0nzHtHH4pNcM7xq4EBA2toS28Qelrvcbrr59GqD_0Ak,350
111
- auto_coder-0.1.195.dist-info/top_level.txt,sha256=Jqc0_uJSw2GwoFQAa9iJxYns-2mWla-9ok_Y3Gcznjk,10
112
- auto_coder-0.1.195.dist-info/RECORD,,
108
+ auto_coder-0.1.197.dist-info/LICENSE,sha256=HrhfyXIkWY2tGFK11kg7vPCqhgh5DcxleloqdhrpyMY,11558
109
+ auto_coder-0.1.197.dist-info/METADATA,sha256=jOsj5KAsXfE3Q4efOtC4hDUOSi6jE96D2XUoi6MPmLc,2352
110
+ auto_coder-0.1.197.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
111
+ auto_coder-0.1.197.dist-info/entry_points.txt,sha256=0nzHtHH4pNcM7xq4EBA2toS28Qelrvcbrr59GqD_0Ak,350
112
+ auto_coder-0.1.197.dist-info/top_level.txt,sha256=Jqc0_uJSw2GwoFQAa9iJxYns-2mWla-9ok_Y3Gcznjk,10
113
+ auto_coder-0.1.197.dist-info/RECORD,,
@@ -187,7 +187,7 @@ def get_tools(args: AutoCoderArgs, llm: byzerllm.ByzerLLM):
187
187
  注意,尽量不要询问用户,除非你感受到你无法回答用户的问题。
188
188
  '''
189
189
 
190
- if args.request_id and not args.silence:
190
+ if args.request_id and not args.silence and not args.skip_events:
191
191
  event_data = {
192
192
  "question": question
193
193
  }
autocoder/auto_coder.py CHANGED
@@ -327,7 +327,7 @@ def main(input_args: Optional[List[str]] = None):
327
327
  )
328
328
  )
329
329
 
330
- if args.request_id and not args.silence:
330
+ if args.request_id and not args.silence and not args.skip_events:
331
331
  event_data = {
332
332
  "instruction": final_ins,
333
333
  "model": model,
@@ -747,6 +747,7 @@ def main(input_args: Optional[List[str]] = None):
747
747
  pp = SuffixProject(args=args, llm=llm, file_filter=None)
748
748
  pp.run()
749
749
  sources = pp.sources
750
+
750
751
  s = build_index_and_filter_files(
751
752
  llm=llm, args=args, sources=sources)
752
753
  if s:
@@ -762,7 +763,7 @@ def main(input_args: Optional[List[str]] = None):
762
763
 
763
764
  loaded_conversations = pre_conversations + \
764
765
  chat_history["ask_conversation"]
765
-
766
+
766
767
  if args.human_as_model:
767
768
  console = Console()
768
769
 
@@ -874,12 +875,12 @@ def main(input_args: Optional[List[str]] = None):
874
875
 
875
876
  return {}
876
877
 
877
- if args.enable_rag_search or args.enable_rag_context:
878
+ if args.enable_rag_search or args.enable_rag_context:
878
879
  rag = RAGFactory.get_rag(llm=chat_llm, args=args, path="")
879
880
  response = rag.stream_chat_oai(
880
881
  conversations=loaded_conversations)[0]
881
882
  v = ([item, None] for item in response)
882
- else:
883
+ else:
883
884
  v = chat_llm.stream_chat_oai(
884
885
  conversations=loaded_conversations, delta_mode=True
885
886
  )
@@ -895,13 +896,14 @@ def main(input_args: Optional[List[str]] = None):
895
896
  for res in v:
896
897
  markdown_content += res[0]
897
898
  assistant_response += res[0]
898
- request_queue.add_request(
899
- args.request_id,
900
- RequestValue(
901
- value=StreamValue(value=[res[0]]),
902
- status=RequestOption.RUNNING,
903
- ),
904
- )
899
+ if args.request_id:
900
+ request_queue.add_request(
901
+ args.request_id,
902
+ RequestValue(
903
+ value=StreamValue(value=[res[0]]),
904
+ status=RequestOption.RUNNING,
905
+ ),
906
+ )
905
907
  live.update(
906
908
  Panel(
907
909
  Markdown(markdown_content),
@@ -184,7 +184,7 @@ def main(input_args: Optional[List[str]] = None):
184
184
  serve_parser.add_argument(
185
185
  "--rag_context_window_limit",
186
186
  type=int,
187
- default=110000,
187
+ default=56000,
188
188
  help="The input context window limit for RAG",
189
189
  )
190
190
  serve_parser.add_argument(
@@ -395,7 +395,7 @@ def get_all_file_names_in_project() -> List[str]:
395
395
 
396
396
  file_names = []
397
397
  final_exclude_dirs = defaut_exclude_dirs + memory.get("exclude_dirs", [])
398
- for root, dirs, files in os.walk(project_root):
398
+ for root, dirs, files in os.walk(project_root,followlinks=True):
399
399
  dirs[:] = [d for d in dirs if d not in final_exclude_dirs]
400
400
  file_names.extend(files)
401
401
  return file_names
@@ -405,7 +405,7 @@ def get_all_file_in_project() -> List[str]:
405
405
 
406
406
  file_names = []
407
407
  final_exclude_dirs = defaut_exclude_dirs + memory.get("exclude_dirs", [])
408
- for root, dirs, files in os.walk(project_root):
408
+ for root, dirs, files in os.walk(project_root,followlinks=True):
409
409
  dirs[:] = [d for d in dirs if d not in final_exclude_dirs]
410
410
  for file in files:
411
411
  file_names.append(os.path.join(root, file))
@@ -415,7 +415,7 @@ def get_all_file_in_project() -> List[str]:
415
415
  def get_all_file_in_project_with_dot() -> List[str]:
416
416
  file_names = []
417
417
  final_exclude_dirs = defaut_exclude_dirs + memory.get("exclude_dirs", [])
418
- for root, dirs, files in os.walk(project_root):
418
+ for root, dirs, files in os.walk(project_root,followlinks=True):
419
419
  dirs[:] = [d for d in dirs if d not in final_exclude_dirs]
420
420
  for file in files:
421
421
  file_names.append(os.path.join(root, file).replace(project_root, "."))
@@ -425,7 +425,7 @@ def get_all_file_in_project_with_dot() -> List[str]:
425
425
  def get_all_dir_names_in_project() -> List[str]:
426
426
  dir_names = []
427
427
  final_exclude_dirs = defaut_exclude_dirs + memory.get("exclude_dirs", [])
428
- for root, dirs, files in os.walk(project_root):
428
+ for root, dirs, files in os.walk(project_root,followlinks=True):
429
429
  dirs[:] = [d for d in dirs if d not in final_exclude_dirs]
430
430
  for dir in dirs:
431
431
  dir_names.append(dir)
@@ -449,7 +449,7 @@ def find_files_in_project(patterns: List[str]) -> List[str]:
449
449
  else:
450
450
  is_added = False
451
451
  ## add files belongs to project
452
- for root, dirs, files in os.walk(project_root):
452
+ for root, dirs, files in os.walk(project_root,followlinks=True):
453
453
  dirs[:] = [d for d in dirs if d not in final_exclude_dirs]
454
454
  if pattern in files:
455
455
  matched_files.append(os.path.join(root, pattern))
@@ -1420,17 +1420,18 @@ def coding(query: str):
1420
1420
  yaml_config["query"] = v
1421
1421
 
1422
1422
  # Add context for active groups and their query prefixes
1423
- active_groups_context = "下面是对上面文件按分组给到的一些描述,当用户的需求正好匹配描述的时候,参考描述来做修改:\n"
1424
- for group in current_groups:
1425
- group_files = groups.get(group, [])
1426
- query_prefix = groups_info.get(group, {}).get("query_prefix", "")
1427
- active_groups_context += f"组名: {group}\n"
1428
- active_groups_context += f"文件列表:\n"
1429
- for file in group_files:
1430
- active_groups_context += f"- {file}\n"
1431
- active_groups_context += f"组描述: {query_prefix}\n\n"
1432
-
1433
- yaml_config["context"] = active_groups_context + "\n"
1423
+ if current_groups:
1424
+ active_groups_context = "下面是对上面文件按分组给到的一些描述,当用户的需求正好匹配描述的时候,参考描述来做修改:\n"
1425
+ for group in current_groups:
1426
+ group_files = groups.get(group, [])
1427
+ query_prefix = groups_info.get(group, {}).get("query_prefix", "")
1428
+ active_groups_context += f"组名: {group}\n"
1429
+ active_groups_context += f"文件列表:\n"
1430
+ for file in group_files:
1431
+ active_groups_context += f"- {file}\n"
1432
+ active_groups_context += f"组描述: {query_prefix}\n\n"
1433
+
1434
+ yaml_config["context"] = active_groups_context + "\n"
1434
1435
 
1435
1436
  if is_apply:
1436
1437
  memory_dir = os.path.join(".auto-coder", "memory")