@memo-code/memo 0.8.0 → 0.8.6

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 (358) hide show
  1. package/README.md +66 -14
  2. package/README.zh.md +57 -14
  3. package/dist/index.js +122 -107
  4. package/dist/web/server/main.cjs +145360 -0
  5. package/dist/web/server/package.json +3 -0
  6. package/dist/web/ui/assets/_baseUniq-kMerwpPq.js +1 -0
  7. package/dist/web/ui/assets/abap-BdImnpbu.js +1 -0
  8. package/dist/web/ui/assets/actionscript-3-CoDkCxhg.js +1 -0
  9. package/dist/web/ui/assets/ada-bCR0ucgS.js +1 -0
  10. package/dist/web/ui/assets/andromeeda-C4gqWexZ.js +1 -0
  11. package/dist/web/ui/assets/angular-html-CU67Zn6k.js +1 -0
  12. package/dist/web/ui/assets/angular-ts-BwZT4LLn.js +1 -0
  13. package/dist/web/ui/assets/apache-Pmp26Uib.js +1 -0
  14. package/dist/web/ui/assets/apex-D8_7TLub.js +1 -0
  15. package/dist/web/ui/assets/apl-dKokRX4l.js +1 -0
  16. package/dist/web/ui/assets/applescript-Co6uUVPk.js +1 -0
  17. package/dist/web/ui/assets/ara-BRHolxvo.js +1 -0
  18. package/dist/web/ui/assets/arc-BulUmzON.js +1 -0
  19. package/dist/web/ui/assets/architectureDiagram-VXUJARFQ-CkXEUKP9.js +36 -0
  20. package/dist/web/ui/assets/asciidoc-Dv7Oe6Be.js +1 -0
  21. package/dist/web/ui/assets/asm-D_Q5rh1f.js +1 -0
  22. package/dist/web/ui/assets/astro-CbQHKStN.js +1 -0
  23. package/dist/web/ui/assets/aurora-x-D-2ljcwZ.js +1 -0
  24. package/dist/web/ui/assets/awk-DMzUqQB5.js +1 -0
  25. package/dist/web/ui/assets/ayu-dark-CMjwMIkn.js +1 -0
  26. package/dist/web/ui/assets/ayu-light-C47S-Tmv.js +1 -0
  27. package/dist/web/ui/assets/ayu-mirage-CjoLj4QM.js +1 -0
  28. package/dist/web/ui/assets/ballerina-BFfxhgS-.js +1 -0
  29. package/dist/web/ui/assets/bat-BkioyH1T.js +1 -0
  30. package/dist/web/ui/assets/beancount-k_qm7-4y.js +1 -0
  31. package/dist/web/ui/assets/berry-uYugtg8r.js +1 -0
  32. package/dist/web/ui/assets/bibtex-CHM0blh-.js +1 -0
  33. package/dist/web/ui/assets/bicep-Bmn6On1c.js +1 -0
  34. package/dist/web/ui/assets/blade-D4QpJJKB.js +1 -0
  35. package/dist/web/ui/assets/blockDiagram-VD42YOAC-DXcW7NDi.js +122 -0
  36. package/dist/web/ui/assets/bsl-BO_Y6i37.js +1 -0
  37. package/dist/web/ui/assets/c-BIGW1oBm.js +1 -0
  38. package/dist/web/ui/assets/c3-VCDPK7BO.js +1 -0
  39. package/dist/web/ui/assets/c4Diagram-YG6GDRKO-QrajWDN7.js +10 -0
  40. package/dist/web/ui/assets/cadence-Bv_4Rxtq.js +1 -0
  41. package/dist/web/ui/assets/cairo-KRGpt6FW.js +1 -0
  42. package/dist/web/ui/assets/catppuccin-frappe-DFWUc33u.js +1 -0
  43. package/dist/web/ui/assets/catppuccin-latte-C9dUb6Cb.js +1 -0
  44. package/dist/web/ui/assets/catppuccin-macchiato-DQyhUUbL.js +1 -0
  45. package/dist/web/ui/assets/catppuccin-mocha-D87Tk5Gz.js +1 -0
  46. package/dist/web/ui/assets/channel-DcFyxfzD.js +1 -0
  47. package/dist/web/ui/assets/chunk-4BX2VUAB-CzB06K-m.js +1 -0
  48. package/dist/web/ui/assets/chunk-55IACEB6-e5LXEkOB.js +1 -0
  49. package/dist/web/ui/assets/chunk-B4BG7PRW-YVg5pH4D.js +165 -0
  50. package/dist/web/ui/assets/chunk-DI55MBZ5-Carl7-xm.js +220 -0
  51. package/dist/web/ui/assets/chunk-FMBD7UC4-06dN5sRQ.js +15 -0
  52. package/dist/web/ui/assets/chunk-QN33PNHL-Cl3zdZ7K.js +1 -0
  53. package/dist/web/ui/assets/chunk-QZHKN3VN-CDOQBeOx.js +1 -0
  54. package/dist/web/ui/assets/chunk-TZMSLE5B-DWeaVk_X.js +1 -0
  55. package/dist/web/ui/assets/clarity-D53aC0YG.js +1 -0
  56. package/dist/web/ui/assets/classDiagram-2ON5EDUG-DmyEwwBr.js +1 -0
  57. package/dist/web/ui/assets/classDiagram-v2-WZHVMYZB-DmyEwwBr.js +1 -0
  58. package/dist/web/ui/assets/clojure-P80f7IUj.js +1 -0
  59. package/dist/web/ui/assets/clone-DZ5SCP6k.js +1 -0
  60. package/dist/web/ui/assets/cmake-D1j8_8rp.js +1 -0
  61. package/dist/web/ui/assets/cobol-nwyudZeR.js +1 -0
  62. package/dist/web/ui/assets/code-block-OCS4YCEC-DmdcLUqO.js +2 -0
  63. package/dist/web/ui/assets/codeowners-Bp6g37R7.js +1 -0
  64. package/dist/web/ui/assets/codeql-DsOJ9woJ.js +1 -0
  65. package/dist/web/ui/assets/coffee-Ch7k5sss.js +1 -0
  66. package/dist/web/ui/assets/common-lisp-Cg-RD9OK.js +1 -0
  67. package/dist/web/ui/assets/coq-DkFqJrB1.js +1 -0
  68. package/dist/web/ui/assets/cose-bilkent-S5V4N54A-CDHjR7aY.js +1 -0
  69. package/dist/web/ui/assets/cpp-CofmeUqb.js +1 -0
  70. package/dist/web/ui/assets/crystal-tKQVLTB8.js +1 -0
  71. package/dist/web/ui/assets/csharp-COcwbKMJ.js +1 -0
  72. package/dist/web/ui/assets/css-DPfMkruS.js +1 -0
  73. package/dist/web/ui/assets/csv-fuZLfV_i.js +1 -0
  74. package/dist/web/ui/assets/cue-D82EKSYY.js +1 -0
  75. package/dist/web/ui/assets/cypher-COkxafJQ.js +1 -0
  76. package/dist/web/ui/assets/cytoscape.esm-5J0xJHOV.js +321 -0
  77. package/dist/web/ui/assets/d-85-TOEBH.js +1 -0
  78. package/dist/web/ui/assets/dagre-6UL2VRFP-BvAH8ysH.js +4 -0
  79. package/dist/web/ui/assets/dark-plus-C3mMm8J8.js +1 -0
  80. package/dist/web/ui/assets/dart-CF10PKvl.js +1 -0
  81. package/dist/web/ui/assets/dax-CEL-wOlO.js +1 -0
  82. package/dist/web/ui/assets/defaultLocale-DX6XiGOO.js +1 -0
  83. package/dist/web/ui/assets/desktop-BmXAJ9_W.js +1 -0
  84. package/dist/web/ui/assets/diagram-PSM6KHXK-CKk6ZAaV.js +24 -0
  85. package/dist/web/ui/assets/diagram-QEK2KX5R-Ewj4cQfm.js +43 -0
  86. package/dist/web/ui/assets/diagram-S2PKOQOG-B-i75ELR.js +24 -0
  87. package/dist/web/ui/assets/diff-D97Zzqfu.js +1 -0
  88. package/dist/web/ui/assets/docker-BcOcwvcX.js +1 -0
  89. package/dist/web/ui/assets/dotenv-Da5cRb03.js +1 -0
  90. package/dist/web/ui/assets/dracula-BzJJZx-M.js +1 -0
  91. package/dist/web/ui/assets/dracula-soft-BXkSAIEj.js +1 -0
  92. package/dist/web/ui/assets/dream-maker-BtqSS_iP.js +1 -0
  93. package/dist/web/ui/assets/edge-BkV0erSs.js +1 -0
  94. package/dist/web/ui/assets/elixir-CDX3lj18.js +1 -0
  95. package/dist/web/ui/assets/elm-DbKCFpqz.js +1 -0
  96. package/dist/web/ui/assets/emacs-lisp-C9XAeP06.js +1 -0
  97. package/dist/web/ui/assets/erDiagram-Q2GNP2WA-BMe1fyY7.js +60 -0
  98. package/dist/web/ui/assets/erb-CgJxNhIT.js +1 -0
  99. package/dist/web/ui/assets/erlang-DsQrWhSR.js +1 -0
  100. package/dist/web/ui/assets/everforest-dark-BgDCqdQA.js +1 -0
  101. package/dist/web/ui/assets/everforest-light-C8M2exoo.js +1 -0
  102. package/dist/web/ui/assets/fennel-BYunw83y.js +1 -0
  103. package/dist/web/ui/assets/fish-BvzEVeQv.js +1 -0
  104. package/dist/web/ui/assets/flowDiagram-NV44I4VS-DTOpgGDg.js +162 -0
  105. package/dist/web/ui/assets/fluent-C4IJs8-o.js +1 -0
  106. package/dist/web/ui/assets/fortran-fixed-form-CkoXwp7k.js +1 -0
  107. package/dist/web/ui/assets/fortran-free-form-BxgE0vQu.js +1 -0
  108. package/dist/web/ui/assets/fsharp-CXgrBDvD.js +1 -0
  109. package/dist/web/ui/assets/ganttDiagram-JELNMOA3-DdrlqPr-.js +267 -0
  110. package/dist/web/ui/assets/gdresource-BOOCDP_w.js +1 -0
  111. package/dist/web/ui/assets/gdscript-C5YyOfLZ.js +1 -0
  112. package/dist/web/ui/assets/gdshader-DkwncUOv.js +1 -0
  113. package/dist/web/ui/assets/genie-D0YGMca9.js +1 -0
  114. package/dist/web/ui/assets/gherkin-DyxjwDmM.js +1 -0
  115. package/dist/web/ui/assets/git-commit-F4YmCXRG.js +1 -0
  116. package/dist/web/ui/assets/git-rebase-r7XF79zn.js +1 -0
  117. package/dist/web/ui/assets/gitGraphDiagram-NY62KEGX-DOpYoqH8.js +65 -0
  118. package/dist/web/ui/assets/github-dark-DHJKELXO.js +1 -0
  119. package/dist/web/ui/assets/github-dark-default-Cuk6v7N8.js +1 -0
  120. package/dist/web/ui/assets/github-dark-dimmed-DH5Ifo-i.js +1 -0
  121. package/dist/web/ui/assets/github-dark-high-contrast-E3gJ1_iC.js +1 -0
  122. package/dist/web/ui/assets/github-light-DAi9KRSo.js +1 -0
  123. package/dist/web/ui/assets/github-light-default-D7oLnXFd.js +1 -0
  124. package/dist/web/ui/assets/github-light-high-contrast-BfjtVDDH.js +1 -0
  125. package/dist/web/ui/assets/gleam-BspZqrRM.js +1 -0
  126. package/dist/web/ui/assets/glimmer-js-Rg0-pVw9.js +1 -0
  127. package/dist/web/ui/assets/glimmer-ts-U6CK756n.js +1 -0
  128. package/dist/web/ui/assets/glsl-DplSGwfg.js +1 -0
  129. package/dist/web/ui/assets/gn-n2N0HUVH.js +1 -0
  130. package/dist/web/ui/assets/gnuplot-DdkO51Og.js +1 -0
  131. package/dist/web/ui/assets/go-CxLEBnE3.js +1 -0
  132. package/dist/web/ui/assets/graph-DNq5-vTB.js +1 -0
  133. package/dist/web/ui/assets/graphql-ChdNCCLP.js +1 -0
  134. package/dist/web/ui/assets/groovy-gcz8RCvz.js +1 -0
  135. package/dist/web/ui/assets/gruvbox-dark-hard-CFHQjOhq.js +1 -0
  136. package/dist/web/ui/assets/gruvbox-dark-medium-GsRaNv29.js +1 -0
  137. package/dist/web/ui/assets/gruvbox-dark-soft-CVdnzihN.js +1 -0
  138. package/dist/web/ui/assets/gruvbox-light-hard-CH1njM8p.js +1 -0
  139. package/dist/web/ui/assets/gruvbox-light-medium-DRw_LuNl.js +1 -0
  140. package/dist/web/ui/assets/gruvbox-light-soft-hJgmCMqR.js +1 -0
  141. package/dist/web/ui/assets/hack-CaT9iCJl.js +1 -0
  142. package/dist/web/ui/assets/haml-B8DHNrY2.js +1 -0
  143. package/dist/web/ui/assets/handlebars-BL8al0AC.js +1 -0
  144. package/dist/web/ui/assets/haskell-Df6bDoY_.js +1 -0
  145. package/dist/web/ui/assets/haxe-CzTSHFRz.js +1 -0
  146. package/dist/web/ui/assets/hcl-BWvSN4gD.js +1 -0
  147. package/dist/web/ui/assets/hjson-D5-asLiD.js +1 -0
  148. package/dist/web/ui/assets/hlsl-D3lLCCz7.js +1 -0
  149. package/dist/web/ui/assets/horizon-BUw7H-hv.js +1 -0
  150. package/dist/web/ui/assets/houston-DnULxvSX.js +1 -0
  151. package/dist/web/ui/assets/html-GMplVEZG.js +1 -0
  152. package/dist/web/ui/assets/html-derivative-BFtXZ54Q.js +1 -0
  153. package/dist/web/ui/assets/http-jrhK8wxY.js +1 -0
  154. package/dist/web/ui/assets/hurl-irOxFIW8.js +1 -0
  155. package/dist/web/ui/assets/hxml-Bvhsp5Yf.js +1 -0
  156. package/dist/web/ui/assets/hy-DFXneXwc.js +1 -0
  157. package/dist/web/ui/assets/imba-DGztddWO.js +1 -0
  158. package/dist/web/ui/assets/index-B3TLzmaO.js +441 -0
  159. package/dist/web/ui/assets/index-BSSBc2rS.css +1 -0
  160. package/dist/web/ui/assets/infoDiagram-WHAUD3N6-D3Wwcqmd.js +2 -0
  161. package/dist/web/ui/assets/ini-BEwlwnbL.js +1 -0
  162. package/dist/web/ui/assets/init-Gi6I4Gst.js +1 -0
  163. package/dist/web/ui/assets/java-CylS5w8V.js +1 -0
  164. package/dist/web/ui/assets/javascript-wDzz0qaB.js +1 -0
  165. package/dist/web/ui/assets/jinja-4LBKfQ-Z.js +1 -0
  166. package/dist/web/ui/assets/jison-wvAkD_A8.js +1 -0
  167. package/dist/web/ui/assets/journeyDiagram-XKPGCS4Q-BKDrlvIB.js +139 -0
  168. package/dist/web/ui/assets/json-Cp-IABpG.js +1 -0
  169. package/dist/web/ui/assets/json5-C9tS-k6U.js +1 -0
  170. package/dist/web/ui/assets/jsonc-Des-eS-w.js +1 -0
  171. package/dist/web/ui/assets/jsonl-DcaNXYhu.js +1 -0
  172. package/dist/web/ui/assets/jsonnet-DFQXde-d.js +1 -0
  173. package/dist/web/ui/assets/jssm-C2t-YnRu.js +1 -0
  174. package/dist/web/ui/assets/jsx-g9-lgVsj.js +1 -0
  175. package/dist/web/ui/assets/julia-CxzCAyBv.js +1 -0
  176. package/dist/web/ui/assets/kanagawa-dragon-CkXjmgJE.js +1 -0
  177. package/dist/web/ui/assets/kanagawa-lotus-CfQXZHmo.js +1 -0
  178. package/dist/web/ui/assets/kanagawa-wave-DWedfzmr.js +1 -0
  179. package/dist/web/ui/assets/kanban-definition-3W4ZIXB7-Dj6sXTJI.js +89 -0
  180. package/dist/web/ui/assets/katex-DhXJpUyf.js +261 -0
  181. package/dist/web/ui/assets/kdl-DV7GczEv.js +1 -0
  182. package/dist/web/ui/assets/kotlin-BdnUsdx6.js +1 -0
  183. package/dist/web/ui/assets/kusto-DZf3V79B.js +1 -0
  184. package/dist/web/ui/assets/laserwave-DUszq2jm.js +1 -0
  185. package/dist/web/ui/assets/latex-DGMBWnxU.js +1 -0
  186. package/dist/web/ui/assets/layout-4XvXY0m8.js +1 -0
  187. package/dist/web/ui/assets/lean-BZvkOJ9d.js +1 -0
  188. package/dist/web/ui/assets/less-B1dDrJ26.js +1 -0
  189. package/dist/web/ui/assets/light-plus-B7mTdjB0.js +1 -0
  190. package/dist/web/ui/assets/linear-CUPS720l.js +1 -0
  191. package/dist/web/ui/assets/liquid-DYVedYrR.js +1 -0
  192. package/dist/web/ui/assets/llvm-BtvRca6l.js +1 -0
  193. package/dist/web/ui/assets/log-2UxHyX5q.js +1 -0
  194. package/dist/web/ui/assets/logo-BtOb2qkB.js +1 -0
  195. package/dist/web/ui/assets/lua-BaeVxFsk.js +1 -0
  196. package/dist/web/ui/assets/luau-C-HG3fhB.js +1 -0
  197. package/dist/web/ui/assets/make-CHLpvVh8.js +1 -0
  198. package/dist/web/ui/assets/markdown-Cvjx9yec.js +1 -0
  199. package/dist/web/ui/assets/marko-DZsq8hO1.js +1 -0
  200. package/dist/web/ui/assets/material-theme-D5KoaKCx.js +1 -0
  201. package/dist/web/ui/assets/material-theme-darker-BfHTSMKl.js +1 -0
  202. package/dist/web/ui/assets/material-theme-lighter-B0m2ddpp.js +1 -0
  203. package/dist/web/ui/assets/material-theme-ocean-CyktbL80.js +1 -0
  204. package/dist/web/ui/assets/material-theme-palenight-Csfq5Kiy.js +1 -0
  205. package/dist/web/ui/assets/matlab-D7o27uSR.js +1 -0
  206. package/dist/web/ui/assets/mdc-DUICxH0z.js +1 -0
  207. package/dist/web/ui/assets/mdx-Cmh6b_Ma.js +1 -0
  208. package/dist/web/ui/assets/mermaid-mWjccvbQ.js +1 -0
  209. package/dist/web/ui/assets/min-KWXImKVx.js +1 -0
  210. package/dist/web/ui/assets/min-dark-CafNBF8u.js +1 -0
  211. package/dist/web/ui/assets/min-light-CTRr51gU.js +1 -0
  212. package/dist/web/ui/assets/mindmap-definition-VGOIOE7T-D9ty43l7.js +68 -0
  213. package/dist/web/ui/assets/mipsasm-CKIfxQSi.js +1 -0
  214. package/dist/web/ui/assets/mojo-B93PlW-d.js +1 -0
  215. package/dist/web/ui/assets/monokai-D4h5O-jR.js +1 -0
  216. package/dist/web/ui/assets/moonbit-Ba13S78F.js +1 -0
  217. package/dist/web/ui/assets/move-IF9eRakj.js +1 -0
  218. package/dist/web/ui/assets/narrat-DRg8JJMk.js +1 -0
  219. package/dist/web/ui/assets/nextflow-BrzmwbiE.js +1 -0
  220. package/dist/web/ui/assets/nginx-BpAMiNFr.js +1 -0
  221. package/dist/web/ui/assets/night-owl-C39BiMTA.js +1 -0
  222. package/dist/web/ui/assets/night-owl-light-CMTm3GFP.js +1 -0
  223. package/dist/web/ui/assets/nim-CVrawwO9.js +1 -0
  224. package/dist/web/ui/assets/nix-CwoSXNpI.js +1 -0
  225. package/dist/web/ui/assets/nord-Ddv68eIx.js +1 -0
  226. package/dist/web/ui/assets/nushell-C-sUppwS.js +1 -0
  227. package/dist/web/ui/assets/objective-c-DXmwc3jG.js +1 -0
  228. package/dist/web/ui/assets/objective-cpp-CLxacb5B.js +1 -0
  229. package/dist/web/ui/assets/ocaml-C0hk2d4L.js +1 -0
  230. package/dist/web/ui/assets/odin-BBf5iR-q.js +1 -0
  231. package/dist/web/ui/assets/one-dark-pro-DVMEJ2y_.js +1 -0
  232. package/dist/web/ui/assets/one-light-C3Wv6jpd.js +1 -0
  233. package/dist/web/ui/assets/openscad-C4EeE6gA.js +1 -0
  234. package/dist/web/ui/assets/ordinal-Cboi1Yqb.js +1 -0
  235. package/dist/web/ui/assets/pascal-D93ZcfNL.js +1 -0
  236. package/dist/web/ui/assets/perl-C0TMdlhV.js +1 -0
  237. package/dist/web/ui/assets/php-Dhbhpdrm.js +1 -0
  238. package/dist/web/ui/assets/pieDiagram-ADFJNKIX-BlMxxSdO.js +30 -0
  239. package/dist/web/ui/assets/pkl-u5AG7uiY.js +1 -0
  240. package/dist/web/ui/assets/plastic-3e1v2bzS.js +1 -0
  241. package/dist/web/ui/assets/plsql-ChMvpjG-.js +1 -0
  242. package/dist/web/ui/assets/po-BTJTHyun.js +1 -0
  243. package/dist/web/ui/assets/poimandres-CS3Unz2-.js +1 -0
  244. package/dist/web/ui/assets/polar-C0HS_06l.js +1 -0
  245. package/dist/web/ui/assets/postcss-CXtECtnM.js +1 -0
  246. package/dist/web/ui/assets/powerquery-CEu0bR-o.js +1 -0
  247. package/dist/web/ui/assets/powershell-Dpen1YoG.js +1 -0
  248. package/dist/web/ui/assets/prisma-Dd19v3D-.js +1 -0
  249. package/dist/web/ui/assets/prolog-CbFg5uaA.js +1 -0
  250. package/dist/web/ui/assets/proto-C7zT0LnQ.js +1 -0
  251. package/dist/web/ui/assets/pug-CGlum2m_.js +1 -0
  252. package/dist/web/ui/assets/puppet-BMWR74SV.js +1 -0
  253. package/dist/web/ui/assets/purescript-CklMAg4u.js +1 -0
  254. package/dist/web/ui/assets/python-B6aJPvgy.js +1 -0
  255. package/dist/web/ui/assets/qml-3beO22l8.js +1 -0
  256. package/dist/web/ui/assets/qmldir-C8lEn-DE.js +1 -0
  257. package/dist/web/ui/assets/qss-IeuSbFQv.js +1 -0
  258. package/dist/web/ui/assets/quadrantDiagram-AYHSOK5B-Cam0yXvU.js +7 -0
  259. package/dist/web/ui/assets/r-Dspwwk_N.js +1 -0
  260. package/dist/web/ui/assets/racket-BqYA7rlc.js +1 -0
  261. package/dist/web/ui/assets/raku-DXvB9xmW.js +1 -0
  262. package/dist/web/ui/assets/razor-Uh8Bk_45.js +1 -0
  263. package/dist/web/ui/assets/red-bN70gL4F.js +1 -0
  264. package/dist/web/ui/assets/reg-C-SQnVFl.js +1 -0
  265. package/dist/web/ui/assets/regexp-CDVJQ6XC.js +1 -0
  266. package/dist/web/ui/assets/rel-C3B-1QV4.js +1 -0
  267. package/dist/web/ui/assets/requirementDiagram-UZGBJVZJ-D_yH3UAt.js +64 -0
  268. package/dist/web/ui/assets/riscv-BM1_JUlF.js +1 -0
  269. package/dist/web/ui/assets/ron-BhRPY-oY.js +1 -0
  270. package/dist/web/ui/assets/rose-pine-dawn-DHQR4-dF.js +1 -0
  271. package/dist/web/ui/assets/rose-pine-moon-D4_iv3hh.js +1 -0
  272. package/dist/web/ui/assets/rose-pine-qdsjHGoJ.js +1 -0
  273. package/dist/web/ui/assets/rosmsg-BJDFO7_C.js +1 -0
  274. package/dist/web/ui/assets/rst-D5oM4XIm.js +1 -0
  275. package/dist/web/ui/assets/ruby-Cw6WdidG.js +1 -0
  276. package/dist/web/ui/assets/rust-B1yitclQ.js +1 -0
  277. package/dist/web/ui/assets/sankeyDiagram-TZEHDZUN-Dm93-uJ1.js +10 -0
  278. package/dist/web/ui/assets/sas-cz2c8ADy.js +1 -0
  279. package/dist/web/ui/assets/sass-Cj5Yp3dK.js +1 -0
  280. package/dist/web/ui/assets/scala-C151Ov-r.js +1 -0
  281. package/dist/web/ui/assets/scheme-C98Dy4si.js +1 -0
  282. package/dist/web/ui/assets/scss-OYdSNvt2.js +1 -0
  283. package/dist/web/ui/assets/sdbl-DVxCFoDh.js +1 -0
  284. package/dist/web/ui/assets/sequenceDiagram-WL72ISMW-D6C4PHTO.js +145 -0
  285. package/dist/web/ui/assets/shaderlab-Dg9Lc6iA.js +1 -0
  286. package/dist/web/ui/assets/shellscript-Yzrsuije.js +1 -0
  287. package/dist/web/ui/assets/shellsession-BADoaaVG.js +1 -0
  288. package/dist/web/ui/assets/slack-dark-BthQWCQV.js +1 -0
  289. package/dist/web/ui/assets/slack-ochin-DqwNpetd.js +1 -0
  290. package/dist/web/ui/assets/smalltalk-BERRCDM3.js +1 -0
  291. package/dist/web/ui/assets/snazzy-light-Bw305WKR.js +1 -0
  292. package/dist/web/ui/assets/solarized-dark-DXbdFlpD.js +1 -0
  293. package/dist/web/ui/assets/solarized-light-L9t79GZl.js +1 -0
  294. package/dist/web/ui/assets/solidity-rGO070M0.js +1 -0
  295. package/dist/web/ui/assets/soy-Brmx7dQM.js +1 -0
  296. package/dist/web/ui/assets/sparql-rVzFXLq3.js +1 -0
  297. package/dist/web/ui/assets/splunk-BtCnVYZw.js +1 -0
  298. package/dist/web/ui/assets/sql-BLtJtn59.js +1 -0
  299. package/dist/web/ui/assets/ssh-config-_ykCGR6B.js +1 -0
  300. package/dist/web/ui/assets/stata-BH5u7GGu.js +1 -0
  301. package/dist/web/ui/assets/stateDiagram-FKZM4ZOC-msXCFM-o.js +1 -0
  302. package/dist/web/ui/assets/stateDiagram-v2-4FDKWEC3-BxRi32Am.js +1 -0
  303. package/dist/web/ui/assets/stylus-BEDo0Tqx.js +1 -0
  304. package/dist/web/ui/assets/surrealql-Bq5Q-fJD.js +1 -0
  305. package/dist/web/ui/assets/svelte-zxCyuUbr.js +1 -0
  306. package/dist/web/ui/assets/swift-Dg5xB15N.js +1 -0
  307. package/dist/web/ui/assets/synthwave-84-CbfX1IO0.js +1 -0
  308. package/dist/web/ui/assets/system-verilog-CnnmHF94.js +1 -0
  309. package/dist/web/ui/assets/systemd-4A_iFExJ.js +1 -0
  310. package/dist/web/ui/assets/talonscript-CkByrt1z.js +1 -0
  311. package/dist/web/ui/assets/tasl-QIJgUcNo.js +1 -0
  312. package/dist/web/ui/assets/tcl-dwOrl1Do.js +1 -0
  313. package/dist/web/ui/assets/templ-P3uqSqPl.js +1 -0
  314. package/dist/web/ui/assets/terraform-BETggiCN.js +1 -0
  315. package/dist/web/ui/assets/tex-CvyZ59Mk.js +1 -0
  316. package/dist/web/ui/assets/timeline-definition-IT6M3QCI-OhdHqGpr.js +61 -0
  317. package/dist/web/ui/assets/tokyo-night-hegEt444.js +1 -0
  318. package/dist/web/ui/assets/toml-vGWfd6FD.js +1 -0
  319. package/dist/web/ui/assets/treemap-KMMF4GRG-BBa7Tuyx.js +128 -0
  320. package/dist/web/ui/assets/ts-tags-zn1MmPIZ.js +1 -0
  321. package/dist/web/ui/assets/tsv-B_m7g4N7.js +1 -0
  322. package/dist/web/ui/assets/tsx-COt5Ahok.js +1 -0
  323. package/dist/web/ui/assets/turtle-BsS91CYL.js +1 -0
  324. package/dist/web/ui/assets/twig-ChbOoGGc.js +1 -0
  325. package/dist/web/ui/assets/typescript-BPQ3VLAy.js +1 -0
  326. package/dist/web/ui/assets/typespec-BGHnOYBU.js +1 -0
  327. package/dist/web/ui/assets/typst-DHCkPAjA.js +1 -0
  328. package/dist/web/ui/assets/v-BcVCzyr7.js +1 -0
  329. package/dist/web/ui/assets/vala-CsfeWuGM.js +1 -0
  330. package/dist/web/ui/assets/vb-D17OF-Vu.js +1 -0
  331. package/dist/web/ui/assets/verilog-BQ8w6xss.js +1 -0
  332. package/dist/web/ui/assets/vesper-DU1UobuO.js +1 -0
  333. package/dist/web/ui/assets/vhdl-CeAyd5Ju.js +1 -0
  334. package/dist/web/ui/assets/viml-CJc9bBzg.js +1 -0
  335. package/dist/web/ui/assets/vitesse-black-Bkuqu6BP.js +1 -0
  336. package/dist/web/ui/assets/vitesse-dark-D0r3Knsf.js +1 -0
  337. package/dist/web/ui/assets/vitesse-light-CVO1_9PV.js +1 -0
  338. package/dist/web/ui/assets/vue-DN_0RTcg.js +1 -0
  339. package/dist/web/ui/assets/vue-html-AaS7Mt5G.js +1 -0
  340. package/dist/web/ui/assets/vue-vine-CQOfvN7w.js +1 -0
  341. package/dist/web/ui/assets/vyper-CDx5xZoG.js +1 -0
  342. package/dist/web/ui/assets/wasm-CG6Dc4jp.js +1 -0
  343. package/dist/web/ui/assets/wasm-MzD3tlZU.js +1 -0
  344. package/dist/web/ui/assets/wenyan-BV7otONQ.js +1 -0
  345. package/dist/web/ui/assets/wgsl-Dx-B1_4e.js +1 -0
  346. package/dist/web/ui/assets/wikitext-BhOHFoWU.js +1 -0
  347. package/dist/web/ui/assets/wit-5i3qLPDT.js +1 -0
  348. package/dist/web/ui/assets/wolfram-lXgVvXCa.js +1 -0
  349. package/dist/web/ui/assets/xml-sdJ4AIDG.js +1 -0
  350. package/dist/web/ui/assets/xsl-CtQFsRM5.js +1 -0
  351. package/dist/web/ui/assets/xychartDiagram-PRI3JC2R-CwWrUftO.js +7 -0
  352. package/dist/web/ui/assets/yaml-Buea-lGh.js +1 -0
  353. package/dist/web/ui/assets/zenscript-DVFEvuxE.js +1 -0
  354. package/dist/web/ui/assets/zig-VOosw3JB.js +1 -0
  355. package/dist/web/ui/index.html +19 -0
  356. package/dist/web/ui/logo-dark.svg +10 -0
  357. package/dist/web/ui/logo.svg +10 -0
  358. package/package.json +18 -2
