@redscope-ai/redscope 1.0.1 → 1.0.3

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 (330) hide show
  1. package/README.en.md +227 -0
  2. package/README.md +220 -217
  3. package/dist/{chunk-3x0s9z1q.js → chunk-023acdm0.js} +25 -25
  4. package/dist/{chunk-m7r5vcgq.js → chunk-06jm5f5w.js} +3 -3
  5. package/dist/{chunk-facpqya9.js → chunk-06w1r147.js} +2 -2
  6. package/dist/{chunk-9vfydwy6.js → chunk-0avzafsa.js} +2 -5
  7. package/dist/{chunk-rrk7d1rq.js → chunk-0c1e6nsn.js} +25 -25
  8. package/dist/{chunk-dgpvgy8x.js → chunk-0cw0nqjs.js} +3 -1
  9. package/dist/{chunk-3em6npyp.js → chunk-0jka50w4.js} +3 -3
  10. package/dist/{chunk-7rjwrny5.js → chunk-0rbc26z4.js} +26 -31
  11. package/dist/{chunk-s6m0q0ay.js → chunk-0rf3q4pf.js} +39 -80
  12. package/dist/{chunk-hb9ktw1z.js → chunk-0svk90hg.js} +25 -25
  13. package/dist/{chunk-38ss09df.js → chunk-0vzzrkz4.js} +25 -25
  14. package/dist/{chunk-95drsk81.js → chunk-0wcq2t8n.js} +2 -2
  15. package/dist/{chunk-3byh4jew.js → chunk-0yxm7z9z.js} +3 -3
  16. package/dist/{chunk-xkpkfzk8.js → chunk-123bvtj1.js} +30 -48
  17. package/dist/{chunk-djgf5xch.js → chunk-12hpfrr1.js} +25 -25
  18. package/dist/{chunk-byq8np07.js → chunk-15tat68f.js} +2 -2
  19. package/dist/{chunk-ebmxh8nf.js → chunk-16ykprvr.js} +1 -1
  20. package/dist/{chunk-zrewvwc3.js → chunk-17dcqvgw.js} +1 -1
  21. package/dist/{chunk-mmm8kj27.js → chunk-192cahpv.js} +38 -50
  22. package/dist/{chunk-nkk989sg.js → chunk-21c75grh.js} +27 -27
  23. package/dist/{chunk-cdw0xw6e.js → chunk-21rqe34c.js} +25 -25
  24. package/dist/{chunk-48ba4bv3.js → chunk-24dea3bm.js} +26 -26
  25. package/dist/{chunk-118jdzmk.js → chunk-24gt9tem.js} +4 -4
  26. package/dist/{chunk-2zeke2mx.js → chunk-257f88xy.js} +25 -25
  27. package/dist/{chunk-etsm0ajc.js → chunk-25a7e2b2.js} +2 -3
  28. package/dist/{chunk-g1cwsyvs.js → chunk-27jq35w7.js} +2 -4
  29. package/dist/{chunk-xymn8svx.js → chunk-2gr8wd1e.js} +31 -31
  30. package/dist/{chunk-9fc170m9.js → chunk-2hhnyc9z.js} +1 -1
  31. package/dist/{chunk-ps28aehs.js → chunk-2r358tjd.js} +3 -3
  32. package/dist/{chunk-m1xjf821.js → chunk-2wtxmesv.js} +1 -1
  33. package/dist/{chunk-wqwj2tpk.js → chunk-34dbp6b1.js} +51 -162
  34. package/dist/{chunk-3y22e541.js → chunk-36hnfrpk.js} +25 -25
  35. package/dist/{chunk-az9kwsq6.js → chunk-36qfna0k.js} +49 -29
  36. package/dist/{chunk-3s34rpkc.js → chunk-38cze5hg.js} +4 -4
  37. package/dist/{chunk-zaavsjhp.js → chunk-38qbfqxd.js} +28 -26
  38. package/dist/{chunk-845qrs4g.js → chunk-392qkvj0.js} +1 -1
  39. package/dist/{chunk-2y9tthav.js → chunk-3brgt1g6.js} +3 -3
  40. package/dist/{chunk-vjef66jt.js → chunk-3df47gdq.js} +3 -3
  41. package/dist/{chunk-jmvph1v2.js → chunk-3e4mz6v4.js} +26 -26
  42. package/dist/{chunk-pe2aev4q.js → chunk-3ehdg9ak.js} +1 -1
  43. package/dist/{chunk-35c7a56h.js → chunk-3gv7d6fm.js} +8 -8
  44. package/dist/{chunk-y7sm71r6.js → chunk-3hp43psz.js} +25 -25
  45. package/dist/{chunk-qf0neqhd.js → chunk-3psr6x6b.js} +2 -2
  46. package/dist/{chunk-hae38370.js → chunk-3x87ez75.js} +1 -1
  47. package/dist/{chunk-ws8ktkp2.js → chunk-3z9myktf.js} +40 -63
  48. package/dist/{chunk-3tmdbgn2.js → chunk-41246kaz.js} +1 -1
  49. package/dist/{chunk-m89pwye4.js → chunk-420rqw3z.js} +30 -29
  50. package/dist/{chunk-f3az90wc.js → chunk-4380xxa3.js} +2 -2
  51. package/dist/{chunk-g9x2ap0b.js → chunk-43rvg1zq.js} +3 -3
  52. package/dist/{chunk-yvxcjtz7.js → chunk-449d7km7.js} +25 -25
  53. package/dist/{chunk-k6mma3ve.js → chunk-4b63tj55.js} +1 -1
  54. package/dist/{chunk-msq2j1xq.js → chunk-4baty7hv.js} +2 -2
  55. package/dist/{chunk-9rhnq6vb.js → chunk-4f0xjp4j.js} +26 -26
  56. package/dist/{chunk-hpz6p72y.js → chunk-4g8b675z.js} +1 -1
  57. package/dist/{chunk-nh067a2v.js → chunk-4hys4qgz.js} +26 -26
  58. package/dist/{chunk-wpq11vtx.js → chunk-4pdg7btc.js} +29 -37
  59. package/dist/{chunk-dskw04f8.js → chunk-4yx011va.js} +2 -2
  60. package/dist/{chunk-96km1ywr.js → chunk-53smzk07.js} +1 -1
  61. package/dist/{chunk-teeb7f70.js → chunk-58q8wak5.js} +2 -2
  62. package/dist/{chunk-6vf405r0.js → chunk-5a87wve4.js} +1 -1
  63. package/dist/{chunk-kv5gqm4t.js → chunk-5f669g1y.js} +34 -34
  64. package/dist/{chunk-v1gzhmc4.js → chunk-5hfkz8z3.js} +26 -29
  65. package/dist/{chunk-gehsdyty.js → chunk-5ms6ey49.js} +10 -10
  66. package/dist/{chunk-4hpf2hs5.js → chunk-5n03fg3b.js} +33 -33
  67. package/dist/{chunk-gn4ts3wj.js → chunk-5qrv6nyj.js} +30 -34
  68. package/dist/{chunk-t3cdrybs.js → chunk-5xzdjshx.js} +4 -4
  69. package/dist/{chunk-nybfe7qh.js → chunk-62jt470s.js} +28 -28
  70. package/dist/{chunk-108674yb.js → chunk-651s7b3k.js} +3 -3
  71. package/dist/{chunk-1prwdfyt.js → chunk-6b2n30vp.js} +11 -3
  72. package/dist/{chunk-fp7kqndy.js → chunk-6drv9gkd.js} +1 -1
  73. package/dist/{chunk-pwvv7adz.js → chunk-6h02w7mw.js} +31 -31
  74. package/dist/{chunk-qaa5zdf5.js → chunk-6hvaee4x.js} +7 -7
  75. package/dist/{chunk-6m4f9pt8.js → chunk-6myhvvnb.js} +3 -3
  76. package/dist/{chunk-dn38ghbx.js → chunk-6rana23t.js} +25 -25
  77. package/dist/{chunk-5vgs6h6r.js → chunk-6tm0pvfz.js} +25 -25
  78. package/dist/{chunk-qgn7adb3.js → chunk-70x23w21.js} +3 -3
  79. package/dist/{chunk-1zmk2k73.js → chunk-71bfm075.js} +5 -14
  80. package/dist/{chunk-jyc9ee3b.js → chunk-71ty5kab.js} +26 -28
  81. package/dist/{chunk-xcbtmk08.js → chunk-72f32e05.js} +4 -4
  82. package/dist/{chunk-tvjm482f.js → chunk-77cdmh9s.js} +2 -2
  83. package/dist/{chunk-es80866m.js → chunk-7bb4vr99.js} +4 -4
  84. package/dist/{chunk-ayp1cck9.js → chunk-7e312nps.js} +28 -35
  85. package/dist/{chunk-03sgymkc.js → chunk-7g1ate44.js} +3 -3
  86. package/dist/{chunk-gkwfk6pk.js → chunk-7gcjspsw.js} +2 -2
  87. package/dist/{chunk-pysmrsg6.js → chunk-7hsebpzz.js} +25 -25
  88. package/dist/{chunk-40ew9zet.js → chunk-7k2k3bms.js} +4 -4
  89. package/dist/{chunk-fgewf3s5.js → chunk-82de4zqa.js} +1 -1
  90. package/dist/{chunk-xxxb7ay6.js → chunk-85jwc8ct.js} +1 -1
  91. package/dist/{chunk-5k0h7yng.js → chunk-8dsmcq3w.js} +1 -1
  92. package/dist/{chunk-fktq06we.js → chunk-8dxjycb5.js} +1 -1
  93. package/dist/{chunk-aqy4rhff.js → chunk-8fkhrc99.js} +28 -28
  94. package/dist/{chunk-bt0jjtxe.js → chunk-8gyxs2mr.js} +11 -15
  95. package/dist/{chunk-ynwz88mf.js → chunk-8jaazkcj.js} +28 -28
  96. package/dist/{chunk-shqdbrjy.js → chunk-8jzdq5e3.js} +25 -25
  97. package/dist/{chunk-tnkxj15w.js → chunk-8p35ye53.js} +2 -2
  98. package/dist/{chunk-btvdr85j.js → chunk-8q5tkq8h.js} +3 -10
  99. package/dist/{chunk-pxm90z87.js → chunk-8wv5ta2v.js} +1 -1
  100. package/dist/{chunk-c92b3yxx.js → chunk-8yk09jf7.js} +1 -6
  101. package/dist/{chunk-m34de98f.js → chunk-90mtjp37.js} +25 -25
  102. package/dist/{chunk-24x4tpcg.js → chunk-9f6wwesg.js} +1 -1
  103. package/dist/{chunk-bbtb1e16.js → chunk-9ga8nhmh.js} +5 -5
  104. package/dist/{chunk-y1q7rt9n.js → chunk-9hbhydvp.js} +9 -1
  105. package/dist/{chunk-h3vhqwda.js → chunk-9jztbykz.js} +3 -3
  106. package/dist/{chunk-z5bh8n1z.js → chunk-9kbb2tkx.js} +27 -31
  107. package/dist/{chunk-8gf0j7a3.js → chunk-9m216tqg.js} +3 -3
  108. package/dist/{chunk-42aq57ss.js → chunk-9ntm4n7z.js} +26 -26
  109. package/dist/{chunk-cqpdmmd2.js → chunk-9sbrrmez.js} +53 -53
  110. package/dist/{chunk-f6cd6jxz.js → chunk-9sm4ege9.js} +2 -2
  111. package/dist/{chunk-0d4ekx1g.js → chunk-9t2bqb6a.js} +1 -1
  112. package/dist/{chunk-sqb9zs51.js → chunk-9tbt0tz4.js} +2 -2
  113. package/dist/{chunk-t263bh1j.js → chunk-9tpg56r8.js} +10 -10
  114. package/dist/{chunk-8xnm5637.js → chunk-9zyj24r6.js} +1 -3
  115. package/dist/{chunk-46bx77pc.js → chunk-a2dhamw6.js} +3 -3
  116. package/dist/{chunk-2hssetay.js → chunk-a61hmmch.js} +29 -36
  117. package/dist/{chunk-6c6ajnxc.js → chunk-a771zcw5.js} +23 -14
  118. package/dist/{chunk-k2rnemk9.js → chunk-a9280tpx.js} +40 -70
  119. package/dist/{chunk-8fxs2ek5.js → chunk-aabp3a25.js} +2 -2
  120. package/dist/{chunk-kapm0z1r.js → chunk-ab6vt3av.js} +3 -3
  121. package/dist/{chunk-zr2r1pp2.js → chunk-aghqm7cp.js} +1 -1
  122. package/dist/{chunk-crcnq5mc.js → chunk-ahsxxya9.js} +2 -2
  123. package/dist/{chunk-dew0tnpy.js → chunk-anqc1vt9.js} +4 -5
  124. package/dist/{chunk-rdr4pc38.js → chunk-ar9m0mhy.js} +3 -3
  125. package/dist/{chunk-n7avn8wg.js → chunk-at0k7eqj.js} +3 -3
  126. package/dist/{chunk-bzkz1ky7.js → chunk-b1y3s14w.js} +25 -25
  127. package/dist/{chunk-h9y0jnsy.js → chunk-b34jxkk8.js} +1 -1
  128. package/dist/{chunk-4h7xy4dh.js → chunk-b502p09b.js} +26 -26
  129. package/dist/{chunk-m8d8228q.js → chunk-b60rrn7g.js} +2 -2
  130. package/dist/{chunk-gnw38h0h.js → chunk-b68d32sc.js} +1 -1
  131. package/dist/{chunk-wadkkd06.js → chunk-b6q03jm8.js} +1 -1
  132. package/dist/{chunk-y17h3nem.js → chunk-b94ss7th.js} +383 -511
  133. package/dist/{chunk-zx3t16wy.js → chunk-ba1vxwa1.js} +3 -3
  134. package/dist/{chunk-ke2xr0zp.js → chunk-be6vpz65.js} +26 -26
  135. package/dist/{chunk-5grskch0.js → chunk-bss7me0y.js} +2 -2
  136. package/dist/{chunk-v6xy1kav.js → chunk-bt3v9b0h.js} +1 -1
  137. package/dist/{chunk-6pp44ghd.js → chunk-bvef4qyt.js} +2 -2
  138. package/dist/{chunk-69b48vvv.js → chunk-byap8c9b.js} +31 -31
  139. package/dist/{chunk-cfmqtqkn.js → chunk-c49174me.js} +25 -25
  140. package/dist/{chunk-5acyx193.js → chunk-c6m406sh.js} +143 -155
  141. package/dist/{chunk-k71bwvbw.js → chunk-c9typ3gb.js} +4 -4
  142. package/dist/{chunk-d8nsyprn.js → chunk-c9ys0mwc.js} +25 -25
  143. package/dist/{chunk-b5z2220y.js → chunk-ca3vzvgb.js} +31 -100
  144. package/dist/{chunk-hmrpceqa.js → chunk-cb26shy6.js} +26 -26
  145. package/dist/{chunk-16bhs1p0.js → chunk-cdt0ke60.js} +4 -4
  146. package/dist/{chunk-zavsx6cm.js → chunk-cfr43xmx.js} +36 -40
  147. package/dist/{chunk-15s0b32z.js → chunk-cmk2h8qj.js} +2 -2
  148. package/dist/{chunk-6mtezaym.js → chunk-cnsdtq6g.js} +1 -1
  149. package/dist/{chunk-v1txebaq.js → chunk-cqt1d235.js} +7 -7
  150. package/dist/{chunk-jkxvsyw2.js → chunk-crbaqxvp.js} +26 -28
  151. package/dist/{chunk-7cbah69x.js → chunk-cvby21xy.js} +2 -2
  152. package/dist/{chunk-tdp8bfv9.js → chunk-d5jz3f04.js} +30 -30
  153. package/dist/{chunk-yc1stfve.js → chunk-d6h68rz1.js} +35 -6
  154. package/dist/{chunk-3zvf9eb0.js → chunk-d7xyzd78.js} +26 -26
  155. package/dist/{chunk-1vsyejd5.js → chunk-d9epkj9j.js} +27 -32
  156. package/dist/{chunk-5r5hs5my.js → chunk-dbw5akz5.js} +3 -3
  157. package/dist/{chunk-569r8cxc.js → chunk-dby9tdb2.js} +2 -2
  158. package/dist/{chunk-rsqb6k6s.js → chunk-dp4hee08.js} +1 -1
  159. package/dist/{chunk-wf8nkt8n.js → chunk-dtzw81qk.js} +26 -26
  160. package/dist/{chunk-rpnc9jnq.js → chunk-dy0d3azb.js} +26 -26
  161. package/dist/{chunk-7n6v7ekm.js → chunk-e1qjcy3t.js} +33 -33
  162. package/dist/{chunk-py80f1er.js → chunk-e2vw8fnp.js} +1 -1
  163. package/dist/{chunk-ybdfv1s0.js → chunk-e4mxbs7d.js} +26 -26
  164. package/dist/{chunk-qdbrpgaa.js → chunk-e8y0f1x6.js} +27 -27
  165. package/dist/{chunk-cvz1013b.js → chunk-e9fr4ty1.js} +26 -26
  166. package/dist/{chunk-dgg25rc9.js → chunk-eb7me6rb.js} +3 -3
  167. package/dist/{chunk-eb1tdxht.js → chunk-edh2j03b.js} +33 -31
  168. package/dist/{chunk-dmpht44r.js → chunk-ep4mg38n.js} +25 -25
  169. package/dist/{chunk-x05pr8cv.js → chunk-exbhf2jv.js} +1 -1
  170. package/dist/{chunk-vqge5991.js → chunk-f14rjxna.js} +28 -28
  171. package/dist/{chunk-x4k49p69.js → chunk-f5rmx8bc.js} +1 -1
  172. package/dist/{chunk-h52jr0s2.js → chunk-fb3pkd06.js} +4 -4
  173. package/dist/{chunk-3r0chvv3.js → chunk-ffjggx50.js} +4 -4
  174. package/dist/{chunk-y0jpkqb0.js → chunk-ffjh6d8h.js} +1 -1
  175. package/dist/{chunk-py4a4pqa.js → chunk-fh7znw23.js} +3 -3
  176. package/dist/{chunk-m3fpv9m4.js → chunk-fn3yf8bk.js} +25 -25
  177. package/dist/{chunk-bxfjr8qb.js → chunk-fnnydvgk.js} +1 -4
  178. package/dist/{chunk-gqxhxbrm.js → chunk-fwm9m18x.js} +27 -27
  179. package/dist/{chunk-0aga5p4j.js → chunk-fxeh76ke.js} +9 -14
  180. package/dist/{chunk-k7zhd1n9.js → chunk-fz3xtmax.js} +3 -6
  181. package/dist/{chunk-x467jkr2.js → chunk-g3vt8j66.js} +3 -3
  182. package/dist/{chunk-wjrh437v.js → chunk-g8j9w65z.js} +25 -25
  183. package/dist/{chunk-2r0xe849.js → chunk-gat2rqe3.js} +2 -2
  184. package/dist/{chunk-1cp4tssa.js → chunk-gbz90cv0.js} +29 -29
  185. package/dist/{chunk-pgzra72s.js → chunk-gk4qt842.js} +1 -1
  186. package/dist/{chunk-0ftxzg6b.js → chunk-gm93y7fr.js} +4 -4
  187. package/dist/{chunk-j67j0q8e.js → chunk-gtyc70v3.js} +31 -31
  188. package/dist/{chunk-ccpnm053.js → chunk-gz78s9g7.js} +4 -12
  189. package/dist/{chunk-1x33yqwv.js → chunk-h097dbka.js} +12 -17
  190. package/dist/{chunk-g9rfhsrg.js → chunk-h82jhs55.js} +27 -30
  191. package/dist/{chunk-crrygp6w.js → chunk-h9sg6p3n.js} +50 -41
  192. package/dist/{chunk-0v6nwehr.js → chunk-hafb4dd5.js} +3 -3
  193. package/dist/{chunk-w3hh65pc.js → chunk-hk680c8v.js} +1 -1
  194. package/dist/{chunk-ygps2yzm.js → chunk-hqzh5gj7.js} +2 -2
  195. package/dist/{chunk-nvyayxg0.js → chunk-hs3svh16.js} +2 -2
  196. package/dist/{chunk-ws23ec48.js → chunk-hs6ef6rn.js} +31 -31
  197. package/dist/{chunk-bm4zs1ey.js → chunk-hv3kvkak.js} +1 -1
  198. package/dist/{chunk-6j53g6b7.js → chunk-hx4rsg90.js} +450 -765
  199. package/dist/{chunk-rtfaxrgn.js → chunk-hxkjw3ze.js} +28 -28
  200. package/dist/{chunk-vy3ymppm.js → chunk-jefhpktc.js} +3 -3
  201. package/dist/{chunk-g7e0x5ps.js → chunk-k04vcf1j.js} +25 -25
  202. package/dist/{chunk-39pep784.js → chunk-k1ykjp3a.js} +25 -25
  203. package/dist/{chunk-0x1h010f.js → chunk-k31kre8q.js} +33 -32
  204. package/dist/{chunk-b20ya4fm.js → chunk-k840zqh9.js} +17 -17
  205. package/dist/{chunk-9q08s5jb.js → chunk-k8n9ccw9.js} +2 -2
  206. package/dist/{chunk-42tbpab3.js → chunk-k9fq0b0p.js} +33 -33
  207. package/dist/{chunk-awktpdj2.js → chunk-kbsg78a2.js} +26 -26
  208. package/dist/{chunk-rnpzn3ta.js → chunk-kcyjy5xm.js} +26 -26
  209. package/dist/{chunk-ydqv268k.js → chunk-keh8g5s4.js} +25 -25
  210. package/dist/{chunk-hadfe3zm.js → chunk-kg0qj6wr.js} +4 -4
  211. package/dist/{chunk-ss3gcwt8.js → chunk-ks8085nc.js} +1 -1
  212. package/dist/{chunk-a9t328ze.js → chunk-kw569tcv.js} +1 -1
  213. package/dist/{chunk-71tg4ah6.js → chunk-kxnysa9r.js} +4 -4
  214. package/dist/{chunk-0f0krwqd.js → chunk-m1axrn8w.js} +32 -32
  215. package/dist/{chunk-67k6y6sx.js → chunk-m3af8apr.js} +24 -54
  216. package/dist/{chunk-tz6g7907.js → chunk-m64yv2y0.js} +39 -41
  217. package/dist/{chunk-d9q04mc9.js → chunk-mbq17qwc.js} +5 -5
  218. package/dist/{chunk-dcj7m5pd.js → chunk-me221fnz.js} +25 -25
  219. package/dist/{chunk-0vfyxe04.js → chunk-mfsg67f4.js} +1 -1
  220. package/dist/{chunk-fvchxg7c.js → chunk-mgdqb67t.js} +4 -4
  221. package/dist/{chunk-hnjaedaa.js → chunk-mk3eatzp.js} +28 -28
  222. package/dist/{chunk-1j4w27aj.js → chunk-mw4pkrhb.js} +3 -3
  223. package/dist/{chunk-vzemy9p2.js → chunk-mz54mwcm.js} +28 -28
  224. package/dist/{chunk-h1q62w9b.js → chunk-n48pdt6g.js} +3 -3
  225. package/dist/{chunk-d7nnxg9e.js → chunk-n6enq39f.js} +37 -37
  226. package/dist/{chunk-sve527ec.js → chunk-n820cs8x.js} +2 -2
  227. package/dist/{chunk-z0npj10a.js → chunk-nej6tppj.js} +4 -6
  228. package/dist/{chunk-j9dwehfy.js → chunk-nh12n4bh.js} +2 -2
  229. package/dist/{chunk-09c7zbha.js → chunk-nr314e0d.js} +5 -5
  230. package/dist/{chunk-3bwpr51s.js → chunk-nr6yeqg9.js} +3 -3
  231. package/dist/{chunk-nv2g7kqb.js → chunk-nsth4egq.js} +32 -28
  232. package/dist/{chunk-bavt4d1a.js → chunk-nsx63tpq.js} +1 -1
  233. package/dist/{chunk-9cvrchzr.js → chunk-nw1pq2at.js} +1 -1
  234. package/dist/{chunk-823jkeqf.js → chunk-p0580tk6.js} +26 -26
  235. package/dist/{chunk-hyk17mxm.js → chunk-p0kfxg23.js} +27 -27
  236. package/dist/{chunk-v31etvwf.js → chunk-p940kef5.js} +25 -25
  237. package/dist/{chunk-t32dbdts.js → chunk-p9pbmsh1.js} +30 -30
  238. package/dist/{chunk-cg31rs9z.js → chunk-phebstzk.js} +26 -26
  239. package/dist/{chunk-wjdayz24.js → chunk-pptkgmn7.js} +1 -1
  240. package/dist/{chunk-m9h3teqm.js → chunk-pxz1x6kh.js} +3 -3
  241. package/dist/{chunk-0e923q9e.js → chunk-q0aaftyt.js} +2 -2
  242. package/dist/{chunk-0fgy0a2d.js → chunk-q5f19xja.js} +25 -25
  243. package/dist/{chunk-6fj6gfav.js → chunk-q5sy5h1w.js} +28 -28
  244. package/dist/{chunk-p2cv4ef0.js → chunk-q6caans4.js} +27 -27
  245. package/dist/{chunk-rzkybj9n.js → chunk-q739gaap.js} +31 -41
  246. package/dist/{chunk-q1tk35hj.js → chunk-q8n4x9kw.js} +4 -4
  247. package/dist/{chunk-0zccbj4r.js → chunk-q9jgf0an.js} +25 -25
  248. package/dist/{chunk-f478jc4c.js → chunk-qckzcfcp.js} +3 -3
  249. package/dist/{chunk-6zctverb.js → chunk-qd0ga24g.js} +3 -3
  250. package/dist/{chunk-vbc622dg.js → chunk-qfjfx6yb.js} +28 -34
  251. package/dist/{chunk-5s9zywdh.js → chunk-qj6admze.js} +4 -4
  252. package/dist/{chunk-ps6w3af1.js → chunk-qjv1t29g.js} +25 -25
  253. package/dist/{chunk-g05nms9h.js → chunk-qsqdaj65.js} +12 -6
  254. package/dist/{chunk-jqdfj5r0.js → chunk-qsrqzd71.js} +26 -26
  255. package/dist/{chunk-14ed0z0n.js → chunk-r34bn98d.js} +448 -333
  256. package/dist/{chunk-3n2zxf7j.js → chunk-r6rma3r3.js} +4 -4
  257. package/dist/{chunk-yjt3sgjs.js → chunk-ra7g8h1f.js} +28 -28
  258. package/dist/{chunk-zgrdt130.js → chunk-rg5hp66e.js} +7 -3
  259. package/dist/{chunk-f1ax7nvc.js → chunk-rmqha52m.js} +25 -25
  260. package/dist/{chunk-6wnv7pvf.js → chunk-rq6mrzb1.js} +85 -85
  261. package/dist/{chunk-ae0pyyzd.js → chunk-rs7bqp82.js} +25 -25
  262. package/dist/{chunk-fjc6m366.js → chunk-s45v4e5b.js} +25 -25
  263. package/dist/{chunk-rr02mk1q.js → chunk-s54nb94b.js} +1 -1
  264. package/dist/{chunk-y5gs640e.js → chunk-s8s5fbgx.js} +87 -89
  265. package/dist/{chunk-c4j1fctq.js → chunk-sa0ckby8.js} +2 -2
  266. package/dist/{chunk-kjqpx8kt.js → chunk-scs3m9tx.js} +43 -94
  267. package/dist/{chunk-fj2cq7s4.js → chunk-sjgmqp2w.js} +1 -1
  268. package/dist/{chunk-ssczwcf7.js → chunk-srmck8jr.js} +25 -25
  269. package/dist/{chunk-43pkxev1.js → chunk-sy8a49a7.js} +2 -2
  270. package/dist/{chunk-563qvm6y.js → chunk-sz157krv.js} +5 -5
  271. package/dist/{chunk-dgz3j4vs.js → chunk-t5em6b88.js} +5 -5
  272. package/dist/{chunk-je0n4kr7.js → chunk-t9m3ynjv.js} +32 -43
  273. package/dist/{chunk-f6bbf75e.js → chunk-tcpzqhch.js} +26 -26
  274. package/dist/{chunk-xq2yjg05.js → chunk-th02syc4.js} +2 -2
  275. package/dist/{chunk-0fhmr0w0.js → chunk-tj8vee5h.js} +25 -25
  276. package/dist/{chunk-e1pt9qq3.js → chunk-tt8q5jqt.js} +3 -3
  277. package/dist/{chunk-fk5rrpbs.js → chunk-twppwq9t.js} +6 -6
  278. package/dist/{chunk-k8hqc8kk.js → chunk-v45x0kzq.js} +3 -3
  279. package/dist/{chunk-ctv9nhb5.js → chunk-v8kvm848.js} +27 -31
  280. package/dist/{chunk-vrjk4ey8.js → chunk-vcn8ntbt.js} +1 -1
  281. package/dist/{chunk-5zvszqae.js → chunk-vgp7ftmh.js} +26 -26
  282. package/dist/{chunk-fzw6qvhh.js → chunk-vmw0f2vb.js} +1 -1
  283. package/dist/{chunk-sfkan82x.js → chunk-vn4g4kzp.js} +26 -30
  284. package/dist/{chunk-kfhkg7qp.js → chunk-vphcxpa0.js} +2 -2
  285. package/dist/{chunk-0bdvjksk.js → chunk-vxrvxpk6.js} +26 -26
  286. package/dist/{chunk-j02knw02.js → chunk-w38bdthg.js} +25 -25
  287. package/dist/{chunk-95m5b0fy.js → chunk-w55k75ab.js} +6 -6
  288. package/dist/{chunk-0hkfswxx.js → chunk-w5ne5kr5.js} +25 -25
  289. package/dist/{chunk-3vp3npqs.js → chunk-wf85md09.js} +26 -26
  290. package/dist/{chunk-6jr014y7.js → chunk-wjsqsgvr.js} +1 -1
  291. package/dist/{chunk-f6etzstn.js → chunk-wkfq88s2.js} +25 -25
  292. package/dist/{chunk-j39n8136.js → chunk-wmejnje8.js} +34 -11
  293. package/dist/{chunk-5t8rj3qk.js → chunk-wqkdzceb.js} +26 -26
  294. package/dist/{chunk-entm41av.js → chunk-wtxd6zqw.js} +5 -8
  295. package/dist/{chunk-7tzsnskf.js → chunk-wvc5h7ep.js} +8 -18
  296. package/dist/{chunk-f6mtzdnc.js → chunk-x38a88r9.js} +2 -2
  297. package/dist/{chunk-5k0bqs70.js → chunk-x5tx9xjq.js} +28 -28
  298. package/dist/{chunk-khwsewb1.js → chunk-x8jmvzma.js} +2 -2
  299. package/dist/{chunk-hbwv4pg2.js → chunk-xckfwab3.js} +7 -5
  300. package/dist/{chunk-c728egv6.js → chunk-xdzskw1y.js} +3 -3
  301. package/dist/{chunk-7h0rfam8.js → chunk-xn2dy3ff.js} +6 -3
  302. package/dist/{chunk-3aem7zks.js → chunk-xpf0ymhb.js} +3 -3
  303. package/dist/{chunk-7d4qj7x6.js → chunk-xq6p48ky.js} +25 -25
  304. package/dist/{chunk-q2v1ets7.js → chunk-xt2bqzxe.js} +2 -2
  305. package/dist/{chunk-nza6ynqp.js → chunk-y417hrr3.js} +35 -35
  306. package/dist/{chunk-dnhmt0sr.js → chunk-y4cb00jx.js} +26 -26
  307. package/dist/{chunk-1bq60sj9.js → chunk-y6czm2zy.js} +4 -4
  308. package/dist/{chunk-3nc53wc5.js → chunk-y7ag4tfw.js} +27 -27
  309. package/dist/{chunk-ep8gv0kh.js → chunk-yh5mx1xd.js} +1 -1
  310. package/dist/{chunk-b7ers7bt.js → chunk-ynnaxrvh.js} +28 -28
  311. package/dist/{chunk-n9a6nfb9.js → chunk-yzdsedpf.js} +25 -25
  312. package/dist/{chunk-cyjw15hx.js → chunk-yzne8ytc.js} +8 -8
  313. package/dist/{chunk-3p2a8cpm.js → chunk-z1xsp1ja.js} +133 -46
  314. package/dist/{chunk-9d2vdwte.js → chunk-z39yj8k7.js} +26 -26
  315. package/dist/{chunk-5qwpmkmq.js → chunk-z3fy2b85.js} +25 -25
  316. package/dist/{chunk-jtgqqwn4.js → chunk-z3h3135b.js} +27 -27
  317. package/dist/{chunk-zzyjmv18.js → chunk-zaz2gasg.js} +27 -29
  318. package/dist/{chunk-37vs8xyg.js → chunk-zbz2njft.js} +25 -25
  319. package/dist/{chunk-5m91jbvf.js → chunk-ze330qed.js} +1 -1
  320. package/dist/{chunk-nznt5ava.js → chunk-zg49xts1.js} +27 -30
  321. package/dist/{chunk-82n8rzw3.js → chunk-zhy65y6c.js} +2 -2
  322. package/dist/{chunk-d12hy4az.js → chunk-zj2k6w98.js} +27 -27
  323. package/dist/{chunk-km2hp5am.js → chunk-zm6f40ah.js} +26 -29
  324. package/dist/{chunk-1ga8essc.js → chunk-zv55yge8.js} +5 -5
  325. package/dist/{chunk-0wf4mnzq.js → chunk-zvdp16j4.js} +34 -37
  326. package/dist/{chunk-4q3p3v9n.js → chunk-zvr93wd4.js} +29 -34
  327. package/dist/{chunk-4r6e6awv.js → chunk-zxcwc1br.js} +2 -2
  328. package/dist/{chunk-yny74qhh.js → chunk-zxsteqwm.js} +1 -1
  329. package/dist/cli.js +27 -27
  330. package/package.json +1 -1
