@zyycn/claudex 1.0.3-fork.3767904

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 (441) hide show
  1. package/LICENSE.md +5 -0
  2. package/README.md +468 -0
  3. package/bin/claudex.js +40 -0
  4. package/dist/chunk-028383m5.js +654 -0
  5. package/dist/chunk-03metnxx.js +83 -0
  6. package/dist/chunk-06saje2v.js +39 -0
  7. package/dist/chunk-0731m51q.js +8 -0
  8. package/dist/chunk-0b8kwsg7.js +1322 -0
  9. package/dist/chunk-0ef5aqfn.js +266 -0
  10. package/dist/chunk-0paqc2yw.js +15 -0
  11. package/dist/chunk-0q2xkmse.js +58 -0
  12. package/dist/chunk-0vkfrmqm.js +690 -0
  13. package/dist/chunk-0xjaqda8.js +1124 -0
  14. package/dist/chunk-0xkvxzm1.js +788 -0
  15. package/dist/chunk-1141xmr4.js +8 -0
  16. package/dist/chunk-16egjxjg.js +606 -0
  17. package/dist/chunk-197ypc6t.js +281 -0
  18. package/dist/chunk-1bznajh9.js +87 -0
  19. package/dist/chunk-1c04yf47.js +98 -0
  20. package/dist/chunk-1cbn5kxf.js +7 -0
  21. package/dist/chunk-1ed0q5rg.js +825 -0
  22. package/dist/chunk-1h2famwb.js +49 -0
  23. package/dist/chunk-1pq0cspt.js +5393 -0
  24. package/dist/chunk-1vsjpj70.js +584 -0
  25. package/dist/chunk-1xkekb9y.js +19 -0
  26. package/dist/chunk-1zmd9pc1.js +98 -0
  27. package/dist/chunk-21tvhhzh.js +470 -0
  28. package/dist/chunk-238g70xa.js +36 -0
  29. package/dist/chunk-27xc1csx.js +104 -0
  30. package/dist/chunk-28eznw6x.js +266 -0
  31. package/dist/chunk-29pq2e6e.js +162 -0
  32. package/dist/chunk-2a42s11t.js +412 -0
  33. package/dist/chunk-2degyn49.js +696 -0
  34. package/dist/chunk-2eykm0j0.js +20 -0
  35. package/dist/chunk-2gzv8nrw.js +205 -0
  36. package/dist/chunk-2k995y2x.js +880 -0
  37. package/dist/chunk-2nayx6q1.js +63 -0
  38. package/dist/chunk-2nhwtayn.js +285 -0
  39. package/dist/chunk-2pfz17d6.js +89 -0
  40. package/dist/chunk-2q98zgr7.js +120 -0
  41. package/dist/chunk-2r6p51j7.js +40 -0
  42. package/dist/chunk-2t3vw4tx.js +22820 -0
  43. package/dist/chunk-30rst83v.js +168 -0
  44. package/dist/chunk-34c7ey17.js +155 -0
  45. package/dist/chunk-34sv2j2s.js +690 -0
  46. package/dist/chunk-37jrk2jd.js +117 -0
  47. package/dist/chunk-38700exh.js +42 -0
  48. package/dist/chunk-38qkmq6a.js +274 -0
  49. package/dist/chunk-3b00105q.js +17 -0
  50. package/dist/chunk-3b6pmmxx.js +195 -0
  51. package/dist/chunk-3bbk64vc.js +8966 -0
  52. package/dist/chunk-3c25bcsw.js +17 -0
  53. package/dist/chunk-3cdajpj8.js +90 -0
  54. package/dist/chunk-3cr1nha2.js +198 -0
  55. package/dist/chunk-3d9rvrf3.js +103 -0
  56. package/dist/chunk-3dzknnm6.js +38 -0
  57. package/dist/chunk-3es29zn5.js +105 -0
  58. package/dist/chunk-3h8a89gy.js +46 -0
  59. package/dist/chunk-3pfbtkm1.js +105 -0
  60. package/dist/chunk-3pka9vsd.js +129 -0
  61. package/dist/chunk-3raf9w1p.js +115 -0
  62. package/dist/chunk-3vs3nm7w.js +31 -0
  63. package/dist/chunk-3w31rhxj.js +98 -0
  64. package/dist/chunk-3w6s9m5w.js +16 -0
  65. package/dist/chunk-3ze6jmfd.js +74 -0
  66. package/dist/chunk-40er4qb4.js +202 -0
  67. package/dist/chunk-40nmwkst.js +2838 -0
  68. package/dist/chunk-42ytstxy.js +109 -0
  69. package/dist/chunk-44fpr6jq.js +434 -0
  70. package/dist/chunk-495d85x1.js +8066 -0
  71. package/dist/chunk-49eehs1a.js +165 -0
  72. package/dist/chunk-4bfhat6k.js +89 -0
  73. package/dist/chunk-4cfef3e8.js +602 -0
  74. package/dist/chunk-4g3v8y12.js +23 -0
  75. package/dist/chunk-4jm600zv.js +13 -0
  76. package/dist/chunk-4n6x67m0.js +88 -0
  77. package/dist/chunk-4qz9vbs1.js +349 -0
  78. package/dist/chunk-4r4hb7td.js +564 -0
  79. package/dist/chunk-4tabtkpc.js +496 -0
  80. package/dist/chunk-4yd15ach.js +84 -0
  81. package/dist/chunk-4zfkzkt6.js +37 -0
  82. package/dist/chunk-50kxdgx6.js +255 -0
  83. package/dist/chunk-55wgxwa9.js +13877 -0
  84. package/dist/chunk-56jgazae.js +28 -0
  85. package/dist/chunk-56xwtm1c.js +229 -0
  86. package/dist/chunk-5nvye4tw.js +69 -0
  87. package/dist/chunk-5qe9gb40.js +99 -0
  88. package/dist/chunk-5vx14htd.js +87 -0
  89. package/dist/chunk-5y1tah98.js +756 -0
  90. package/dist/chunk-64wxa5zw.js +810 -0
  91. package/dist/chunk-65s8h28p.js +123 -0
  92. package/dist/chunk-6bd8brc4.js +48 -0
  93. package/dist/chunk-6dec7yq0.js +79 -0
  94. package/dist/chunk-6dj5t602.js +341 -0
  95. package/dist/chunk-6ghjp8m8.js +87 -0
  96. package/dist/chunk-6gr3c3w9.js +378 -0
  97. package/dist/chunk-6n2qgm9v.js +8 -0
  98. package/dist/chunk-6tq2v3rk.js +186 -0
  99. package/dist/chunk-6v4a0yqc.js +299 -0
  100. package/dist/chunk-73rpbt04.js +1947 -0
  101. package/dist/chunk-760252na.js +101 -0
  102. package/dist/chunk-7739pg2c.js +4261 -0
  103. package/dist/chunk-7956bsy7.js +85 -0
  104. package/dist/chunk-7aw745vx.js +40175 -0
  105. package/dist/chunk-7e6ahfxz.js +61 -0
  106. package/dist/chunk-7en5fc51.js +263 -0
  107. package/dist/chunk-7gf30dzb.js +184 -0
  108. package/dist/chunk-7kpp8d5g.js +644 -0
  109. package/dist/chunk-7m2nd8da.js +110 -0
  110. package/dist/chunk-7wb627p2.js +418 -0
  111. package/dist/chunk-7wm5s02e.js +216 -0
  112. package/dist/chunk-7x9kyp5a.js +780 -0
  113. package/dist/chunk-7zaxrfnt.js +42 -0
  114. package/dist/chunk-808756xy.js +348 -0
  115. package/dist/chunk-819jqhcr.js +192 -0
  116. package/dist/chunk-83hfzbx3.js +10 -0
  117. package/dist/chunk-83myqqga.js +642 -0
  118. package/dist/chunk-84xggq3w.js +713 -0
  119. package/dist/chunk-85n4mydq.js +100 -0
  120. package/dist/chunk-86czeeyf.js +38 -0
  121. package/dist/chunk-8aww16wk.js +26840 -0
  122. package/dist/chunk-8bedvdm1.js +32 -0
  123. package/dist/chunk-8hq5kk3y.js +44 -0
  124. package/dist/chunk-8jmc7234.js +3198 -0
  125. package/dist/chunk-8jq1r68j.js +5946 -0
  126. package/dist/chunk-8mtb0zzs.js +40 -0
  127. package/dist/chunk-8qm7hxn7.js +27 -0
  128. package/dist/chunk-8tnsngw2.js +31 -0
  129. package/dist/chunk-8y0qvap3.js +333 -0
  130. package/dist/chunk-8y12jxg8.js +10 -0
  131. package/dist/chunk-8ymf4e6z.js +48 -0
  132. package/dist/chunk-90c8d4yc.js +1549 -0
  133. package/dist/chunk-90wp6wez.js +10510 -0
  134. package/dist/chunk-97q4f0d5.js +160 -0
  135. package/dist/chunk-9gbamk79.js +93 -0
  136. package/dist/chunk-9k2drwej.js +106 -0
  137. package/dist/chunk-9nta4x35.js +726 -0
  138. package/dist/chunk-9v90tzwk.js +175 -0
  139. package/dist/chunk-a8ejc632.js +3094 -0
  140. package/dist/chunk-a8fvd2bk.js +224 -0
  141. package/dist/chunk-a8pyxxmz.js +374 -0
  142. package/dist/chunk-a9vdeb6y.js +258 -0
  143. package/dist/chunk-a9zh40sj.js +48 -0
  144. package/dist/chunk-abmaztjr.js +157 -0
  145. package/dist/chunk-actwcnvp.js +69 -0
  146. package/dist/chunk-acy41n63.js +339 -0
  147. package/dist/chunk-ah8ppcb2.js +176 -0
  148. package/dist/chunk-aj276jn4.js +95 -0
  149. package/dist/chunk-ajs4f0bc.js +4521 -0
  150. package/dist/chunk-as7vh4kb.js +140 -0
  151. package/dist/chunk-atjpyqps.js +250 -0
  152. package/dist/chunk-azzv8k3w.js +724 -0
  153. package/dist/chunk-b2k6rctr.js +225 -0
  154. package/dist/chunk-b3e5kx55.js +602 -0
  155. package/dist/chunk-b4wg70y1.js +54 -0
  156. package/dist/chunk-b5x836wt.js +114 -0
  157. package/dist/chunk-b75fzr8e.js +969 -0
  158. package/dist/chunk-b8m6vy4x.js +86 -0
  159. package/dist/chunk-b8x1gk3y.js +1299 -0
  160. package/dist/chunk-bjqw6798.js +328 -0
  161. package/dist/chunk-bm1qb16p.js +17 -0
  162. package/dist/chunk-bpkdecb4.js +267 -0
  163. package/dist/chunk-bqfnp99q.js +477 -0
  164. package/dist/chunk-bvp4dgm4.js +182 -0
  165. package/dist/chunk-bwwtzjsw.js +28 -0
  166. package/dist/chunk-by7f0myv.js +91 -0
  167. package/dist/chunk-by9nr4w6.js +442 -0
  168. package/dist/chunk-c2nsc73g.js +1579 -0
  169. package/dist/chunk-c5dc5tw8.js +275 -0
  170. package/dist/chunk-cdz5yb0r.js +57 -0
  171. package/dist/chunk-cfv996bs.js +22 -0
  172. package/dist/chunk-cgfdkzhb.js +12 -0
  173. package/dist/chunk-cjxa22k7.js +438 -0
  174. package/dist/chunk-crkef7n3.js +10476 -0
  175. package/dist/chunk-cssdmv6r.js +127 -0
  176. package/dist/chunk-d69y9a95.js +1316 -0
  177. package/dist/chunk-d6qpsqd1.js +91 -0
  178. package/dist/chunk-d6rxfmhy.js +4389 -0
  179. package/dist/chunk-d88jf4t3.js +525 -0
  180. package/dist/chunk-d8ksq0y0.js +26 -0
  181. package/dist/chunk-d9kz373t.js +122 -0
  182. package/dist/chunk-ddk0ak7r.js +63 -0
  183. package/dist/chunk-ddqs9xnj.js +173 -0
  184. package/dist/chunk-detc4mva.js +99 -0
  185. package/dist/chunk-dfg36kvt.js +691 -0
  186. package/dist/chunk-dgqrcy74.js +48 -0
  187. package/dist/chunk-dhd6zm3z.js +1095 -0
  188. package/dist/chunk-dnh7jtpb.js +37 -0
  189. package/dist/chunk-dq9afpqh.js +432 -0
  190. package/dist/chunk-dqqfd54g.js +672 -0
  191. package/dist/chunk-dstxhxsx.js +121 -0
  192. package/dist/chunk-dv1wfr85.js +6373 -0
  193. package/dist/chunk-dw5yr66c.js +109 -0
  194. package/dist/chunk-dx6pnab5.js +56 -0
  195. package/dist/chunk-dz5j8gp2.js +66 -0
  196. package/dist/chunk-e5pntxye.js +37 -0
  197. package/dist/chunk-ec2tspnc.js +253 -0
  198. package/dist/chunk-eebcvtbb.js +1646 -0
  199. package/dist/chunk-egentr97.js +328 -0
  200. package/dist/chunk-ehtwnxpg.js +1591 -0
  201. package/dist/chunk-en4dwrtx.js +674 -0
  202. package/dist/chunk-enjbm16s.js +212 -0
  203. package/dist/chunk-epf7hfx9.js +130 -0
  204. package/dist/chunk-eqp1rfft.js +17 -0
  205. package/dist/chunk-er596fa7.js +246 -0
  206. package/dist/chunk-ewadzrm8.js +103 -0
  207. package/dist/chunk-ey1kf1m1.js +96 -0
  208. package/dist/chunk-f2xj33w0.js +59 -0
  209. package/dist/chunk-f5ma3nh5.js +3436 -0
  210. package/dist/chunk-f8vjkfqy.js +169 -0
  211. package/dist/chunk-fbpftpf0.js +69 -0
  212. package/dist/chunk-fbv4apne.js +51 -0
  213. package/dist/chunk-fka484jr.js +142 -0
  214. package/dist/chunk-fmkhaba7.js +1585 -0
  215. package/dist/chunk-fny8kwbq.js +88 -0
  216. package/dist/chunk-fvjqz54k.js +297 -0
  217. package/dist/chunk-fxdk70se.js +457 -0
  218. package/dist/chunk-fyc5fepv.js +10 -0
  219. package/dist/chunk-fytfjpnf.js +400 -0
  220. package/dist/chunk-fz99t69n.js +152 -0
  221. package/dist/chunk-g0j0t6qk.js +26 -0
  222. package/dist/chunk-g338npwr.js +1061 -0
  223. package/dist/chunk-g3t0act8.js +8 -0
  224. package/dist/chunk-g5xn13xx.js +143 -0
  225. package/dist/chunk-gc1s3jhh.js +40767 -0
  226. package/dist/chunk-gd397pcz.js +54 -0
  227. package/dist/chunk-gee88a3c.js +2642 -0
  228. package/dist/chunk-gmwkf29y.js +372 -0
  229. package/dist/chunk-gsxnne70.js +6106 -0
  230. package/dist/chunk-gv0tqhg0.js +118 -0
  231. package/dist/chunk-gx25wmv5.js +71 -0
  232. package/dist/chunk-gyj242zr.js +20 -0
  233. package/dist/chunk-gzzfhtdv.js +7189 -0
  234. package/dist/chunk-h0qngp9w.js +157 -0
  235. package/dist/chunk-h0rbjg6x.js +55 -0
  236. package/dist/chunk-h0xeqdrp.js +258 -0
  237. package/dist/chunk-h5f90qy3.js +220 -0
  238. package/dist/chunk-hakdhagh.js +16606 -0
  239. package/dist/chunk-hamj71dy.js +40 -0
  240. package/dist/chunk-hbrqcjwt.js +2334 -0
  241. package/dist/chunk-heg1nmw6.js +16 -0
  242. package/dist/chunk-hh7cmy4k.js +20 -0
  243. package/dist/chunk-hhxj3n5k.js +153 -0
  244. package/dist/chunk-hk9xz7gk.js +118 -0
  245. package/dist/chunk-hmxkx429.js +108 -0
  246. package/dist/chunk-hq6y1jbc.js +89 -0
  247. package/dist/chunk-hqmz36b3.js +552 -0
  248. package/dist/chunk-hrqdc2z6.js +208 -0
  249. package/dist/chunk-hzhe8ygc.js +547 -0
  250. package/dist/chunk-j0xd989k.js +655 -0
  251. package/dist/chunk-j2k4p94p.js +55 -0
  252. package/dist/chunk-j3a4p81y.js +184 -0
  253. package/dist/chunk-j5hc27hv.js +444 -0
  254. package/dist/chunk-j64ga6ta.js +8035 -0
  255. package/dist/chunk-janw82mh.js +1864 -0
  256. package/dist/chunk-jce5r25x.js +18 -0
  257. package/dist/chunk-jd32zbps.js +15 -0
  258. package/dist/chunk-jdgeec04.js +4249 -0
  259. package/dist/chunk-jgpqexxb.js +83 -0
  260. package/dist/chunk-jja22ke5.js +81 -0
  261. package/dist/chunk-jm91zc2r.js +102 -0
  262. package/dist/chunk-jnhkref0.js +30 -0
  263. package/dist/chunk-jrhwm6kh.js +1556 -0
  264. package/dist/chunk-jttemgp6.js +532 -0
  265. package/dist/chunk-jtx453jx.js +281 -0
  266. package/dist/chunk-jwft70vy.js +476 -0
  267. package/dist/chunk-jx817w05.js +11 -0
  268. package/dist/chunk-jzmz18nn.js +65 -0
  269. package/dist/chunk-k0p9w03v.js +4957 -0
  270. package/dist/chunk-k0ymf9zj.js +113 -0
  271. package/dist/chunk-k1tve81h.js +345 -0
  272. package/dist/chunk-k2bkmhp4.js +385 -0
  273. package/dist/chunk-k2qkkhf9.js +463 -0
  274. package/dist/chunk-k542zrk6.js +88 -0
  275. package/dist/chunk-kez03ppq.js +490 -0
  276. package/dist/chunk-kgmzdyrz.js +242 -0
  277. package/dist/chunk-khs0jvy0.js +216 -0
  278. package/dist/chunk-kr244txf.js +306 -0
  279. package/dist/chunk-ksawj46w.js +536 -0
  280. package/dist/chunk-kwekc97v.js +18 -0
  281. package/dist/chunk-kz6f106c.js +6956 -0
  282. package/dist/chunk-kzmfv2aw.js +745 -0
  283. package/dist/chunk-m26pp852.js +87 -0
  284. package/dist/chunk-m4pma84k.js +2057 -0
  285. package/dist/chunk-mfp30vsr.js +458 -0
  286. package/dist/chunk-mjn6p2km.js +92 -0
  287. package/dist/chunk-mk6tjz0j.js +469 -0
  288. package/dist/chunk-mqcwefg3.js +105 -0
  289. package/dist/chunk-mqm3kg01.js +61 -0
  290. package/dist/chunk-mt25echc.js +6157 -0
  291. package/dist/chunk-mw9ve19d.js +277 -0
  292. package/dist/chunk-mxt2wn9a.js +131 -0
  293. package/dist/chunk-n0qaeaa5.js +256 -0
  294. package/dist/chunk-n154ybpk.js +1919 -0
  295. package/dist/chunk-n2ktrmm8.js +62 -0
  296. package/dist/chunk-n59gj2nk.js +438 -0
  297. package/dist/chunk-n7ttdtk0.js +641 -0
  298. package/dist/chunk-nb9z2xs5.js +128 -0
  299. package/dist/chunk-nh8ssb02.js +88 -0
  300. package/dist/chunk-nj17bhkh.js +125 -0
  301. package/dist/chunk-njmw3yt4.js +173564 -0
  302. package/dist/chunk-njwzgb7j.js +61 -0
  303. package/dist/chunk-nka1g8f4.js +773 -0
  304. package/dist/chunk-nq0fxyxh.js +752 -0
  305. package/dist/chunk-nt837qt9.js +21 -0
  306. package/dist/chunk-nwsmn6zm.js +15 -0
  307. package/dist/chunk-nx4e896a.js +208 -0
  308. package/dist/chunk-p2816w9z.js +1486 -0
  309. package/dist/chunk-p2d5nh3g.js +342 -0
  310. package/dist/chunk-p331ghzg.js +391 -0
  311. package/dist/chunk-p4qrpz5a.js +99 -0
  312. package/dist/chunk-p8syd69s.js +47 -0
  313. package/dist/chunk-pdyq9kvn.js +83 -0
  314. package/dist/chunk-pkb4qnmq.js +1391 -0
  315. package/dist/chunk-pkcx8qa3.js +154 -0
  316. package/dist/chunk-pmsp9ed2.js +34 -0
  317. package/dist/chunk-pnmh6v4t.js +373 -0
  318. package/dist/chunk-ps49ymvj.js +43 -0
  319. package/dist/chunk-pwwa7s62.js +11 -0
  320. package/dist/chunk-pxy618ae.js +714 -0
  321. package/dist/chunk-py5y9jh1.js +38 -0
  322. package/dist/chunk-pzz93fck.js +173 -0
  323. package/dist/chunk-q25bjaev.js +15 -0
  324. package/dist/chunk-q756tpn6.js +765 -0
  325. package/dist/chunk-qbt1tq74.js +145 -0
  326. package/dist/chunk-qkkj0em0.js +104 -0
  327. package/dist/chunk-qnfx3qtx.js +617 -0
  328. package/dist/chunk-qp2qdcda.js +100 -0
  329. package/dist/chunk-qpkxg63w.js +160 -0
  330. package/dist/chunk-qqfa0dqg.js +2343 -0
  331. package/dist/chunk-qsd1r4pm.js +9300 -0
  332. package/dist/chunk-qseetcxd.js +908 -0
  333. package/dist/chunk-qvt2hjv0.js +849 -0
  334. package/dist/chunk-qxdv72g8.js +93 -0
  335. package/dist/chunk-qy0vwqgp.js +194 -0
  336. package/dist/chunk-qz2x630m.js +49145 -0
  337. package/dist/chunk-qzqagb7y.js +87 -0
  338. package/dist/chunk-r14xvkat.js +641 -0
  339. package/dist/chunk-r6b58y3x.js +17 -0
  340. package/dist/chunk-r6z6t5wr.js +97 -0
  341. package/dist/chunk-r855fz3z.js +41 -0
  342. package/dist/chunk-raqgs410.js +116 -0
  343. package/dist/chunk-rd5rdsdz.js +95 -0
  344. package/dist/chunk-renve22b.js +524 -0
  345. package/dist/chunk-res7qrc9.js +820 -0
  346. package/dist/chunk-rk7ns7gp.js +220 -0
  347. package/dist/chunk-rm0q8bwx.js +271 -0
  348. package/dist/chunk-rm56f6q8.js +41 -0
  349. package/dist/chunk-rn0v1hk8.js +34 -0
  350. package/dist/chunk-rrxeqt07.js +73 -0
  351. package/dist/chunk-rvgeep5b.js +117 -0
  352. package/dist/chunk-rx4c84ah.js +86 -0
  353. package/dist/chunk-s3pzvdss.js +50 -0
  354. package/dist/chunk-s5vqcxp0.js +54 -0
  355. package/dist/chunk-s88vzmek.js +542 -0
  356. package/dist/chunk-sazb7y67.js +279 -0
  357. package/dist/chunk-sbbj6ta3.js +1711 -0
  358. package/dist/chunk-sd36yzx8.js +954 -0
  359. package/dist/chunk-sdj9b9wh.js +782 -0
  360. package/dist/chunk-shb6nvk6.js +27 -0
  361. package/dist/chunk-szj5wvdy.js +28 -0
  362. package/dist/chunk-t0rgmccj.js +39 -0
  363. package/dist/chunk-t1jh3jk8.js +3036 -0
  364. package/dist/chunk-t3360k46.js +75 -0
  365. package/dist/chunk-t3h6pwp3.js +112 -0
  366. package/dist/chunk-t5ymtx9c.js +1493 -0
  367. package/dist/chunk-t6p76a55.js +120 -0
  368. package/dist/chunk-t7fdh24y.js +648 -0
  369. package/dist/chunk-texzbcna.js +716 -0
  370. package/dist/chunk-tjw7n4me.js +21933 -0
  371. package/dist/chunk-tjyhp966.js +24 -0
  372. package/dist/chunk-tnd5xbeh.js +802 -0
  373. package/dist/chunk-trfa7dbr.js +998 -0
  374. package/dist/chunk-ts2p6bv1.js +224 -0
  375. package/dist/chunk-tssr3fyd.js +287 -0
  376. package/dist/chunk-ttk5dzz8.js +25 -0
  377. package/dist/chunk-tvhjre1h.js +316 -0
  378. package/dist/chunk-txndc2j2.js +70 -0
  379. package/dist/chunk-v1kzp02e.js +785 -0
  380. package/dist/chunk-v2pc6h28.js +32 -0
  381. package/dist/chunk-v78fj8by.js +145 -0
  382. package/dist/chunk-v90xv5n9.js +157 -0
  383. package/dist/chunk-v9smspw2.js +4301 -0
  384. package/dist/chunk-vest0y6x.js +3830 -0
  385. package/dist/chunk-vf5sd1nq.js +12 -0
  386. package/dist/chunk-vhjx5fag.js +56 -0
  387. package/dist/chunk-vjtbtamj.js +165 -0
  388. package/dist/chunk-vkkay00s.js +229 -0
  389. package/dist/chunk-vqc05a0b.js +121 -0
  390. package/dist/chunk-vqk1n5qr.js +63 -0
  391. package/dist/chunk-vqvd3qz0.js +151 -0
  392. package/dist/chunk-vtp96y1a.js +90 -0
  393. package/dist/chunk-vyjeh50y.js +2149 -0
  394. package/dist/chunk-vz6s9tzt.js +43 -0
  395. package/dist/chunk-w3agqtpz.js +42 -0
  396. package/dist/chunk-w3dz905t.js +22 -0
  397. package/dist/chunk-w8yw30sd.js +15 -0
  398. package/dist/chunk-wa6b7bv9.js +467 -0
  399. package/dist/chunk-wb36q47x.js +128 -0
  400. package/dist/chunk-wbnv75aa.js +114 -0
  401. package/dist/chunk-wcepsp07.js +1013 -0
  402. package/dist/chunk-wecrhvf7.js +247 -0
  403. package/dist/chunk-wfz0qffj.js +3939 -0
  404. package/dist/chunk-wgcssf6v.js +722 -0
  405. package/dist/chunk-wn2268qd.js +335 -0
  406. package/dist/chunk-wtr5hjf7.js +3443 -0
  407. package/dist/chunk-wzpdet3m.js +843 -0
  408. package/dist/chunk-x0328bb5.js +305 -0
  409. package/dist/chunk-x5psxyg8.js +20 -0
  410. package/dist/chunk-x8b7vft8.js +132 -0
  411. package/dist/chunk-x8n22y7f.js +5017 -0
  412. package/dist/chunk-xq4cfvpn.js +213 -0
  413. package/dist/chunk-xqdvndvx.js +3394 -0
  414. package/dist/chunk-xrv9qadt.js +44 -0
  415. package/dist/chunk-xsq9ae7x.js +90 -0
  416. package/dist/chunk-xszk7n10.js +14358 -0
  417. package/dist/chunk-xx6h50zt.js +338 -0
  418. package/dist/chunk-y1784krc.js +19 -0
  419. package/dist/chunk-yfcsc3s4.js +153 -0
  420. package/dist/chunk-yngvgvqm.js +103 -0
  421. package/dist/chunk-yntm0ebf.js +500 -0
  422. package/dist/chunk-yw9xqzna.js +71 -0
  423. package/dist/chunk-ywxd4qw4.js +22 -0
  424. package/dist/chunk-yysj6sxt.js +336 -0
  425. package/dist/chunk-yzhxz894.js +32 -0
  426. package/dist/chunk-yztq1rhb.js +60 -0
  427. package/dist/chunk-z06751ss.js +16386 -0
  428. package/dist/chunk-z2dp53wn.js +17 -0
  429. package/dist/chunk-z5cvbngc.js +520 -0
  430. package/dist/chunk-z6vf0bdm.js +101 -0
  431. package/dist/chunk-zbqfbyfb.js +247 -0
  432. package/dist/chunk-zc6g0qqe.js +29 -0
  433. package/dist/chunk-zj863fgn.js +92 -0
  434. package/dist/chunk-zjd1m23p.js +1152 -0
  435. package/dist/chunk-zk2wsm7d.js +15 -0
  436. package/dist/chunk-zmwhk0zy.js +750 -0
  437. package/dist/chunk-zpywc76a.js +862 -0
  438. package/dist/chunk-zqm995gk.js +71 -0
  439. package/dist/chunk-zsfxha74.js +17655 -0
  440. package/dist/cli.js +89 -0
  441. package/package.json +36 -0