package/README.md CHANGED
@@ -22,7 +22,7 @@
22
22
 
23
23
  <img src="public/demo.png" width="100%" alt="Memo Code demo">
24
24
 
25
- Built with Node.js + TypeScript. DeepSeek is the default provider, and OpenAI-compatible APIs are supported.
25
+ Built with Node.js + TypeScript. Memo works with OpenAI-compatible APIs.
26
26
 
27
27
  Memo Code is an open-source coding agent that lives in your terminal, understands repository context, and helps you move faster with natural-language commands.
28
28
 
@@ -40,10 +40,13 @@ yarn global add @memo-code/memo
40
40
  bun add -g @memo-code/memo
41
41
  ```
42
42
 
43
+ Note: npm distribution is prebuilt and already includes required runtime/web assets.
44
+ `pnpm run build` is only needed when you run Memo from source checkout in this repository.
45
+
43
46
  ### 2. Configure API Key
44
47
 
45
48
  ```bash
46
- export DEEPSEEK_API_KEY=your_key # or OPENAI_API_KEY
49
+ export OPENAI_API_KEY=your_key
47
50
  ```
48
51
 
49
52
  ### 3. Start
@@ -57,12 +60,30 @@ memo
57
60
 
58
61
  - Interactive mode: `memo` (default TUI; supports multi-turn chat, tool visualization, shortcuts).
59
62
  - Plain mode (non-TTY): `echo "your prompt" | memo` (plain text output; useful for scripts).
63
+ - One-shot mode: `memo --once "your prompt"` or `memo -once "your prompt"` (run one turn and exit; recommended with `--dangerous` in trusted repos).
64
+ - Continue latest local session: `memo --prev` or `memo -prev` (load latest session context for current directory).
60
65
  - Dangerous mode: `memo --dangerous` or `memo -d` (skip tool approvals; use carefully).
61
66
  - Version: `memo --version` or `memo -v`.
67
+ - Start web server: `memo web --host 127.0.0.1 --port 5494 --open` (npm package already includes web assets; source checkout needs `pnpm run build`).
62
68
  - Startup project guidance: if `AGENTS.md` exists in the startup root, Memo appends it to the system prompt automatically.
63
69
  - Skills: Memo auto-discovers `SKILL.md` files and appends an available-skills section into the system prompt.
64
70
  - MCP activation selection: when MCP servers are configured, startup shows a multi-select to activate servers for this run.
65
- - Session titles: Memo generates a short title from the first user prompt and uses it in history/resume lists.
71
+ - Web app supports multi-workspace project management and concurrent live sessions (up to 20 per server process).
72
+
73
+ ## Web Console
74
+
75
+ ```bash
76
+ memo web --host 127.0.0.1 --port 5494 --open
77
+ ```
78
+
79
+ - npm distribution already bundles web server + web UI assets.
80
+ - if running from source checkout, build once with `pnpm run build`.
81
+ - Web auth config is stored in `~/.memo/server.yaml` by default (`MEMO_SERVER_CONFIG` can override path).
82
+ - On first startup, Memo creates this file with generated auth secrets and a random password.
83
+ - Login page uses `server.yaml` credentials (`auth.username` / `auth.password`).
84
+ - Sidebar includes dedicated entries for `MCP Servers` and `Skills`:
85
+ - MCP: create/edit/remove/login/logout and active toggles.
86
+ - Skills: create/delete, detail preview, and active toggles.
66
87
 
67
88
  ## Configuration
68
89
 
@@ -71,13 +92,14 @@ Location: `~/.memo/config.toml` (can be changed via `MEMO_HOME`).
71
92
  ### Provider Configuration
72
93
 
73
94
  ```toml