package/README.md CHANGED
@@ -1,224 +1,227 @@
1
- # RedScope AI
2
-
3
- [![GitHub Stars](https://img.shields.io/github/stars/redscope-ai/redscope-ai?style=flat-square&logo=github&color=yellow)](https://github.com/redscope-ai/redscope-ai/stargazers)
4
- [![GitHub Contributors](https://img.shields.io/github/contributors/redscope-ai/redscope-ai?style=flat-square&color=green)](https://github.com/redscope-ai/redscope-ai/graphs/contributors)
5
- [![GitHub Issues](https://img.shields.io/github/issues/redscope-ai/redscope-ai?style=flat-square&color=orange)](https://github.com/redscope-ai/redscope-ai/issues)
6
- [![GitHub License](https://img.shields.io/github/license/redscope-ai/redscope-ai?style=flat-square)](https://github.com/redscope-ai/redscope-ai/blob/main/LICENSE)
7
- [![Last Commit](https://img.shields.io/github/last-commit/redscope-ai/redscope-ai?style=flat-square&color=blue)](https://github.com/redscope-ai/redscope-ai/commits/main)
8
- [![Bun](https://img.shields.io/badge/runtime-Bun-black?style=flat-square&logo=bun)](https://bun.sh/)
9
- [![Discord](https://img.shields.io/badge/Discord-Join-5865F2?style=flat-square&logo=discord)](https://discord.gg/uApuzJWGKX)
10
-
11
- > Which RedScope do you like? The open source one is the best.
12
-
13
- A reverse-engineered / decompiled source restoration of the [RedScope AI](https://docs.anthropic.com/en/docs/claude-code) CLI tool. The main project path, documentation, and install examples now use RedScope branding; legacy CLI aliases are compatibility-only.
14
- > 我们将会在五一期间进行整个代码仓库�?lint 规范�? 这个期间提交�?PR 可能会有非常多的冲突, 所以大的功能请尽量在这之前提交�?
15
- [文档在这�? 支持投稿 PR](https://github.com/redscope-ai/redscope-ai/tree/main/docs) | [留影文档在这里](./Friends.md) | [Discord 群组](https://discord.gg/uApuzJWGKX)
16
-
17
-
18
- | 特�? | 说明 | 文档 |
19
- | --------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
20
- | **RedScope 群控技�?* | Pipe IPC 多实例协作:同机 main/sub 自动编排 + LAN 跨机器零配置发现与通讯,`/pipes` 选择面板 + `Shift+↓` 交互 + 消息广播路由 | [Pipe IPC](https://github.com/redscope-ai/redscope-ai/tree/main/docs/features/uds-inbox) / [LAN](https://github.com/redscope-ai/redscope-ai/tree/main/docs/features/lan-pipes) |
21
- | **ACP 协议一等一支持** | 支持接入 Zed、Cursor �?IDE,支持会话恢复、Skills、权限桥�? | [文档](https://github.com/redscope-ai/redscope-ai/tree/main/docs/features/acp-zed) |
22
- | **Remote Control 私有部署** | Docker 自托管远程界�? 可以手机上看 CC | [文档](https://github.com/redscope-ai/redscope-ai/tree/main/docs/features/remote-control-self-hosting) |
23
- | **Langfuse 监控** | 企业�?Agent 监控, 可以清晰看到每次 agent loop 细节, 可以一键转化为数据�? | [文档](https://github.com/redscope-ai/redscope-ai/tree/main/docs/features/langfuse-monitoring) |
24
- | **Web Search** | 内置网页搜索工具, 支持 bing �?brave 搜索 | [文档](https://github.com/redscope-ai/redscope-ai/tree/main/docs/features/web-browser-tool) |
25
- | **Poor Mode** | 穷鬼模式,关闭记忆提取和键入建议,大幅度减少并发请�? | /poor 可以开�? |
26
- | **Channels 频道通知** | MCP 服务器推送外部消息到会话(飞�?Slack/Discord/微信等),`--channels plugin:name@marketplace` 启用 | [文档](https://github.com/redscope-ai/redscope-ai/tree/main/docs/features/channels) |
27
- | **自定义模型供应商** | OpenAI/Anthropic/Gemini/Grok 兼容 (`/login`) | [文档](https://github.com/redscope-ai/redscope-ai/tree/main/docs/features/all-features-guide) |
28
- | Voice Mode | 语音输入,支持豆包语言输入(`/voice doubao`�? | [文档](https://github.com/redscope-ai/redscope-ai/tree/main/docs/features/voice-mode) |
29
- | Computer Use | 屏幕截图、键鼠控�? | [文档](https://github.com/redscope-ai/redscope-ai/tree/main/docs/features/computer-use) |
30
- | Chrome Use | 浏览器自动化、表单填写、数据抓�? | [自托管](https://github.com/redscope-ai/redscope-ai/tree/main/docs/features/chrome-use-mcp) [原生版](https://github.com/redscope-ai/redscope-ai/tree/main/docs/features/claude-in-chrome-mcp) |
31
- | Sentry | 企业级错误追�? | [文档](https://github.com/redscope-ai/redscope-ai/tree/main/docs/internals/sentry-setup) |
32
- | GrowthBook | 企业级特性开�? | [文档](https://github.com/redscope-ai/redscope-ai/tree/main/docs/internals/growthbook-adapter) |
33
- | /dream 记忆整理 | 自动整理和优化记忆文�? | [文档](https://github.com/redscope-ai/redscope-ai/tree/main/docs/features/auto-dream) |
34
-
35
- - 🚀 [想要启动项目](#快速开始源码版)
36
- - 🐛 [想要调试项目](#vs-code-调试)
37
- - 📖 [想要学习项目](#teach-me-学习项目)
38
-
39
- ## �?快速开�?安装�?
40
-
41
- 不用克隆仓库, �?NPM 下载�? 直接使用
42
-
43
- ```sh
44
- npm i -g @redscope-ai/redscope
45
-
46
- # bun 安装比较多问�? 推荐 npm �?# bun i -g @redscope-ai/redscope
47
- # bun pm -g trust @redscope-ai/redscope @redscope-ai/mcp-chrome-bridge
48
-
49
- redscope # �?nodejs 打开 redscope ai
50
- redscope-bun # �?bun 形态打开
51
- redscope update # 更新到最新版�?REDSCOPE_BRIDGE_BASE_URL=https://your-rcs-host.example/ REDSCOPE_BRIDGE_OAUTH_TOKEN=test-my-key redscope --remote-control # 我们有自部署的远程控�?```
52
-
53
- > **安装/更新失败�?* �?`npm rm -g @redscope-ai/redscope redscope` 清理旧版本,�?`npm i -g @redscope-ai/redscope@latest`。仍失败则指定版本号:`npm i -g @redscope-ai/redscope@<版本�?`
54
-
55
- ## �?快速开�?源码�?
56
-
57
- ### ⚙️ 环境要求
58
-
59
- 一定要最新版本的 bun �? 不然一堆奇奇怪怪的 BUG!!! bun upgrade!!!
60
-
61
- - 📦 [Bun](https://bun.sh/) >= 1.3.11
62
-
63
- **安装 Bun�?*
64
-
65
- ```bash
66
- # Linux �?macOS
67
- curl -fsSL https://bun.sh/install | bash
68
-
69
- # Windows (PowerShell)
70
- powershell -c "irm bun.sh/install.ps1 | iex"
71
- ```
72
-
73
- **安装后的操作�?*
74
-
75
- 1. **让当前终端识�?`bun` 命令**
76
-
77
- 安装脚本会把 `~/.bun/bin` 写入对应�?shell 配置文件。macOS 默认 zsh 环境通常会看到:
78
-
79
- ```text
80
- Added "~/.bun/bin" to $PATH in "~/.zshrc"
81
- ```
82
-
83
- 可以按安装脚本提示重启当�?shell�?
84
- ```bash
85
- exec /bin/zsh
86
- ```
87
-
88
- 如果你使�?bash,重新加�?bash 配置�?
89
- ```bash
90
- source ~/.bashrc
91
- ```
92
-
93
- Windows PowerShell 用户关闭并重新打开 PowerShell 即可�?
94
- 2. **验证 Bun 是否可用**
95
-
96
- ```bash
97
- bun --help
98
- bun --version
99
- ```
100
-
101
- 3. **如果已经安装�?Bun,更新到最新版�?*
102
-
103
- ```bash
104
- bun upgrade
105
- ```
106
-
107
- - ⚙️ 常规的配�?CC 的方�? 各大提供商都有自己的配置方式
108
-
109
- ### 📍 命令执行位置
110
-
111
- - 安装或检�?Bun 的命令可以在任意目录执行�? `curl -fsSL https://bun.sh/install | bash`、`bun --help`、`bun --version`、`bun upgrade`
112
- - 安装本项目依赖、启动开发模式、构建项目时,必须先进入本仓库根目录,也就是包含 `package.json` 的目录�?
113
- ### 📥 安装
114
-
115
- ```bash
116
- cd /path/to/redscope-ai
117
- bun install
118
- ```
119
-
120
- ### ▶️ 运行
121
-
1
+ # RedScope AI
2
+
3
+ [English](README.en.md) | 中文
4
+
5
+ [![license: Anti 996](https://img.shields.io/badge/license-Anti%20996-blue.svg)](https://github.com/996icu/996.ICU/blob/master/LICENSE)
6
+ [![link: 996.icu](https://img.shields.io/badge/link-996.icu-red.svg)](https://996.icu)
7
+ [![issues](https://img.shields.io/github/issues/redscope-ai/redscope-ai?label=issues)](https://github.com/redscope-ai/redscope-ai/issues)
8
+ [![stars](https://img.shields.io/github/stars/redscope-ai/redscope-ai?label=stars)](https://github.com/redscope-ai/redscope-ai/stargazers)
9
+
10
+ RedScope AI 是一个面向安全团队、渗透测试、资产侦察、威胁追踪和红队编排的 AI CLI。它基于 Bun、TypeScript、React/Ink 和 MCP 工具生态构建,提供交互式终端助手、非交互式管道模式、多模型 Provider、插件系统、远程控制服务和一套受控的安全工作流脚本。
11
+
12
+ > 仅在你拥有授权的目标、资产、日志或代码仓库上使用 RedScope AI。项目内置的安全套件强调 scope、审批、速率限制、证据留存和可审计流程,不鼓励也不支持未授权扫描。
13
+
14
+ ## 目录
15
+
16
+ - [项目能力](#项目能力)
17
+ - [快速安装](#快速安装)
18
+ - [配置模型](#配置模型)
19
+ - [基本使用](#基本使用)
20
+ - [安全工作流](#安全工作流)
21
+ - [项目流程](#项目流程)
22
+ - [技术栈](#技术栈)
23
+ - [文档](#文档)
24
+ - [赞助打赏](#赞助打赏)
25
+
26
+ ## 项目能力
27
+
28
+ - 交互式 AI 编程与安全分析终端:`redscope`
29
+ - 管道/自动化输出:`redscope -p "..." --output-format json`
30
+ - Provider:Anthropic、OpenAI 兼容端点、Gemini、Grok、Bedrock、Vertex、Foundry
31
+ - MCP 扩展:stdio、SSE、HTTP、WebSocket、插件内置 MCP、Chrome/Computer Use 集成
32
+ - 安全工作流:工具安装、scope 校验、profile 计划/执行、报告归一化、观测记忆、交付包
33
+ - 远程控制:自托管 Remote Control Server 和 ACP/Bridge 相关能力
34
+ - 插件与 Agent:插件 marketplace、自定义 agent、slash command、hooks、settings 分层配置
35
+
36
+ ## 快速安装
37
+
38
+ 要求:
39
+
40
+ - Node.js/npm
41
+
42
+ ```bash
43
+ npm i -g @redscope-ai/redscope
44
+ redscope --version
45
+ ```
46
+
47
+ 从源码开发或调试本仓库时,再使用 Bun 安装依赖和构建:
48
+
122
49
  ```bash
123
- # Build the current checkout
50
+ bun install
124
51
  bun run build
52
+ ```
53
+
54
+ 开发模式:
55
+
56
+ ```bash
57
+ bun run dev
58
+ bun run dev:inspect
59
+ ```
60
+
61
+ 常用检查:
62
+
63
+ ```bash
64
+ bun run typecheck
65
+ bun test
66
+ bun run test:all
67
+ ```
68
+
69
+ ## 配置模型
70
+
71
+ RedScope 推荐把模型端点、API Key 和默认模型写入用户配置目录的 `env.config`,默认路径是:
72
+
73
+ - Windows: `%USERPROFILE%\.redscope\env.config`
74
+ - macOS/Linux: `~/.redscope/env.config`
75
+
76
+ 仓库提供了 [env.config.example](env.config.example),可复制后按需填写。`env.config` 会在启动时加载,shell 中临时设置的环境变量优先级更高。
77
+
78
+ OpenAI 兼容端点示例:
79
+
80
+ ```dotenv
81
+ REDSCOPE_MODEL_PROVIDER=openai
82
+ REDSCOPE_BASE_URL=https://api.openai.com/v1
83
+ REDSCOPE_API_KEY=sk-your-key
84
+ REDSCOPE_MODEL=gpt-4.1
85
+ ```
86
+
87
+ DeepSeek 示例:
88
+
89
+ ```dotenv
90
+ REDSCOPE_MODEL_PROVIDER=deepseek
91
+ DEEPSEEK_API_KEY=sk-your-key
92
+ DEEPSEEK_MODEL=deepseek-chat
93
+ ```
94
+
95
+ Gemini 示例:
96
+
97
+ ```dotenv
98
+ REDSCOPE_MODEL_PROVIDER=gemini
99
+ GEMINI_API_KEY=your-gemini-key
100
+ GEMINI_MODEL=gemini-2.5-pro
101
+ ```
102
+
103
+ 更多配置项见 [项目使用文档](docs/usage.md#配置文件)。
125
104
 
126
- # Link once for local development so the terminal can run redscope
127
- npm link --ignore-scripts
105
+ ## 基本使用
128
106
 
129
- # Start RedScope AI from the terminal
107
+ 启动交互式会话:
108
+
109
+ ```bash
130
110
  redscope
111
+ ```
131
112
 
132
- # Optional Bun entrypoint
133
- redscope-bun
113
+ 直接传入提示词:
134
114
 
135
- # Source debug runner
136
- bun run dev
137
- ```
138
-
139
- 构建采用 code splitting 多文件打包(`build.ts`),产物输出�?`dist/` 目录(入�?`dist/cli.js` + �?450 �?chunk 文件)�?
140
- 构建出的版本 bun �?node 都可以启�? �?publish 到私有源可以直接启动
141
-
142
- 如果遇到 bug 请直接提一�?issues, 我们优先解决
143
-
144
- ### 👤 新人配置 /login
145
-
146
- First interactive `redscope` launch opens setup before the REPL. Choose Configure RedScope separately to enter API/provider details immediately, or choose Reuse existing Claude config. The same setup is available later with `/login`.
147
-
148
- 需要填写的字段�?
149
-
150
- | 📌 字段 | 📝 说明 | 💡 示例 |
151
- | ------------ | ------------- | ---------------------------- |
152
- | Base URL | API 服务地址 | `https://api.example.com/v1` |
153
- | API Key | 认证密钥 | `sk-xxx` |
154
- | Haiku Model | 快速模�?ID | `claude-haiku-4-5-20251001` |
155
- | Sonnet Model | 均衡模型 ID | `claude-sonnet-4-6` |
156
- | Opus Model | 高性能模型 ID | `claude-opus-4-6` |
157
-
158
- - ⌨️ **Tab / Shift+Tab** 切换字段�?*Enter** 确认并跳到下一个,最后一个字段按 Enter 保存
159
-
160
- > ℹ️ 支持所�?Anthropic API 兼容服务(如 OpenRouter、AWS Bedrock 代理等),只要接口兼�?Messages API 即可�?
161
- ## Feature Flags
162
-
163
- 所有功能开关通过 `FEATURE_<FLAG_NAME>=1` 环境变量启用,例如:
164
-
165
- ```bash
166
- FEATURE_BUDDY=1 FEATURE_FORK_SUBAGENT=1 bun run dev
167
- ```
168
-
169
- �?Feature 的详细说明见 [`docs/features/`](docs/features/) 目录,欢迎投稿补充�?
170
- ## VS Code 调试
171
-
172
- TUI (REPL) 模式需要真实终端,无法直接通过 VS Code launch 启动调试。使�?**attach 模式**�?
173
- ### 步骤
174
-
175
- 1. **终端启动 inspect 服务**�?
176
- ```bash
177
- bun run dev:inspect
178
- ```
179
-
180
- 会输出类�?`ws://localhost:8888/xxxxxxxx` 的地址�?2. **VS Code 附着调试�?*�?
181
- - �?`src/` 文件中打断点
182
- - F5 �?选择 **"Attach to Bun (TUI debug)"**
183
-
184
- ## Teach Me 学习项目
185
-
186
- 我们新加了一�?teach-me skills, 通过问答式引导帮你理解这个项目的任何模块�?调整 [sigma skill 而来](https://github.com/sanyuan0704/sanyuan-skills))
187
-
188
- ```bash
189
- # �?REPL 中直接输�?/teach-me RedScope AI 架构
190
- /teach-me React Ink 终端渲染 --level beginner
191
- /teach-me Tool 系统 --resume
192
- ```
193
-
194
- ### 它能做什�?
195
- - **诊断水平** �?自动评估你对相关概念的掌握程度,跳过已知的、聚焦薄弱的
196
- - **构建学习路径** �?将主题拆解为 5-15 个原子概念,按依赖排序逐步推进
197
- - **苏格拉底式提�?* �?用选项引导思考,而非直接给答�?- **错误概念追踪** �?发现并纠正深层误�?- **断点续学** �?`--resume` 从上次进度继�?
198
- ### 学习记录
199
-
200
- 学习进度保存�?`.claude/skills/teach-me/` 目录下,支持跨主题学习者档案�?
201
- ## 相关文档及网�?
202
- - **在线文档(Mintlify�?*: [RedScope docs](https://github.com/redscope-ai/redscope-ai/tree/main/docs) �?文档源码位于 [`docs/`](docs/) 目录,欢迎投�?PR
203
-
204
- ## Contributors
205
-
206
- <a href="https://github.com/redscope-ai/redscope-ai/graphs/contributors">
207
- <img src="contributors.svg" alt="Contributors" />
208
- </a>
209
-
210
- ## Star History
211
-
212
- <a href="https://www.star-history.com/?repos=redscope-ai%2Fredscope-ai&type=date&legend=top-left">
213
- <picture>
214
- <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/image?repos=redscope-ai/redscope-ai&type=date&theme=dark&legend=top-left" />
215
- <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/image?repos=redscope-ai/redscope-ai&type=date&legend=top-left" />
216
- <img alt="Star History Chart" src="https://api.star-history.com/image?repos=redscope-ai/redscope-ai&type=date&legend=top-left" />
217
- </picture>
218
- </a>
219
-
220
- ## 致谢
221
-
222
- - [doubaoime-asr](https://github.com/starccy/doubaoime-asr) �?豆包 ASR 语音识别 SDK,为 Voice Mode 提供无需 Anthropic OAuth 的语音输入方�?
223
- ## 许可�?
224
- 本项目仅供学习研究用途。RedScope AI 的所有权利归 [Anthropic](https://www.anthropic.com/) 所有�?
115
+ ```bash
116
+ redscope "帮我审查这个仓库的安全风险"
117
+ ```
118
+
119
+ 管道模式:
120
+
121
+ ```bash
122
+ echo "总结 package.json 的脚本" | redscope -p
123
+ redscope -p "输出 JSON 摘要" --output-format json
124
+ ```
125
+
126
+ 指定模型和权限模式:
127
+
128
+ ```bash
129
+ redscope --model sonnet --permission-mode acceptEdits
130
+ redscope -p "生成一份发布说明" --allowedTools "Read,Grep,Glob"
131
+ ```
132
+
133
+ MCP 示例:
134
+
135
+ ```bash
136
+ redscope mcp list
137
+ redscope mcp add my-server npx -- -y @my-org/mcp-server
138
+ redscope mcp remove my-server
139
+ ```
140
+
141
+ 认证与状态:
142
+
143
+ ```bash
144
+ redscope auth login
145
+ redscope auth status --text
146
+ redscope auth logout
147
+ ```
148
+
149
+ 完整命令参考见 [docs/usage.md](docs/usage.md)
150
+
151
+ ## 安全工作流
152
+
153
+ RedScope 的安全套件采用先授权、再计划、再执行、最后归档的流程。默认只生成计划,不会运行主动扫描;主动或受限 profile 必须显式传入 `--execute --confirm-active` 并通过 scope 文件校验。
154
+
155
+ ```bash
156
+ bun run redscope:profile -- --list
157
+ bun run redscope:workflow -- --profile baseline-url-review --scope tools/authorized-scope.example.json --target https://www.example.com/
158
+ bun run redscope:report -- --latest --profile baseline-url-review
159
+ bun run redscope:observe -- --latest --profile baseline-url-review
160
+ ```
161
+
162
+ ```mermaid
163
+ flowchart LR
164
+ A["Scope / Rules of Engagement"] --> B["Profile Selection"]
165
+ B --> C["Plan Only by Default"]
166
+ C --> D{"--execute?"}
167
+ D -- "No" --> E["Run Artifacts"]
168
+ D -- "Yes + Confirmation" --> F["Controlled Tool Execution"]
169
+ F --> E
170
+ E --> G["Report Pipeline"]
171
+ G --> H["Observability Memory"]
172
+ G --> I["Delivery Package"]
173
+ ```
174
+
175
+ ## 项目流程
176
+
177
+ ```mermaid
178
+ flowchart TD
179
+ U["User / CI / Pipe"] --> CLI["src/entrypoints/cli.tsx"]
180
+ CLI --> MAIN["src/main.tsx Commander CLI"]
181
+ MAIN --> REPL["React Ink REPL"]
182
+ MAIN --> HEADLESS["Print / JSON / Stream JSON"]
183
+ REPL --> ENGINE["QueryEngine"]
184
+ HEADLESS --> ENGINE
185
+ ENGINE --> API["Provider Adapter"]
186
+ API --> P1["Anthropic"]
187
+ API --> P2["OpenAI Compatible"]
188
+ API --> P3["Gemini / Grok / Cloud"]
189
+ ENGINE --> TOOLS["Builtin Tools + MCP Tools"]
190
+ TOOLS --> FILES["Workspace Files"]
191
+ TOOLS --> SHELL["Shell / PowerShell"]
192
+ TOOLS --> MCP["MCP Servers / Plugins"]
193
+ ```
194
+
195
+ ## 技术栈
196
+
197
+ - Runtime: Bun
198
+ - Language: TypeScript, TSX, ESM
199
+ - CLI: Commander.js
200
+ - Terminal UI: React 19 + Ink fork
201
+ - Build: Bun.build, Vite alternative pipeline
202
+ - Test: `bun:test`
203
+ - Lint/Format: Biome
204
+ - Providers: Anthropic SDK, OpenAI-compatible Chat Completions, Gemini, Grok, AWS Bedrock, Google Vertex, Azure Foundry
205
+ - Extensibility: MCP, plugins, custom agents, hooks, slash commands
206
+ - Remote UI: React + Vite + Radix UI in `packages/remote-control-server`
207
+
208
+ ## 文档
209
+
210
+ - [项目使用文档](docs/usage.md)
211
+ - [Tools 安全套件说明](tools/README.md)
212
+ - [远程控制自托管](docs/features/remote-control-self-hosting.md)
213
+ - [MCP 配置](docs/extensibility/mcp-configuration.mdx)
214
+ - [权限模型](docs/safety/permission-model.mdx)
215
+ - [外部依赖](docs/external-dependencies.md)
216
+
217
+ ## 赞助打赏
218
+
219
+ 如果 RedScope AI 帮你节省了时间,欢迎支持项目继续维护:
220
+
221
+ - GitHub Sponsors: [github.com/sponsors/redscope-ai](https://github.com/sponsors/redscope-ai)
222
+ - Issues / Stars: [提交建议](https://github.com/redscope-ai/redscope-ai/issues) 或给项目点 Star
223
+ - 微信/支付宝打赏:将二维码图片放到 `docs/images/sponsor-wechat.png` 和 `docs/images/sponsor-alipay.png` 后,可在本节补充展示
224
+
225
+ ## License
226
+
227
+ 本项目 README 使用 Anti 996 badge 展示劳动价值立场。正式发布前请根据项目实际授权策略补充或确认仓库根目录的 `LICENSE` 文件。
@@ -5,60 +5,60 @@ import {
5
5
  executeExtractMemories,
6
6
  initExtractMemories,
7
7
  init_extractMemories
8
- } from "./chunk-y17h3nem.js";
9
- import"./chunk-wadkkd06.js";
8
+ } from "./chunk-b94ss7th.js";
9
+ import"./chunk-b6q03jm8.js";
10
10
  import"./chunk-2kcgxnvp.js";
11
11
  import"./chunk-14p6wvsq.js";
12
12
  import"./chunk-6s0q1s5r.js";
13
- import"./chunk-teeb7f70.js";
14
- import"./chunk-3tmdbgn2.js";
15
- import"./chunk-rr02mk1q.js";
13
+ import"./chunk-58q8wak5.js";
14
+ import"./chunk-41246kaz.js";
15
+ import"./chunk-s54nb94b.js";
16
16
  import"./chunk-9a9g5hbj.js";
17
17
  import"./chunk-ptxteaeh.js";
18
- import"./chunk-9cvrchzr.js";
18
+ import"./chunk-nw1pq2at.js";
19
19
  import"./chunk-rgyzsbs3.js";
20
20
  import"./chunk-q3b4n194.js";
21
- import"./chunk-fgewf3s5.js";
22
- import"./chunk-es80866m.js";
21
+ import"./chunk-82de4zqa.js";
22
+ import"./chunk-7bb4vr99.js";
23
23
  import"./chunk-71sdcaq6.js";
24
24
  import"./chunk-9hn8e6h1.js";
25
- import"./chunk-5k0h7yng.js";
26
- import"./chunk-m1xjf821.js";
25
+ import"./chunk-8dsmcq3w.js";
26
+ import"./chunk-2wtxmesv.js";
27
27
  import"./chunk-1w20m7gw.js";
28
- import"./chunk-fzw6qvhh.js";
28
+ import"./chunk-vmw0f2vb.js";
29
29
  import"./chunk-rpmntgyh.js";
30
30
  import"./chunk-24kv69g3.js";
31
- import"./chunk-j9dwehfy.js";
32
- import"./chunk-1prwdfyt.js";
31
+ import"./chunk-nh12n4bh.js";
32
+ import"./chunk-6b2n30vp.js";
33
33
  import"./chunk-ztmb7geg.js";
34
34
  import"./chunk-tbdkekz3.js";
35
35
  import"./chunk-65zbgg1n.js";
36
36
  import"./chunk-4spgkgr3.js";
37
37
  import"./chunk-60fkafk2.js";
38
- import"./chunk-6jr014y7.js";
38
+ import"./chunk-wjsqsgvr.js";
39
39
  import"./chunk-6hygvrhn.js";
40
40
  import"./chunk-7tfdhkpy.js";
41
41
  import"./chunk-8gv2pjby.js";
42
- import"./chunk-zrewvwc3.js";
43
- import"./chunk-gnw38h0h.js";
44
- import"./chunk-rsqb6k6s.js";
45
- import"./chunk-0vfyxe04.js";
42
+ import"./chunk-17dcqvgw.js";
43
+ import"./chunk-b68d32sc.js";
44
+ import"./chunk-dp4hee08.js";
45
+ import"./chunk-mfsg67f4.js";
46
46
  import"./chunk-6hr7742d.js";
47
47
  import"./chunk-xyg1sk2w.js";
48
48
  import"./chunk-935nrvdb.js";
49
49
  import"./chunk-8zz4z1q3.js";
50
- import"./chunk-7cbah69x.js";
50
+ import"./chunk-cvby21xy.js";
51
51
  import"./chunk-hqxp6b72.js";
52
- import"./chunk-zgrdt130.js";
53
- import"./chunk-wjdayz24.js";
54
- import"./chunk-bavt4d1a.js";
52
+ import"./chunk-rg5hp66e.js";
53
+ import"./chunk-pptkgmn7.js";
54
+ import"./chunk-nsx63tpq.js";
55
55
  import"./chunk-vxbjzggp.js";
56
- import"./chunk-yc1stfve.js";
56
+ import"./chunk-d6h68rz1.js";
57
57
  import"./chunk-8yvsnrkr.js";
58
58
  import"./chunk-5mmhfbxb.js";
59
- import"./chunk-t263bh1j.js";
59
+ import"./chunk-9tpg56r8.js";
60
60
  import"./chunk-ga1jkyqy.js";
61
- import"./chunk-y1q7rt9n.js";
61
+ import"./chunk-9hbhydvp.js";
62
62
  import"./chunk-ck9r8hpf.js";
63
63
  import"./chunk-k7hexw3v.js";
64
64
  import"./chunk-trqrj23e.js";
@@ -5,10 +5,10 @@ import {
5
5
  isVoiceAvailable,
6
6
  isVoiceGrowthBookEnabled,
7
7
  isVoiceModeEnabled
8
- } from "./chunk-rsqb6k6s.js";
9
- import"./chunk-t263bh1j.js";
8
+ } from "./chunk-dp4hee08.js";
9
+ import"./chunk-9tpg56r8.js";
10
10
  import"./chunk-ga1jkyqy.js";
11
- import"./chunk-y1q7rt9n.js";
11
+ import"./chunk-9hbhydvp.js";
12
12
  import"./chunk-ck9r8hpf.js";
13
13
  import"./chunk-k7hexw3v.js";
14
14
  import"./chunk-trqrj23e.js";
@@ -5,10 +5,10 @@ import {
5
5
  init_messages1 as init_messages,
6
6
  init_systemPromptType,
7
7
  queryHaiku
8
- } from "./chunk-y17h3nem.js";
8
+ } from "./chunk-b94ss7th.js";
9
9
  import {
10
10
  asSystemPrompt
11
- } from "./chunk-3tmdbgn2.js";
11
+ } from "./chunk-41246kaz.js";
12
12
  import {
13
13
  init_json,
14
14
  safeParseJSON
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  init_config1 as init_config,
4
4
  saveCurrentProjectConfig
5
- } from "./chunk-t263bh1j.js";
5
+ } from "./chunk-9tpg56r8.js";
6
6
  import {
7
7
  require_jsx_dev_runtime,
8
8
  require_react
@@ -90,10 +90,7 @@ function createStatsStore() {
90
90
  };
91
91
  }
92
92
  var StatsContext = import_react.createContext(null);
93
- function StatsProvider({
94
- store: externalStore,
95
- children
96
- }) {
93
+ function StatsProvider({ store: externalStore, children }) {
97
94
  const internalStore = import_react.useMemo(() => createStatsStore(), []);
98
95
  const store = externalStore ?? internalStore;
99
96
  import_react.useEffect(() => {