package/LICENSE.md ADDED
@@ -0,0 +1,5 @@
1
+ This package is published from a fork of Anthropic Claude Code.
2
+
3
+ Refer to the upstream license and usage terms before redistribution:
4
+ - https://github.com/anthropics/claude-code/blob/main/LICENSE.md
5
+ - https://www.anthropic.com/legal/commercial-terms
package/README.md ADDED
@@ -0,0 +1,468 @@
1
+ # Claude Code Best V3 (CCB)
2
+
3
+ 牢 A (Anthropic) 官方 [Claude Code](https://docs.anthropic.com/en/docs/claude-code) CLI 工具的源码反编译/逆向还原项目。目标是将 Claude Code 大部分功能及工程化能力复现 (问就是老佛爷已经付过钱了)。虽然很难绷, 但是它叫做 CCB(踩踩背)...
4
+
5
+ [文档在这里, 支持投稿 PR](https://ccb.agent-aura.top/)
6
+
7
+ 赞助商占位符
8
+
9
+ - [x] v1 会完成跑通及基本的类型检查通过;
10
+ - [x] V2 会完整实现工程化配套设施;
11
+ - [ ] Biome 格式化可能不会先实施, 避免代码冲突
12
+ - [x] 构建流水线完成, 产物 Node/Bun 都可以运行
13
+ - [x] V3 会写大量文档, 完善文档站点
14
+ - [ ] V4 会完成大量的测试文件, 以提高稳定性
15
+ - [ ] V5 大规模重构石山代码, 全面模块分包
16
+ - [ ] V5 将会为全新分支, 届时 main 分支将会封存为历史版本
17
+
18
+ > 我不知道这个项目还会存在多久, Star + Fork + git clone + .zip 包最稳健; 说白了就是扛旗项目, 看看能走多远
19
+ >
20
+ > 这个项目更新很快, 后台有 Opus 持续优化, 几乎几个小时就有新变化;
21
+ >
22
+ > Claude 已经烧了 1000$ 以上, 没钱了, 换成 GLM 继续玩;
23
+ >
24
+
25
+ 存活记录:
26
+
27
+ 1. 开源后 48 小时: 突破 7k Star; 测试代码小有成效;
28
+ 2. 开源后 24 小时: 突破 6k Star, 感谢各位支持. 完成 docs 文档的站点构建, 达到 v3 版本, 后续开始进行测试用例维护, 完成之后可以接受 PR; 看来牢 A 是不想理我们了;
29
+ 3. 开源后 15 小时: 完成了构建产物的 node 支持, 现在是完全体了; star 快到 3k 了; 等待牢 A 的邮件
30
+ 4. 开源后 12 小时: 愚人节, star 破 1k, 并且牢 A 没有发邮件搞这个项目
31
+
32
+ ## 快速开始
33
+
34
+ ### 环境要求
35
+
36
+ 一定要最新版本的 bun 啊, 不然一堆奇奇怪怪的 BUG!!! bun upgrade!!!
37
+
38
+ - [Bun](https://bun.sh/) >= 1.3.11
39
+ - 常规的配置 CC 的方式, 各大提供商都有自己的配置方式
40
+
41
+ ### 安装
42
+
43
+ ```bash
44
+ bun install
45
+ ```
46
+
47
+ ### 运行
48
+
49
+ ```bash
50
+ # 开发模式, 看到版本号 888 说明就是对了
51
+ bun run dev
52
+
53
+ # 构建
54
+ bun run build
55
+ ```
56
+
57
+ 构建采用 code splitting 多文件打包(`build.ts`),产物输出到 `dist/` 目录(入口 `dist/cli.js` + 约 450 个 chunk 文件)。
58
+
59
+ 构建出的版本 bun 和 node 都可以启动, 你 publish 到私有源可以直接启动
60
+
61
+ ### Fork 发布 / claudex 启动
62
+
63
+ 现在仓库额外提供了一套**低侵入 fork 发布链路**:
64
+
65
+ - 配置目录:`~/.claudex`
66
+ - 全局配置文件:`~/.claudex/.claude.json`
67
+
68
+ ```bash
69
+ # 准备 npm 发布目录(默认包名 @zyycn/claudex,命令名 claudex)
70
+ bun run release:prepare
71
+
72
+ # 发布目录
73
+ dist/npm/
74
+ ```
75
+
76
+ - 发布脚本:`scripts/release/prepare-release-package.mjs`
77
+ - 启动包装器:`scripts/release/bin/claudex.js`
78
+ - 上游同步脚本:`scripts/sync-upstream.sh`
79
+ - GitHub Actions:
80
+ - `.github/workflows/sync-upstream.yml`
81
+ - `.github/workflows/publish-npm.yml`
82
+
83
+ 可通过 GitHub Actions Variables 覆盖:
84
+
85
+ - `NPM_PACKAGE_NAME`
86
+ - `NPM_BIN_NAME`
87
+ - `PUBLISH_REPOSITORY_URL`
88
+ - `UPSTREAM_URL`
89
+ - `UPSTREAM_BRANCH`
90
+ - `TARGET_BRANCH`
91
+
92
+ 如果遇到 bug 请直接提一个 issues, 我们优先解决
93
+
94
+ ## 相关文档及网站
95
+
96
+ <https://deepwiki.com/claude-code-best/claude-code>
97
+
98
+ ## Star History
99
+
100
+ <a href="https://www.star-history.com/?repos=claude-code-best%2Fclaude-code&type=date&legend=top-left">
101
+ <picture>
102
+ <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/image?repos=claude-code-best/claude-code&type=date&theme=dark&legend=top-left" />
103
+ <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/image?repos=claude-code-best/claude-code&type=date&legend=top-left" />
104
+ <img alt="Star History Chart" src="https://api.star-history.com/image?repos=claude-code-best/claude-code&type=date&legend=top-left" />
105
+ </picture>
106
+ </a>
107
+
108
+ ## 能力清单
109
+
110
+ > ✅ = 已实现 ⚠️ = 部分实现 / 条件启用 ❌ = stub / 移除 / feature flag 关闭
111
+
112
+ ### 核心系统
113
+
114
+ | 能力 | 状态 | 说明 |
115
+ |------|------|------|
116
+ | REPL 交互界面(Ink 终端渲染) | ✅ | 主屏幕 5000+ 行,完整交互 |
117
+ | API 通信 — Anthropic Direct | ✅ | 支持 API Key + OAuth |
118
+ | API 通信 — AWS Bedrock | ✅ | 支持凭据刷新、Bearer Token |
119
+ | API 通信 — Google Vertex | ✅ | 支持 GCP 凭据刷新 |
120
+ | API 通信 — Azure Foundry | ✅ | 支持 API Key + Azure AD |
121
+ | 流式对话与工具调用循环 (`query.ts`) | ✅ | 1700+ 行,含自动压缩、token 追踪 |
122
+ | 会话引擎 (`QueryEngine.ts`) | ✅ | 1300+ 行,管理对话状态与归因 |
123
+ | 上下文构建(git status / CLAUDE.md / memory) | ✅ | `context.ts` 完整实现 |
124
+ | 权限系统(plan/auto/manual 模式) | ✅ | 6300+ 行,含 YOLO 分类器、路径验证、规则匹配 |
125
+ | Hook 系统(pre/post tool use) | ✅ | 支持 settings.json 配置 |
126
+ | 会话恢复 (`/resume`) | ✅ | 独立 ResumeConversation 屏幕 |
127
+ | Doctor 诊断 (`/doctor`) | ✅ | 版本、API、插件、沙箱检查 |
128
+ | 自动压缩 (compaction) | ✅ | auto-compact / micro-compact / API compact |
129
+
130
+ ### 工具 — 始终可用
131
+
132
+ | 工具 | 状态 | 说明 |
133
+ |------|------|------|
134
+ | BashTool | ✅ | Shell 执行,沙箱,权限检查 |
135
+ | FileReadTool | ✅ | 文件 / PDF / 图片 / Notebook 读取 |
136
+ | FileEditTool | ✅ | 字符串替换式编辑 + diff 追踪 |
137
+ | FileWriteTool | ✅ | 文件创建 / 覆写 + diff 生成 |
138
+ | NotebookEditTool | ✅ | Jupyter Notebook 单元格编辑 |
139
+ | AgentTool | ✅ | 子代理派生(fork / async / background / remote) |
140
+ | WebFetchTool | ✅ | URL 抓取 → Markdown → AI 摘要 |
141
+ | WebSearchTool | ✅ | 网页搜索 + 域名过滤 |
142
+ | AskUserQuestionTool | ✅ | 多问题交互提示 + 预览 |
143
+ | SendMessageTool | ✅ | 消息发送(peers / teammates / mailbox) |
144
+ | SkillTool | ✅ | 斜杠命令 / Skill 调用 |
145
+ | EnterPlanModeTool | ✅ | 进入计划模式 |
146
+ | ExitPlanModeTool (V2) | ✅ | 退出计划模式 |
147
+ | TodoWriteTool | ✅ | Todo 列表 v1 |
148
+ | BriefTool | ✅ | 简短消息 + 附件发送 |
149
+ | TaskOutputTool | ✅ | 后台任务输出读取 |
150
+ | TaskStopTool | ✅ | 后台任务停止 |
151
+ | ListMcpResourcesTool | ⚠️ | MCP 资源列表(被 specialTools 过滤,特定条件下加入) |
152
+ | ReadMcpResourceTool | ⚠️ | MCP 资源读取(同上) |
153
+ | SyntheticOutputTool | ⚠️ | 仅在非交互会话(SDK/pipe 模式)下创建 |
154
+ | CronCreateTool | ✅ | 定时任务创建(已移除 AGENT_TRIGGERS gate) |
155
+ | CronDeleteTool | ✅ | 定时任务删除 |
156
+ | CronListTool | ✅ | 定时任务列表 |
157
+ | EnterWorktreeTool | ✅ | 进入 Git Worktree(`isWorktreeModeEnabled()` 已硬编码为 true) |
158
+ | ExitWorktreeTool | ✅ | 退出 Git Worktree |
159
+
160
+ ### 工具 — 条件启用
161
+
162
+ | 工具 | 状态 | 启用条件 |
163
+ |------|------|----------|
164
+ | GlobTool | ✅ | 未嵌入 bfs/ugrep 时启用(默认启用) |
165
+ | GrepTool | ✅ | 同上 |
166
+ | TaskCreateTool | ⚠️ | `isTodoV2Enabled()` 为 true 时 |
167
+ | TaskGetTool | ⚠️ | 同上 |
168
+ | TaskUpdateTool | ⚠️ | 同上 |
169
+ | TaskListTool | ⚠️ | 同上 |
170
+ | TeamCreateTool | ⚠️ | `isAgentSwarmsEnabled()` |
171
+ | TeamDeleteTool | ⚠️ | 同上 |
172
+ | ToolSearchTool | ⚠️ | `isToolSearchEnabledOptimistic()` |
173
+ | PowerShellTool | ⚠️ | Windows 平台检测 |
174
+ | LSPTool | ⚠️ | `ENABLE_LSP_TOOL` 环境变量 |
175
+ | ConfigTool | ❌ | `USER_TYPE === 'ant'`(永远为 false) |
176
+
177
+ ### 工具 — Feature Flag 关闭(全部不可用)
178
+
179
+ | 工具 | Feature Flag |
180
+ |------|-------------|
181
+ | SleepTool | `PROACTIVE` / `KAIROS` |
182
+ | RemoteTriggerTool | `AGENT_TRIGGERS_REMOTE` |
183
+ | MonitorTool | `MONITOR_TOOL` |
184
+ | SendUserFileTool | `KAIROS` |
185
+ | OverflowTestTool | `OVERFLOW_TEST_TOOL` |
186
+ | TerminalCaptureTool | `TERMINAL_PANEL` |
187
+ | WebBrowserTool | `WEB_BROWSER_TOOL` |
188
+ | SnipTool | `HISTORY_SNIP` |
189
+ | WorkflowTool | `WORKFLOW_SCRIPTS` |
190
+ | PushNotificationTool | `KAIROS` / `KAIROS_PUSH_NOTIFICATION` |
191
+ | SubscribePRTool | `KAIROS_GITHUB_WEBHOOKS` |
192
+ | ListPeersTool | `UDS_INBOX` |
193
+ | CtxInspectTool | `CONTEXT_COLLAPSE` |
194
+
195
+ ### 工具 — Stub / 不可用
196
+
197
+ | 工具 | 说明 |
198
+ |------|------|
199
+ | TungstenTool | ANT-ONLY stub |
200
+ | REPLTool | ANT-ONLY,`isEnabled: () => false` |
201
+ | SuggestBackgroundPRTool | ANT-ONLY,`isEnabled: () => false` |
202
+ | VerifyPlanExecutionTool | 需 `CLAUDE_CODE_VERIFY_PLAN=true` 环境变量,且为 stub |
203
+ | ReviewArtifactTool | stub,未注册到 tools.ts |
204
+ | DiscoverSkillsTool | stub,未注册到 tools.ts |
205
+
206
+ ### 斜杠命令 — 可用
207
+
208
+ | 命令 | 状态 | 说明 |
209
+ |------|------|------|
210
+ | `/add-dir` | ✅ | 添加目录 |
211
+ | `/advisor` | ✅ | Advisor 配置 |
212
+ | `/agents` | ✅ | 代理列表/管理 |
213
+ | `/branch` | ✅ | 分支管理 |
214
+ | `/btw` | ✅ | 快速备注 |
215
+ | `/chrome` | ✅ | Chrome 集成 |
216
+ | `/clear` | ✅ | 清屏 |
217
+ | `/color` | ✅ | Agent 颜色 |
218
+ | `/compact` | ✅ | 压缩对话 |
219
+ | `/config` (`/settings`) | ✅ | 配置管理 |
220
+ | `/context` | ✅ | 上下文信息 |
221
+ | `/copy` | ✅ | 复制最后消息 |
222
+ | `/cost` | ✅ | 会话费用 |
223
+ | `/desktop` | ✅ | Claude Desktop 集成 |
224
+ | `/diff` | ✅ | 显示 diff |
225
+ | `/doctor` | ✅ | 健康检查 |
226
+ | `/effort` | ✅ | 设置 effort 等级 |
227
+ | `/exit` | ✅ | 退出 |
228
+ | `/export` | ✅ | 导出对话 |
229
+ | `/extra-usage` | ✅ | 额外用量信息 |
230
+ | `/fast` | ✅ | 切换 fast 模式 |
231
+ | `/feedback` | ✅ | 反馈 |
232
+ | `/loop` | ✅ | 定时循环执行(bundled skill,可通过 `CLAUDE_CODE_DISABLE_CRON` 关闭) |
233
+ | `/heapdump` | ✅ | Heap dump(调试) |
234
+ | `/help` | ✅ | 帮助 |
235
+ | `/hooks` | ✅ | Hook 管理 |
236
+ | `/ide` | ✅ | IDE 连接 |
237
+ | `/init` | ✅ | 初始化项目 |
238
+ | `/install-github-app` | ✅ | 安装 GitHub App |
239
+ | `/install-slack-app` | ✅ | 安装 Slack App |
240
+ | `/keybindings` | ✅ | 快捷键管理 |
241
+ | `/login` / `/logout` | ✅ | 登录 / 登出 |
242
+ | `/mcp` | ✅ | MCP 服务管理 |
243
+ | `/memory` | ✅ | Memory / CLAUDE.md 管理 |
244
+ | `/mobile` | ✅ | 移动端 QR 码 |
245
+ | `/model` | ✅ | 模型选择 |
246
+ | `/output-style` | ✅ | 输出风格 |
247
+ | `/passes` | ✅ | 推荐码 |
248
+ | `/permissions` | ✅ | 权限管理 |
249
+ | `/plan` | ✅ | 计划模式 |
250
+ | `/plugin` | ✅ | 插件管理 |
251
+ | `/pr-comments` | ✅ | PR 评论 |
252
+ | `/privacy-settings` | ✅ | 隐私设置 |
253
+ | `/rate-limit-options` | ✅ | 限速选项 |
254
+ | `/release-notes` | ✅ | 更新日志 |
255
+ | `/reload-plugins` | ✅ | 重载插件 |
256
+ | `/remote-env` | ✅ | 远程环境配置 |
257
+ | `/rename` | ✅ | 重命名会话 |
258
+ | `/resume` | ✅ | 恢复会话 |
259
+ | `/review` | ✅ | 代码审查(本地) |
260
+ | `/ultrareview` | ✅ | 云端审查 |
261
+ | `/rewind` | ✅ | 回退对话 |
262
+ | `/sandbox-toggle` | ✅ | 切换沙箱 |
263
+ | `/security-review` | ✅ | 安全审查 |
264
+ | `/session` | ✅ | 会话信息 |
265
+ | `/skills` | ✅ | Skill 管理 |
266
+ | `/stats` | ✅ | 会话统计 |
267
+ | `/status` | ✅ | 状态信息 |
268
+ | `/statusline` | ✅ | 状态栏 UI |
269
+ | `/stickers` | ✅ | 贴纸 |
270
+ | `/tasks` | ✅ | 任务管理 |
271
+ | `/theme` | ✅ | 终端主题 |
272
+ | `/think-back` | ✅ | 年度回顾 |
273
+ | `/upgrade` | ✅ | 升级 CLI |
274
+ | `/usage` | ✅ | 用量信息 |
275
+ | `/insights` | ✅ | 使用分析报告 |
276
+ | `/vim` | ✅ | Vim 模式 |
277
+
278
+ ### 斜杠命令 — Feature Flag 关闭
279
+
280
+ | 命令 | Feature Flag |
281
+ |------|-------------|
282
+ | `/voice` | `VOICE_MODE` |
283
+ | `/proactive` | `PROACTIVE` / `KAIROS` |
284
+ | `/brief` | `KAIROS` / `KAIROS_BRIEF` |
285
+ | `/assistant` | `KAIROS` |
286
+ | `/remote-control` (alias `rc`) | `BRIDGE_MODE` |
287
+ | `/remote-control-server` | `DAEMON` + `BRIDGE_MODE` |
288
+ | `/force-snip` | `HISTORY_SNIP` |
289
+ | `/workflows` | `WORKFLOW_SCRIPTS` |
290
+ | `/web-setup` | `CCR_REMOTE_SETUP` |
291
+ | `/subscribe-pr` | `KAIROS_GITHUB_WEBHOOKS` |
292
+ | `/ultraplan` | `ULTRAPLAN` |
293
+ | `/torch` | `TORCH` |
294
+ | `/peers` | `UDS_INBOX` |
295
+ | `/fork` | `FORK_SUBAGENT` |
296
+ | `/buddy` | `BUDDY` |
297
+
298
+ ### 斜杠命令 — ANT-ONLY(不可用)
299
+
300
+ `/files` `/tag` `/backfill-sessions` `/break-cache` `/bughunter` `/commit` `/commit-push-pr` `/ctx_viz` `/good-claude` `/issue` `/init-verifiers` `/mock-limits` `/bridge-kick` `/version` `/reset-limits` `/onboarding` `/share` `/summary` `/teleport` `/ant-trace` `/perf-issue` `/env` `/oauth-refresh` `/debug-tool-call` `/agents-platform` `/autofix-pr`
301
+
302
+ ### CLI 子命令
303
+
304
+ | 子命令 | 状态 | 说明 |
305
+ |--------|------|------|
306
+ | `claude`(默认) | ✅ | 主 REPL / 交互 / print 模式 |
307
+ | `claude mcp serve/add/remove/list/get/...` | ✅ | MCP 服务管理(7 个子命令) |
308
+ | `claude auth login/status/logout` | ✅ | 认证管理 |
309
+ | `claude plugin validate/list/install/...` | ✅ | 插件管理(7 个子命令) |
310
+ | `claude setup-token` | ✅ | 长效 Token 配置 |
311
+ | `claude agents` | ✅ | 代理列表 |
312
+ | `claude doctor` | ✅ | 健康检查 |
313
+ | `claude update` / `upgrade` | ✅ | 自动更新 |
314
+ | `claude install [target]` | ✅ | Native 安装 |
315
+ | `claude server` | ❌ | `DIRECT_CONNECT` flag |
316
+ | `claude ssh <host>` | ❌ | `SSH_REMOTE` flag |
317
+ | `claude open <cc-url>` | ❌ | `DIRECT_CONNECT` flag |
318
+ | `claude auto-mode` | ❌ | `TRANSCRIPT_CLASSIFIER` flag |
319
+ | `claude remote-control` | ❌ | `BRIDGE_MODE` + `DAEMON` flag |
320
+ | `claude assistant` | ❌ | `KAIROS` flag |
321
+ | `claude up/rollback/log/error/export/task/completion` | ❌ | ANT-ONLY |
322
+
323
+ ### 服务层
324
+
325
+ | 服务 | 状态 | 说明 |
326
+ |------|------|------|
327
+ | API 客户端 (`services/api/`) | ✅ | 3400+ 行,4 个 provider |
328
+ | MCP (`services/mcp/`) | ✅ | 34 个文件,12000+ 行 |
329
+ | OAuth (`services/oauth/`) | ✅ | 完整 OAuth 流程 |
330
+ | 插件 (`services/plugins/`) | ✅ | 基础设施完整,无内置插件 |
331
+ | LSP (`services/lsp/`) | ⚠️ | 实现存在,默认关闭 |
332
+ | 压缩 (`services/compact/`) | ✅ | auto / micro / API 压缩 |
333
+ | Hook 系统 (`services/tools/toolHooks.ts`) | ✅ | pre/post tool use hooks |
334
+ | 会话记忆 (`services/SessionMemory/`) | ✅ | 会话记忆管理 |
335
+ | 记忆提取 (`services/extractMemories/`) | ✅ | 自动记忆提取 |
336
+ | Skill 搜索 (`services/skillSearch/`) | ✅ | 本地/远程 skill 搜索 |
337
+ | 策略限制 (`services/policyLimits/`) | ✅ | 策略限制执行 |
338
+ | 分析 / GrowthBook / Sentry | ⚠️ | 框架存在,实际 sink 为空 |
339
+ | Voice (`services/voice.ts`) | ❌ | `VOICE_MODE` flag 关闭 |
340
+
341
+ ### 内部包 (`packages/`)
342
+
343
+ | 包 | 状态 | 说明 |
344
+ |------|------|------|
345
+ | `color-diff-napi` | ✅ | 1006 行完整 TypeScript 实现(语法高亮 diff) |
346
+ | `audio-capture-napi` | ✅ | 151 行完整实现(跨平台音频录制,使用 SoX/arecord) |
347
+ | `image-processor-napi` | ✅ | 125 行完整实现(macOS 剪贴板图片读取,使用 osascript + sharp) |
348
+ | `modifiers-napi` | ✅ | 67 行完整实现(macOS 修饰键检测,bun:ffi + CoreGraphics) |
349
+ | `url-handler-napi` | ❌ | stub,`waitForUrlEvent()` 返回 null |
350
+ | `@ant/claude-for-chrome-mcp` | ❌ | stub,`createServer()` 返回 null |
351
+ | `@ant/computer-use-mcp` | ⚠️ | 类型安全 stub(265 行,完整类型定义但函数返回空值) |
352
+ | `@ant/computer-use-input` | ✅ | 183 行完整实现(macOS 键鼠模拟,AppleScript/JXA/CGEvent) |
353
+ | `@ant/computer-use-swift` | ✅ | 388 行完整实现(macOS 显示器/应用管理/截图,JXA/screencapture) |
354
+
355
+ ### Feature Flags(31 个,全部返回 `false`)
356
+
357
+ `ABLATION_BASELINE` `AGENT_MEMORY_SNAPSHOT` `BG_SESSIONS` `BRIDGE_MODE` `BUDDY` `CCR_MIRROR` `CCR_REMOTE_SETUP` `CHICAGO_MCP` `COORDINATOR_MODE` `DAEMON` `DIRECT_CONNECT` `EXPERIMENTAL_SKILL_SEARCH` `FORK_SUBAGENT` `HARD_FAIL` `HISTORY_SNIP` `KAIROS` `KAIROS_BRIEF` `KAIROS_CHANNELS` `KAIROS_GITHUB_WEBHOOKS` `LODESTONE` `MCP_SKILLS` `PROACTIVE` `SSH_REMOTE` `TORCH` `TRANSCRIPT_CLASSIFIER` `UDS_INBOX` `ULTRAPLAN` `UPLOAD_USER_SETTINGS` `VOICE_MODE` `WEB_BROWSER_TOOL` `WORKFLOW_SCRIPTS`
358
+
359
+ ## 项目结构
360
+
361
+ ```
362
+ claude-code/
363
+ ├── src/
364
+ │ ├── entrypoints/
365
+ │ │ ├── cli.tsx # 入口文件(含 MACRO/feature polyfill)
366
+ │ │ └── sdk/ # SDK 子模块 stub
367
+ │ ├── main.tsx # 主 CLI 逻辑(Commander 定义)
368
+ │ └── types/
369
+ │ ├── global.d.ts # 全局变量/宏声明
370
+ │ └── internal-modules.d.ts # 内部 npm 包类型声明
371
+ ├── packages/ # Monorepo workspace 包
372
+ │ ├── color-diff-napi/ # 完整实现(终端 color diff)
373
+ │ ├── modifiers-napi/ # stub(macOS 修饰键检测)
374
+ │ ├── audio-capture-napi/ # stub
375
+ │ ├── image-processor-napi/# stub
376
+ │ ├── url-handler-napi/ # stub
377
+ │ └── @ant/ # Anthropic 内部包 stub
378
+ │ ├── claude-for-chrome-mcp/
379
+ │ ├── computer-use-mcp/
380
+ │ ├── computer-use-input/
381
+ │ └── computer-use-swift/
382
+ ├── scripts/ # 自动化 stub 生成脚本
383
+ ├── build.ts # 构建脚本(Bun.build + code splitting + Node.js 兼容后处理)
384
+ ├── dist/ # 构建输出(入口 cli.js + ~450 chunk 文件)
385
+ └── package.json # Bun workspaces monorepo 配置
386
+ ```
387
+
388
+ ## 技术说明
389
+
390
+ ### 运行时 Polyfill
391
+
392
+ 入口文件 `src/entrypoints/cli.tsx` 顶部注入了必要的 polyfill:
393
+
394
+ - `feature()` — 所有 feature flag 返回 `false`,跳过未实现分支
395
+ - `globalThis.MACRO` — 模拟构建时宏注入(VERSION 等)
396
+
397
+ ### Monorepo
398
+
399
+ 项目采用 Bun workspaces 管理内部包。原先手工放在 `node_modules/` 下的 stub 已统一迁入 `packages/`,通过 `workspace:*` 解析。
400
+
401
+ ## Feature Flags 详解
402
+
403
+ 原版 Claude Code 通过 `bun:bundle` 的 `feature()` 在构建时注入 feature flag,由 GrowthBook 等 A/B 实验平台控制灰度发布。本项目中 `feature()` 被 polyfill 为始终返回 `false`,因此以下 30 个 flag 全部关闭。
404
+
405
+ ### 自主 Agent
406
+
407
+ | Flag | 用途 |
408
+ |------|------|
409
+ | `KAIROS` | Assistant 模式 — 长期运行的自主 Agent(含 brief、push 通知、文件发送) |
410
+ | `KAIROS_BRIEF` | Kairos Brief — 向用户发送简报摘要 |
411
+ | `KAIROS_CHANNELS` | Kairos 频道 — 多频道通信 |
412
+ | `KAIROS_GITHUB_WEBHOOKS` | GitHub Webhook 订阅 — PR 事件实时推送给 Agent |
413
+ | `PROACTIVE` | 主动模式 — Agent 主动执行任务,含 SleepTool 定时唤醒 |
414
+ | `COORDINATOR_MODE` | 协调器模式 — 多 Agent 编排调度 |
415
+ | `BUDDY` | Buddy 配对编程功能 |
416
+ | `FORK_SUBAGENT` | Fork 子代理 — 从当前会话分叉出独立子代理 |
417
+
418
+ ### 远程 / 分布式
419
+
420
+ | Flag | 用途 |
421
+ |------|------|
422
+ | `BRIDGE_MODE` | 远程控制桥接 — 允许外部客户端远程操控 Claude Code |
423
+ | `DAEMON` | 守护进程 — 后台常驻服务,支持 worker 和 supervisor |
424
+ | `BG_SESSIONS` | 后台会话 — `ps`/`logs`/`attach`/`kill`/`--bg` 等后台进程管理 |
425
+ | `SSH_REMOTE` | SSH 远程 — `claude ssh <host>` 连接远程主机 |
426
+ | `DIRECT_CONNECT` | 直连模式 — `cc://` URL 协议、server 命令、`open` 命令 |
427
+ | `CCR_REMOTE_SETUP` | 网页端远程配置 — 通过浏览器配置 Claude Code |
428
+ | `CCR_MIRROR` | Claude Code Runtime 镜像 — 会话状态同步/复制 |
429
+
430
+ ### 通信
431
+
432
+ | Flag | 用途 |
433
+ |------|------|
434
+ | `UDS_INBOX` | Unix Domain Socket 收件箱 — Agent 间本地通信(`/peers`) |
435
+
436
+ ### 增强工具
437
+
438
+ | Flag | 用途 |
439
+ |------|------|
440
+ | `CHICAGO_MCP` | Computer Use MCP — 计算机操作(屏幕截图、鼠标键盘控制) |
441
+ | `WEB_BROWSER_TOOL` | 网页浏览器工具 — 在终端内嵌浏览器交互 |
442
+ | `VOICE_MODE` | 语音模式 — 语音输入输出,麦克风 push-to-talk |
443
+ | `WORKFLOW_SCRIPTS` | 工作流脚本 — 用户自定义自动化工作流 |
444
+ | `MCP_SKILLS` | 基于 MCP 的 Skill 加载机制 |
445
+
446
+ ### 对话管理
447
+
448
+ | Flag | 用途 |
449
+ |------|------|
450
+ | `HISTORY_SNIP` | 历史裁剪 — 手动裁剪对话历史中的片段(`/force-snip`) |
451
+ | `ULTRAPLAN` | 超级计划 — 远程 Agent 协作的大规模规划功能 |
452
+ | `AGENT_MEMORY_SNAPSHOT` | Agent 运行时的记忆快照功能 |
453
+
454
+ ### 基础设施 / 实验
455
+
456
+ | Flag | 用途 |
457
+ |------|------|
458
+ | `ABLATION_BASELINE` | 科学实验 — 基线消融测试,用于 A/B 实验对照组 |
459
+ | `HARD_FAIL` | 硬失败模式 — 遇错直接中断而非降级 |
460
+ | `TRANSCRIPT_CLASSIFIER` | 对话分类器 — `auto-mode` 命令,自动分析和分类对话记录 |
461
+ | `UPLOAD_USER_SETTINGS` | 设置同步上传 — 将本地配置同步到云端 |
462
+ | `LODESTONE` | 深度链接协议处理器 — 从外部应用跳转到 Claude Code 指定位置 |
463
+ | `EXPERIMENTAL_SKILL_SEARCH` | 实验性 Skill 搜索索引 |
464
+ | `TORCH` | Torch 功能(具体用途未知,可能是某种高亮/追踪机制) |
465
+
466
+ ## 许可证
467
+
468
+ 本项目仅供学习研究用途。Claude Code 的所有权利归 [Anthropic](https://www.anthropic.com/) 所有。
package/bin/claudex.js ADDED
@@ -0,0 +1,40 @@
1
+ #!/usr/bin/env node
2
+
3
+ import { spawnSync } from 'node:child_process'
4
+ import { dirname, join } from 'node:path'
5
+ import { fileURLToPath } from 'node:url'
6
+ import { readFileSync } from 'node:fs'
7
+
8
+ const here = dirname(fileURLToPath(import.meta.url))
9
+ const packageRoot = join(here, '..')
10
+ const entrypoint = join(packageRoot, 'dist', 'cli.js')
11
+ const packageName = getPackageName()
12
+
13
+ const result = spawnSync(process.execPath, [entrypoint, ...process.argv.slice(2)], {
14
+ cwd: process.cwd(),
15
+ stdio: 'inherit',
16
+ env: {
17
+ ...process.env,
18
+ CLAUDE_CODE_BIN_NAME: 'claudex',
19
+ CLAUDE_CODE_PACKAGE_NAME: packageName,
20
+ CLAUDE_CODE_FORCE_FULL_LOGO:
21
+ process.env.CLAUDE_CODE_FORCE_FULL_LOGO ?? '1',
22
+ },
23
+ })
24
+
25
+ if (result.error) {
26
+ console.error(result.error.message)
27
+ process.exit(1)
28
+ }
29
+
30
+ process.exit(result.status ?? 1)
31
+
32
+ function getPackageName() {
33
+ try {
34
+ const pkg = JSON.parse(readFileSync(join(packageRoot, 'package.json'), 'utf8'))
35
+ if (typeof pkg?.name === 'string' && pkg.name.trim()) {
36
+ return pkg.name.trim()
37
+ }
38
+ } catch {}
39
+ return '@zyycn/claudex'
40
+ }