74
- current_provider = "deepseek"
75
-
76
- [[providers.deepseek]]
77
- name = "deepseek"
78
- env_api_key = "DEEPSEEK_API_KEY"
79
- model = "deepseek-chat"
80
- base_url = "https://api.deepseek.com"
95
+ current_provider = "openai_compatible"
96
+ auto_compact_threshold_percent = 80
97
+
98
+ [[providers.openai_compatible]]
99
+ name = "openai_compatible"
100
+ env_api_key = "OPENAI_API_KEY"
101
+ model = "gpt-4.1-mini"
102
+ base_url = "https://api.openai.com/v1"
81
103
  ```
82
104
 
83
105
  You can configure multiple providers and switch with `current_provider`.
@@ -100,6 +122,12 @@ Context window policy:
100
122
  - priority 2: `model_profiles."<model>".context_window`
101
123
  - fallback: `120000`
102
124
 
125
+ Auto compaction policy:
126
+
127
+ - threshold: `auto_compact_threshold_percent` (default `80`)
128
+ - trigger: estimated prompt tokens at step start reaches threshold
129
+ - frequency: at most once per turn
130
+
103
131
  ### MCP Tool Configuration
104
132
 
105
133
  Both local and remote MCP servers are supported:
@@ -119,6 +147,11 @@ url = "https://your-mcp-server.com/mcp"
119
147
  # Optional: default active MCP servers at startup
120
148
  active_mcp_servers = ["local_tools", "remote"]
121
149
  # Optional: use [] to start with no MCP servers active
150
+
151
+ # Optional: MCP OAuth credential storage mode: auto | keyring | file
152
+ mcp_oauth_credentials_store_mode = "auto"
153
+ # Optional: fixed localhost callback port for `memo mcp login`
154
+ # mcp_oauth_callback_port = 33333
122
155
  ```
123
156
 
124
157
  You can also manage MCP configs via CLI (aligned with Codex CLI style):
@@ -133,11 +166,17 @@ memo mcp add local_tools -- /path/to/mcp-server --flag
133
166
  # Add remote MCP server (streamable HTTP)
134
167
  memo mcp add remote --url https://your-mcp-server.com/mcp --bearer-token-env-var MCP_TOKEN
135
168
 
169
+ # OAuth login/logout for streamable_http servers
170
+ memo mcp login remote --scopes read,write
171
+ memo mcp logout remote
172
+
136
173
  # Show/remove
137
174
  memo mcp get remote
138
175
  memo mcp remove remote
139
176
  ```
140
177
 
178
+ `memo mcp list` includes `auth_status` for each server: `unsupported`, `not_logged_in`, `bearer_token`, or `oauth`.
179
+
141
180
  ## Skills
142
181
 
143
182
  Memo supports Agent Skills and auto-discovers `SKILL.md` files at startup.
@@ -165,6 +204,16 @@ Memo reads `name` and `description` from frontmatter and injects each skill as m
165
204
 
166
205
  In prompts, users can explicitly mention a skill with `$skill-name` (for example, `$doc-writing`).
167
206
 
207
+ Optional: persist default active skills in `config.toml`:
208
+
209
+ ```toml
210
+ # Unset: all discovered skills are active by default.
211
+ # []: disable all skills by default.
212
+ active_skills = [
213
+ "/absolute/path/to/.codex/skills/doc-writing/SKILL.md"
214
+ ]
215
+ ```
216
+
168
217
  ## Built-in Tools
169
218
 
170
219
  - `exec_command` / `write_stdin`: execute shell commands (default shell family)
@@ -216,7 +265,7 @@ pnpm start
216
265
  ### Build
217
266
 
218
267
  ```bash
219
- pnpm run build # generates dist/index.js
268
+ pnpm run build # builds web-server/web-ui artifacts and generates dist/index.js
220
269
  ```
221
270
 
222
271
  ### Test
@@ -239,7 +288,7 @@ npm run format:check # check format (CI)
239
288
  ## Project Structure
240
289
 
241
290
  ```text
242
- memo-cli/
291
+ memo-code/
243
292
  ├── packages/
244
293
  │ ├── core/ # core logic: Session, tool routing, config
245
294
  │ ├── tools/ # built-in tool implementations
@@ -251,13 +300,15 @@ memo-cli/
251
300
  ## CLI Shortcuts and Commands
252
301
 
253
302
  - `/help`: show help and shortcut guide.
254
- - `/models`: list available Provider/Model entries and switch with Enter; also supports direct selection like `/models deepseek`.
303
+ - `/models`: list available Provider/Model entries and switch with Enter; also supports direct selection like `/models openai_compatible`.
255
304
  - `/review <prNumber>`: run GitHub PR review and publish review comments (uses active GitHub MCP server first, then falls back to `gh` CLI).
305
+ - `/compact`: manually compact current session context.
256
306
  - `/mcp`: show configured MCP servers in current session.
257
307
  - `resume` history: type `resume` to list and load past sessions for current directory.
258
308
  - Exit and clear: `exit` / `/exit`, `Ctrl+L` for new session, `Esc Esc` to cancel current run or clear input.
259
309
  - **Tool approval**: risky operations open an approval dialog with `once`/`session`/`deny`.
260
310
  - **Approval reminder**: risky approval prompts ring a bell and attempt a desktop notification in interactive TUI.
311
+ - **Context percent**: footer updates on each step (not just turn end), based on next-step prompt token estimate.
261
312
 
262
313
  > Session logs are written only when a session contains user messages, to avoid empty files.
263
314
 
@@ -271,7 +322,8 @@ memo-cli/
271
322
 
272
323
  ## Related Docs
273
324
 
274
- - [User Guide](./site/content/docs/README.md) - User-facing docs by module
325
+ - [User Guide (EN)](./site/content/docs/en/README.mdx) - User-facing docs by module
326
+ - [用户指南 (ZH)](./site/content/docs/zh/README.mdx) - 中文文档入口
275
327
  - [Core Architecture](./docs/core.md) - Core implementation details
276
328
  - [CLI Adaptation History](./docs/cli-update.md) - Historical migration notes (Tool Use API)
277
329
  - [Contributing](./CONTRIBUTING.md) - Contribution guide
package/README.zh.md CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
  <img src="public/demo.png" width="100%" alt="Memo Code 演示图">
20
20
 
21
- 基于 Node.js + TypeScript,默认对接 DeepSeek,兼容 OpenAI API
21
+ 基于 Node.js + TypeScript,兼容 OpenAI API 格式。
22
22
 
23
23
  Memo Code 是一个开源的终端编码代理,能够理解项目上下文,并通过自然语言协助你更快完成编码、排障和日常开发任务。
24
24
 
@@ -36,29 +36,50 @@ yarn global add @memo-code/memo
36
36
  bun add -g @memo-code/memo
37
37
  ```
38
38
 
39
+ 说明:npm 分发包是预构建产物,已包含运行所需的 CLI/Web 资源。
40
+ 只有在直接运行本仓库源码时,才需要执行 `pnpm run build`。
41
+
39
42
  ### 2. 配置 API Key
40
43
 
41
44
  ```bash
42
- export DEEPSEEK_API_KEY=your_key # 或 OPENAI_API_KEY
45
+ export OPENAI_API_KEY=your_key
43
46
  ```
44
47
 
45
48
  ### 3. 启动使用
46
49
 
47
50
  ```bash
48
51
  memo
49
- # 首次运行会引导配置 provider/model,并(保存到 ~/.memo/config.toml
52
+ # 首次运行会引导配置 provider/model,并保存到 ~/.memo/config.toml
50
53
  ```
51
54
 
52
55
  ## 使用方式
53
56
 
54
57
  - 交互式:`memo`(默认 TUI,支持多轮、工具可视化、快捷键)。
55
58
  - 非交互纯文本模式(非 TTY):`echo "你的问题" | memo`(适合脚本)。
59
+ - 单次执行:`memo --once "你的问题"` 或 `memo -once "你的问题"`(执行一轮后退出;在可信仓库建议搭配 `--dangerous`)。
60
+ - 继续最近会话:`memo --prev` 或 `memo -prev`(加载当前目录最近会话上下文)。
56
61
  - 危险模式:`memo --dangerous` 或 `memo -d`(跳过工具审批,谨慎使用)。
57
62
  - 查看版本:`memo --version` 或 `memo -v`。
63
+ - 启动 Web 服务:`memo web --host 127.0.0.1 --port 5494 --open`(npm 分发包已包含 web 资源;源码运行需先 `pnpm run build`)。
58
64
  - 启动目录约定:若启动根目录存在 `AGENTS.md`,Memo 会自动将其拼接进系统提示词。
59
65
  - Skills:Memo 会自动发现 `SKILL.md` 并把可用 skills 列表拼接进系统提示词。
60
66
  - MCP 启动选择:当配置了 MCP server 时,启动会弹出多选以决定本次会话激活哪些 server。
61
- - 会话标题:Memo 会基于首条用户输入生成简短标题,并在历史/恢复列表中展示。
67
+ - Web app 支持多 workspace 项目管理,并可并发运行多个会话(单个 server 进程上限 20)。
68
+
69
+ ## Web 控制台
70
+
71
+ ```bash
72
+ memo web --host 127.0.0.1 --port 5494 --open
73
+ ```
74
+
75
+ - npm 分发包已内置 web server 与 web UI 资源。
76
+ - 若从源码仓库运行,请先执行一次 `pnpm run build`。
77
+ - Web 认证配置默认存储在 `~/.memo/server.yaml`(可通过 `MEMO_SERVER_CONFIG` 覆盖路径)。
78
+ - 首次启动会自动生成该文件,包含认证密钥和随机初始密码。
79
+ - 登录页使用 `server.yaml` 中的 `auth.username` / `auth.password`。
80
+ - 侧边栏包含独立的 `MCP Servers` 与 `Skills` 入口:
81
+ - MCP:创建/编辑/删除/登录/登出与激活开关。
82
+ - Skills:创建/删除、详情预览与激活开关。
62
83
 
63
84
  ## 配置文件
64
85
 
@@ -67,13 +88,13 @@ memo
67
88
  ### Provider 配置
68
89
 
69
90
  ```toml
70
- current_provider = "deepseek"
91
+ current_provider = "openai_compatible"
71
92
 
72
- [[providers.deepseek]]
73
- name = "deepseek"
74
- env_api_key = "DEEPSEEK_API_KEY"
75
- model = "deepseek-chat"
76
- base_url = "https://api.deepseek.com"
93
+ [[providers.openai_compatible]]
94
+ name = "openai_compatible"
95
+ env_api_key = "OPENAI_API_KEY"
96
+ model = "gpt-4.1-mini"
97
+ base_url = "https://api.openai.com/v1"
77
98
  ```
78
99
 
79
100
  支持配置多个 Provider,通过 `current_provider` 切换。
@@ -97,6 +118,11 @@ url = "https://your-mcp-server.com/mcp"
97
118
  # 可选:启动时默认激活的 MCP server
98
119
  active_mcp_servers = ["local_tools", "remote"]
99
120
  # 可选:设为 [] 表示启动时不激活任何 MCP server
121
+
122
+ # 可选:MCP OAuth 凭据存储模式:auto | keyring | file
123
+ mcp_oauth_credentials_store_mode = "auto"
124
+ # 可选:为 `memo mcp login` 指定固定本地回调端口
125
+ # mcp_oauth_callback_port = 33333
100
126
  ```
101
127
 
102
128
  也可以通过 CLI 管理 MCP 配置(对齐 Codex CLI 风格):
@@ -111,11 +137,17 @@ memo mcp add local_tools -- /path/to/mcp-server --flag
111
137
  # 添加远程 MCP server(streamable HTTP)
112
138
  memo mcp add remote --url https://your-mcp-server.com/mcp --bearer-token-env-var MCP_TOKEN
113
139
 
140
+ # streamable_http server 的 OAuth 登录/登出
141
+ memo mcp login remote --scopes read,write
142
+ memo mcp logout remote
143
+
114
144
  # 查看/删除
115
145
  memo mcp get remote
116
146
  memo mcp remove remote
117
147
  ```
118
148
 
149
+ `memo mcp list` 会输出每个 server 的 `auth_status`:`unsupported`、`not_logged_in`、`bearer_token`、`oauth`。
150
+
119
151
  ## Skills
120
152
 
121
153
  Memo 支持 Agent Skills,并会在启动时自动发现 `SKILL.md`。
@@ -143,6 +175,16 @@ Memo 会读取 frontmatter 的 `name` 和 `description`,并以元数据形式
143
175
 
144
176
  在对话里可通过 `$skill-name` 显式提及某个 skill(例如 `$doc-writing`)。
145
177
 
178
+ 可选:在 `config.toml` 中持久化默认激活 skills:
179
+
180
+ ```toml
181
+ # 未设置:默认激活所有已发现 skills
182
+ # []:默认不激活任何 skill
183
+ active_skills = [
184
+ "/absolute/path/to/.codex/skills/doc-writing/SKILL.md"
185
+ ]
186
+ ```
187
+
146
188
  ## 内置工具
147
189
 
148
190
  - `exec_command` / `write_stdin`:执行命令(默认执行工具族)
@@ -194,7 +236,7 @@ pnpm start
194
236
  ### 构建
195
237
 
196
238
  ```bash
197
- pnpm run build # 生成 dist/index.js
239
+ pnpm run build # 构建 web-server/web-ui 产物并生成 dist/index.js
198
240
  ```
199
241
 
200
242
  ### 测试
@@ -217,7 +259,7 @@ npm run format:check # 检查格式(CI)
217
259
  ## 项目结构
218
260
 
219
261
  ```
220
- memo-cli/
262
+ memo-code/
221
263
  ├── packages/
222
264
  │ ├── core/ # 核心逻辑:Session、工具路由、配置
223
265
  │ ├── tools/ # 内置工具实现
@@ -229,7 +271,7 @@ memo-cli/
229
271
  ## CLI 快捷键与命令
230
272
 
231
273
  - `/help`:显示帮助与快捷键说明。
232
- - `/models`:列出现有 Provider/Model,回车切换;支持直接 `/models deepseek` 精确选择。
274
+ - `/models`:列出现有 Provider/Model,回车切换;支持直接 `/models openai_compatible` 精确选择。
233
275
  - `/context`:弹出 80k/120k/150k/200k 选项并立即设置上限。
234
276
  - `/review <prNumber>`:执行 GitHub PR 审查并直接发布评论(优先使用已激活的 GitHub MCP,失败时回退 `gh` CLI)。
235
277
  - `/mcp`:查看当前会话加载的 MCP 服务器配置。
@@ -250,7 +292,8 @@ memo-cli/
250
292
 
251
293
  ## 相关文档
252
294
 
253
- - [用户指南](./site/content/docs/README.md) - 面向使用者的分模块说明
295
+ - [User Guide (EN)](./site/content/docs/en/README.mdx) - 英文文档入口
296
+ - [用户指南 (ZH)](./site/content/docs/zh/README.mdx) - 中文文档入口
254
297
  - [Core 架构](./docs/core.md) - 核心实现详解
255
298
  - [CLI 适配更新](./docs/cli-update.md) - Tool Use API 迁移说明
256
299
  - [开发指南](./CONTRIBUTING.md) - 贡献指南