reasonix 0.46.0 → 0.47.0

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 (159) hide show
  1. package/README.md +64 -12
  2. package/README.zh-CN.md +54 -9
  3. package/dashboard/dist/app.js +293 -66
  4. package/dashboard/dist/app.js.map +1 -1
  5. package/dist/cli/{acp-LGBLHBKY.js → acp-QK3DMC53.js} +22 -22
  6. package/dist/cli/chat-VV5UWY4V.js +51 -0
  7. package/dist/cli/{chunk-AVFXO2EZ.js → chunk-24A7FHGJ.js} +148 -16
  8. package/dist/cli/chunk-24A7FHGJ.js.map +1 -0
  9. package/dist/cli/chunk-25T6CVUP.js +0 -0
  10. package/dist/cli/chunk-2UQP6H6T.js +0 -0
  11. package/dist/cli/chunk-5QCB62C4.js +0 -0
  12. package/dist/cli/{chunk-YY227BIQ.js → chunk-6J6BSUCR.js} +2 -2
  13. package/dist/cli/chunk-6OWJV3YW.js +0 -0
  14. package/dist/cli/{chunk-A3TSSDS2.js → chunk-BWYVFFKR.js} +2 -2
  15. package/dist/cli/{chunk-C53JQES5.js → chunk-BYYVYJDX.js} +3 -3
  16. package/dist/cli/{chunk-HNXDZGC6.js → chunk-CI2PF5QX.js} +2 -2
  17. package/dist/cli/{chunk-GTZTQNX5.js → chunk-COWPEX54.js} +19 -9
  18. package/dist/cli/chunk-COWPEX54.js.map +1 -0
  19. package/dist/cli/{chunk-QJDDIK3Z.js → chunk-E5WCLUIU.js} +2 -2
  20. package/dist/cli/{chunk-NVURFF27.js → chunk-EQATK2L2.js} +2 -2
  21. package/dist/cli/{chunk-HKWSPKMU.js → chunk-FDKOUJKZ.js} +8 -8
  22. package/dist/cli/chunk-FEZK652I.js +0 -0
  23. package/dist/cli/{chunk-TEUDEGX2.js → chunk-FY4S7TJZ.js} +19 -5
  24. package/dist/cli/chunk-FY4S7TJZ.js.map +1 -0
  25. package/dist/cli/{chunk-RDRC3XDT.js → chunk-GDKB2PPK.js} +2 -2
  26. package/dist/cli/{chunk-XSU4QVFW.js → chunk-HIYTRCSW.js} +27 -14
  27. package/dist/cli/chunk-HIYTRCSW.js.map +1 -0
  28. package/dist/cli/{chunk-WL6SNQ5T.js → chunk-ICAFSZHS.js} +307 -114
  29. package/dist/cli/chunk-ICAFSZHS.js.map +1 -0
  30. package/dist/cli/{chunk-KQU2TYIL.js → chunk-ICSYGIPN.js} +1916 -1098
  31. package/dist/cli/chunk-ICSYGIPN.js.map +1 -0
  32. package/dist/cli/chunk-J5XJHLWM.js +0 -0
  33. package/dist/cli/chunk-JMBMLOBP.js +0 -0
  34. package/dist/cli/{chunk-MJ6W5UN3.js → chunk-K6GUKSXH.js} +3 -2
  35. package/dist/cli/chunk-K6GUKSXH.js.map +1 -0
  36. package/dist/cli/{chunk-IJ7JA32V.js → chunk-KDRUEXII.js} +189 -26
  37. package/dist/cli/chunk-KDRUEXII.js.map +1 -0
  38. package/dist/cli/{chunk-4HCP2UQW.js → chunk-LBLR4CUZ.js} +2 -2
  39. package/dist/cli/{chunk-2425HK6U.js → chunk-LGEKVMMV.js} +7 -2
  40. package/dist/cli/{chunk-2425HK6U.js.map → chunk-LGEKVMMV.js.map} +1 -1
  41. package/dist/cli/{chunk-I4L2GTSE.js → chunk-OJVITDGB.js} +2 -2
  42. package/dist/cli/chunk-PLHAZOLZ.js +0 -0
  43. package/dist/cli/{chunk-W7YGWUWU.js → chunk-QVDWH2A2.js} +3 -3
  44. package/dist/cli/{chunk-R3CTO2HM.js → chunk-QVUFWDD2.js} +2 -2
  45. package/dist/cli/{chunk-HVUZWNSP.js → chunk-R6GQKKBW.js} +2 -2
  46. package/dist/cli/{chunk-5ACMUK4Q.js → chunk-RRXUIPWG.js} +20 -18
  47. package/dist/cli/chunk-RRXUIPWG.js.map +1 -0
  48. package/dist/cli/chunk-S4XVGLRW.js +0 -0
  49. package/dist/cli/chunk-SZ5XES2N.js +0 -0
  50. package/dist/cli/{chunk-CXVWUPA3.js → chunk-TKVXTQ3T.js} +26 -26
  51. package/dist/cli/chunk-TKVXTQ3T.js.map +1 -0
  52. package/dist/cli/chunk-TUK7OWJA.js +0 -0
  53. package/dist/cli/{chunk-JNAQYELD.js → chunk-UDVFBEXC.js} +3 -3
  54. package/dist/cli/{chunk-CBIQWMS6.js → chunk-VC2CQA5D.js} +9 -9
  55. package/dist/cli/{chunk-ZZYBBX5N.js → chunk-VJMBISEI.js} +23 -9
  56. package/dist/cli/chunk-VJMBISEI.js.map +1 -0
  57. package/dist/cli/{chunk-WK3UFQY3.js → chunk-VKYSZKH2.js} +2 -2
  58. package/dist/cli/{chunk-LIR2HBQH.js → chunk-VMUUFWFF.js} +2 -2
  59. package/dist/cli/{chunk-V26WPN3J.js → chunk-VNQGCA3Q.js} +28 -1
  60. package/dist/cli/chunk-VNQGCA3Q.js.map +1 -0
  61. package/dist/cli/{chunk-5I2C4JEO.js → chunk-WF7TPVZM.js} +6 -6
  62. package/dist/cli/{chunk-5I2C4JEO.js.map → chunk-WF7TPVZM.js.map} +1 -1
  63. package/dist/cli/chunk-X53B3JIX.js +0 -0
  64. package/dist/cli/chunk-XJXDHAES.js +0 -0
  65. package/dist/cli/chunk-XXC2BYTV.js +0 -0
  66. package/dist/cli/{chunk-4CTDEJUF.js → chunk-YDPLF7XR.js} +26 -14
  67. package/dist/cli/chunk-YDPLF7XR.js.map +1 -0
  68. package/dist/cli/chunk-ZZM6QJ4W.js +0 -0
  69. package/dist/cli/{code-DFHSASJ4.js → code-C24TUAE5.js} +39 -35
  70. package/dist/cli/code-C24TUAE5.js.map +1 -0
  71. package/dist/cli/{commands-OCU42XG4.js → commands-RR3GIYOK.js} +4 -4
  72. package/dist/cli/{commit-XCQIQCYG.js → commit-FSHPIINM.js} +3 -3
  73. package/dist/cli/{desktop-ZCUG7LMF.js → desktop-7NCHPEFB.js} +263 -36
  74. package/dist/cli/desktop-7NCHPEFB.js.map +1 -0
  75. package/dist/cli/devtools-HW3WDT3Q.js +0 -0
  76. package/dist/cli/{diff-66B2KWOJ.js → diff-RAAHHLHV.js} +8 -8
  77. package/dist/cli/{doctor-Y73CPPRZ.js → doctor-PKVQIXRT.js} +9 -9
  78. package/dist/cli/{events-NGZ2OJYH.js → events-VRYXOSKI.js} +3 -3
  79. package/dist/cli/index.js +84 -92
  80. package/dist/cli/index.js.map +1 -1
  81. package/dist/cli/{mcp-MPVGBBJF.js → mcp-CRJ26PP4.js} +2 -2
  82. package/dist/cli/{mcp-browse-4XOTC3FJ.js → mcp-browse-QPAOWZOP.js} +2 -2
  83. package/dist/cli/{mcp-inspect-CEMGKKAH.js → mcp-inspect-CVCLABRS.js} +4 -4
  84. package/dist/cli/{prompt-2D7ID24X.js → prompt-SKYXERSI.js} +4 -4
  85. package/dist/cli/{prune-sessions-OJEYYLHY.js → prune-sessions-SEWX7GP6.js} +2 -2
  86. package/dist/cli/{replay-AKYQNAQJ.js → replay-KPDW2ZMJ.js} +9 -9
  87. package/dist/cli/{run-5DPQFSP6.js → run-WIKDIXTG.js} +18 -19
  88. package/dist/cli/run-WIKDIXTG.js.map +1 -0
  89. package/dist/cli/{server-TQ2IHYQJ.js → server-P6V2G3P6.js} +82 -34
  90. package/dist/cli/server-P6V2G3P6.js.map +1 -0
  91. package/dist/cli/{sessions-KY54NG45.js → sessions-2NULRMSA.js} +29 -15
  92. package/dist/cli/sessions-2NULRMSA.js.map +1 -0
  93. package/dist/cli/{setup-XPIOZWS7.js → setup-Y5WDBQFL.js} +8 -8
  94. package/dist/cli/setup-Y5WDBQFL.js.map +1 -0
  95. package/dist/cli/{stats-X2VTWKNS.js → stats-T7BL2YOR.js} +6 -6
  96. package/dist/cli/update-6ITLPRDV.js +0 -0
  97. package/dist/cli/{version-7O6A5T7Q.js → version-3KWDNWLN.js} +15 -15
  98. package/dist/index.d.ts +54 -23
  99. package/dist/index.js +1613 -1152
  100. package/dist/index.js.map +1 -1
  101. package/package.json +1 -1
  102. package/dist/cli/.-3G6VX5S7.js +0 -327
  103. package/dist/cli/.-6YRPB2C7.js +0 -329
  104. package/dist/cli/.-EYSVINK3.js +0 -317
  105. package/dist/cli/chat-ECK5ZGMV.js +0 -51
  106. package/dist/cli/chunk-4CTDEJUF.js.map +0 -1
  107. package/dist/cli/chunk-5ACMUK4Q.js.map +0 -1
  108. package/dist/cli/chunk-AVFXO2EZ.js.map +0 -1
  109. package/dist/cli/chunk-CXVWUPA3.js.map +0 -1
  110. package/dist/cli/chunk-GTZTQNX5.js.map +0 -1
  111. package/dist/cli/chunk-IJ7JA32V.js.map +0 -1
  112. package/dist/cli/chunk-KQU2TYIL.js.map +0 -1
  113. package/dist/cli/chunk-MJ6W5UN3.js.map +0 -1
  114. package/dist/cli/chunk-TEUDEGX2.js.map +0 -1
  115. package/dist/cli/chunk-V26WPN3J.js.map +0 -1
  116. package/dist/cli/chunk-WL6SNQ5T.js.map +0 -1
  117. package/dist/cli/chunk-XSU4QVFW.js.map +0 -1
  118. package/dist/cli/chunk-ZZYBBX5N.js.map +0 -1
  119. package/dist/cli/code-DFHSASJ4.js.map +0 -1
  120. package/dist/cli/desktop-ZCUG7LMF.js.map +0 -1
  121. package/dist/cli/doctor-Y73CPPRZ.js.map +0 -1
  122. package/dist/cli/prompt-2D7ID24X.js.map +0 -1
  123. package/dist/cli/run-5DPQFSP6.js.map +0 -1
  124. package/dist/cli/server-TQ2IHYQJ.js.map +0 -1
  125. package/dist/cli/sessions-KY54NG45.js.map +0 -1
  126. package/dist/cli/setup-XPIOZWS7.js.map +0 -1
  127. package/dist/cli/stats-X2VTWKNS.js.map +0 -1
  128. /package/dist/cli/{acp-LGBLHBKY.js.map → acp-QK3DMC53.js.map} +0 -0
  129. /package/dist/cli/{.-3G6VX5S7.js.map → chat-VV5UWY4V.js.map} +0 -0
  130. /package/dist/cli/{chunk-YY227BIQ.js.map → chunk-6J6BSUCR.js.map} +0 -0
  131. /package/dist/cli/{chunk-A3TSSDS2.js.map → chunk-BWYVFFKR.js.map} +0 -0
  132. /package/dist/cli/{chunk-C53JQES5.js.map → chunk-BYYVYJDX.js.map} +0 -0
  133. /package/dist/cli/{chunk-HNXDZGC6.js.map → chunk-CI2PF5QX.js.map} +0 -0
  134. /package/dist/cli/{chunk-QJDDIK3Z.js.map → chunk-E5WCLUIU.js.map} +0 -0
  135. /package/dist/cli/{chunk-NVURFF27.js.map → chunk-EQATK2L2.js.map} +0 -0
  136. /package/dist/cli/{chunk-HKWSPKMU.js.map → chunk-FDKOUJKZ.js.map} +0 -0
  137. /package/dist/cli/{chunk-RDRC3XDT.js.map → chunk-GDKB2PPK.js.map} +0 -0
  138. /package/dist/cli/{chunk-4HCP2UQW.js.map → chunk-LBLR4CUZ.js.map} +0 -0
  139. /package/dist/cli/{chunk-I4L2GTSE.js.map → chunk-OJVITDGB.js.map} +0 -0
  140. /package/dist/cli/{chunk-W7YGWUWU.js.map → chunk-QVDWH2A2.js.map} +0 -0
  141. /package/dist/cli/{chunk-R3CTO2HM.js.map → chunk-QVUFWDD2.js.map} +0 -0
  142. /package/dist/cli/{chunk-HVUZWNSP.js.map → chunk-R6GQKKBW.js.map} +0 -0
  143. /package/dist/cli/{chunk-JNAQYELD.js.map → chunk-UDVFBEXC.js.map} +0 -0
  144. /package/dist/cli/{chunk-CBIQWMS6.js.map → chunk-VC2CQA5D.js.map} +0 -0
  145. /package/dist/cli/{chunk-WK3UFQY3.js.map → chunk-VKYSZKH2.js.map} +0 -0
  146. /package/dist/cli/{chunk-LIR2HBQH.js.map → chunk-VMUUFWFF.js.map} +0 -0
  147. /package/dist/cli/{commands-OCU42XG4.js.map → commands-RR3GIYOK.js.map} +0 -0
  148. /package/dist/cli/{commit-XCQIQCYG.js.map → commit-FSHPIINM.js.map} +0 -0
  149. /package/dist/cli/{diff-66B2KWOJ.js.map → diff-RAAHHLHV.js.map} +0 -0
  150. /package/dist/cli/{.-6YRPB2C7.js.map → doctor-PKVQIXRT.js.map} +0 -0
  151. /package/dist/cli/{events-NGZ2OJYH.js.map → events-VRYXOSKI.js.map} +0 -0
  152. /package/dist/cli/{mcp-MPVGBBJF.js.map → mcp-CRJ26PP4.js.map} +0 -0
  153. /package/dist/cli/{mcp-browse-4XOTC3FJ.js.map → mcp-browse-QPAOWZOP.js.map} +0 -0
  154. /package/dist/cli/{mcp-inspect-CEMGKKAH.js.map → mcp-inspect-CVCLABRS.js.map} +0 -0
  155. /package/dist/cli/{.-EYSVINK3.js.map → prompt-SKYXERSI.js.map} +0 -0
  156. /package/dist/cli/{prune-sessions-OJEYYLHY.js.map → prune-sessions-SEWX7GP6.js.map} +0 -0
  157. /package/dist/cli/{replay-AKYQNAQJ.js.map → replay-KPDW2ZMJ.js.map} +0 -0
  158. /package/dist/cli/{chat-ECK5ZGMV.js.map → stats-T7BL2YOR.js.map} +0 -0
  159. /package/dist/cli/{version-7O6A5T7Q.js.map → version-3KWDNWLN.js.map} +0 -0
package/README.md CHANGED
@@ -14,6 +14,8 @@
14
14
  <a href="./docs/ARCHITECTURE.md">Architecture</a>
15
15
  &nbsp;·&nbsp;
16
16
  <a href="./benchmarks/">Benchmarks</a>
17
+ &nbsp;·&nbsp;
18
+ <strong><a href="https://discord.gg/XF78rEME2D">Discord</a></strong>
17
19
  </p>
18
20
 
19
21
  <p align="center">
@@ -25,6 +27,7 @@
25
27
  <a href="https://github.com/esengine/reasonix/stargazers"><img src="https://img.shields.io/github/stars/esengine/reasonix.svg?style=flat-square&color=dbab09&labelColor=161b22&logo=github&logoColor=white" alt="GitHub stars"/></a>
26
28
  <a href="https://github.com/esengine/reasonix/graphs/contributors"><img src="https://img.shields.io/github/contributors/esengine/reasonix.svg?style=flat-square&color=bc8cff&labelColor=161b22&logo=github&logoColor=white" alt="contributors"/></a>
27
29
  <a href="https://github.com/esengine/reasonix/discussions"><img src="https://img.shields.io/github/discussions/esengine/reasonix.svg?style=flat-square&color=58a6ff&labelColor=161b22&logo=github&logoColor=white" alt="Discussions"/></a>
30
+ <a href="https://discord.gg/XF78rEME2D"><img src="https://img.shields.io/badge/discord-join-5865F2.svg?style=flat-square&labelColor=161b22&logo=discord&logoColor=white" alt="Discord"/></a>
28
31
  </p>
29
32
 
30
33
  <p align="center">
@@ -52,6 +55,9 @@
52
55
  > [!NOTE]
53
56
  > **Real user, single day (2026-05-01):** 435M input tokens, **99.82% cache hit**, ~$12 instead of the ~$61 the same workload would cost with no cache on `v4-flash` — see the [case study](./benchmarks/real-world-cache/README.md). DeepSeek provides the cacheable bytes; the four mechanisms in [Pillar 1](./docs/ARCHITECTURE.md#pillar-1--cache-first-loop) are how Reasonix keeps them cacheable across long sessions.
54
57
 
58
+ > [!IMPORTANT]
59
+ > **Community · 加入社区** — bilingual Discord with channels for setup help (`#help` / `#求助`), workflow showcases, feature ideas, and contributor-only PR coordination. Verify your GitHub in-server to get the **Contributor** role automatically. → **<https://discord.gg/XF78rEME2D>**
60
+
55
61
  <br/>
56
62
 
57
63
  ## Install
@@ -106,6 +112,8 @@ Then connect QQ from inside the session:
106
112
  /qq connect
107
113
  ~~~
108
114
 
115
+ On first use, Reasonix asks for the QQ `App ID` and `App Secret` inside the current TUI. Later `/qq connect` calls reuse the saved credentials directly.
116
+
109
117
  Available commands:
110
118
 
111
119
  - `/qq connect`
@@ -114,7 +122,10 @@ Available commands:
114
122
 
115
123
  Once enabled, later `chat` / `code` sessions auto-start the QQ channel. Slash commands, confirmation prompts, and follow-up assistant replies can continue through QQ without terminal-side input.
116
124
 
117
- See [QQ channel setup](./docs/qq-connect.md) for setup details and QQ Open Platform bot registration.
125
+ Desktop users can configure the same channel from `Settings -> General -> QQ Channel`.
126
+
127
+ See [QQ channel setup](./docs/qq-connect.md) for the CLI flow, desktop entry, and QQ Open Platform setup.
128
+
118
129
  ### Desktop client (prerelease)
119
130
 
120
131
  A native Tauri client for users who want a GUI over the same loop. Multi-tab, the right-panel shows files the agent has read or edited this session, the same cost / cache / token meters live at the bottom. Same DeepSeek API key, same `~/.reasonix` config — the desktop bundles its own Node runtime, no separate `npm install` step.
@@ -156,6 +167,13 @@ npx reasonix code --dir /path/to/project
156
167
  /skill new my-skill --global # ~/.reasonix/skills for cross-project use
157
168
  ~~~
158
169
 
170
+ **Claude-format skills also load.** `<project>/.claude/skills/<name>/SKILL.md` and `~/.claude/skills/` are read alongside Reasonix's native paths, so tooling that emits Claude-format skills works out of the box. Example — drop OpenSpec workflows in without an upstream adapter:
171
+
172
+ ~~~bash
173
+ npx openspec init --tools claude # writes .claude/skills/openspec-*/SKILL.md
174
+ /skill openspec-propose <task> # then invoke from Reasonix
175
+ ~~~
176
+
159
177
  </details>
160
178
 
161
179
  <br/>
@@ -221,7 +239,7 @@ For live cache-hit rates, costs, and methodology, see [`benchmarks/`](./benchmar
221
239
 
222
240
  - [**Architecture**](./docs/ARCHITECTURE.md) — three pillars: cache-first loop, tool-call repair, cost control
223
241
  - [**CLI Reference**](./docs/CLI-REFERENCE.md) — every shell subcommand, every slash command, every keybinding
224
- - [**QQ channel setup**](./docs/qq-connect.md) — what it is, commands, setup flow, and QQ Open Platform credentials
242
+ - [**QQ channel setup**](./docs/qq-connect.md) — CLI first-connect flow, desktop entry, and QQ Open Platform credentials
225
243
  - [**Benchmarks**](./benchmarks/) — τ-bench-lite harness, transcripts, cost methodology
226
244
  - [**Website**](https://esengine.github.io/DeepSeek-Reasonix/) — getting started, dashboard mockup, TUI mockup
227
245
  - [**Contributing**](./CONTRIBUTING.md) — comment policy, error-handling rules, library-over-hand-rolled
@@ -232,7 +250,7 @@ For live cache-hit rates, costs, and methodology, see [`benchmarks/`](./benchmar
232
250
  ## Community
233
251
 
234
252
  > [!NOTE]
235
- > Reasonix is open source and community-developed. The contributors wall below isn't decoration every avatar is a real PR that shipped.
253
+ > Reasonix is open source and community-developed. Every avatar in the Acknowledgments wall at the bottom of this file is a real PR that shipped.
236
254
 
237
255
  Scoped starter tickets — each with background, code pointers, acceptance criteria, and hints — live under the [`good first issue`](https://github.com/esengine/reasonix/labels/good%20first%20issue) label. Pick anything open.
238
256
 
@@ -252,12 +270,6 @@ Scoped starter tickets — each with background, code pointers, acceptance crite
252
270
 
253
271
  **Before your first PR**: read [`CONTRIBUTING.md`](./CONTRIBUTING.md) — short, strict rules (comments, errors, libraries-over-hand-rolled). `tests/comment-policy.test.ts` enforces the comment ones; `npm run verify` is the pre-push gate. By participating you agree to the [Code of Conduct](./CODE_OF_CONDUCT.md). Security issues → [SECURITY.md](./SECURITY.md).
254
272
 
255
- <p align="center">
256
- <a href="https://github.com/esengine/reasonix/graphs/contributors">
257
- <img src="https://contrib.rocks/image?repo=esengine/DeepSeek-Reasonix&max=100&columns=12" alt="Contributors to esengine/DeepSeek-Reasonix" width="860"/>
258
- </a>
259
- </p>
260
-
261
273
  <br/>
262
274
 
263
275
  ## Non-goals
@@ -284,12 +296,52 @@ Scoped starter tickets — each with background, code pointers, acceptance crite
284
296
 
285
297
  <br/>
286
298
 
299
+ ## Support
300
+
301
+ If Reasonix has been useful and you'd like to say thanks, you can. It stays a coffee, not a contract — donations don't buy feature priority or change how issues get triaged.
302
+
303
+ - **International** — PayPal: [paypal.me/yuhuahui](https://paypal.me/yuhuahui)
304
+ - **国内** — 微信支付(扫码)
305
+
306
+ <p align="center">
307
+ <img src=".github/sponsor/wechat-pay.jpg" alt="WeChat Pay QR code" width="240"/>
308
+ </p>
309
+
310
+ <br/>
311
+
312
+ ## Acknowledgments
313
+
314
+ A small list of folks whose work has shaped Reasonix the most — measured
315
+ by both commit count and code volume. **Listed alphabetically, no ordering
316
+ of importance.** The full contributor graph is on
317
+ [GitHub](https://github.com/esengine/DeepSeek-Reasonix/graphs/contributors).
318
+
319
+ - [**ctharvey**](https://github.com/ctharvey)
320
+ - [**dimasd-angga**](https://github.com/dimasd-angga) (Dimas D. Angga)
321
+ - [**Evan-Pycraft**](https://github.com/Evan-Pycraft)
322
+ - [**ForeverYoungPp**](https://github.com/ForeverYoungPp)
323
+ - [**GTC2080**](https://github.com/GTC2080) (TaoMu)
324
+ - [**kabaka9527**](https://github.com/kabaka9527)
325
+ - [**lisniuse**](https://github.com/lisniuse) (Richie)
326
+ - [**wade19990814-hue**](https://github.com/wade19990814-hue)
327
+ - [**wviana**](https://github.com/wviana) (Wesley Viana)
328
+
329
+ Also a separate thank-you to [**Bernardxu123**](https://github.com/Bernardxu123)
330
+ for designing the project logo (see [`docs/brand/`](./docs/brand/)), and to
331
+ [AIGC Link](https://xhslink.com/m/80ngts127cA) for promoting the project on XiaoHongShu.
332
+
333
+ <p align="center">
334
+ <a href="https://github.com/esengine/DeepSeek-Reasonix/graphs/contributors">
335
+ <img src="https://contrib.rocks/image?repo=esengine/DeepSeek-Reasonix&max=100&columns=12" alt="Contributors to esengine/DeepSeek-Reasonix" width="860"/>
336
+ </a>
337
+ </p>
338
+
339
+ <br/>
340
+
287
341
  ---
288
342
 
289
343
  <p align="center">
290
344
  <sub>MIT — see <a href="./LICENSE">LICENSE</a></sub>
291
345
  <br/>
292
- <sub>Built by the community at <a href="https://github.com/esengine/reasonix/graphs/contributors">esengine/reasonix</a></sub>
293
- <br/>
294
- <sub>Special thanks to <a href="https://xhslink.com/m/80ngts127cA">AIGC Link</a> for the promotions on XiaoHongShu.</sub>
346
+ <sub>Built by the community at <a href="https://github.com/esengine/DeepSeek-Reasonix/graphs/contributors">esengine/DeepSeek-Reasonix</a></sub>
295
347
  </p>
package/README.zh-CN.md CHANGED
@@ -14,6 +14,8 @@
14
14
  <a href="./docs/ARCHITECTURE.md">架构文档</a>
15
15
  &nbsp;·&nbsp;
16
16
  <a href="./benchmarks/">基准测试</a>
17
+ &nbsp;·&nbsp;
18
+ <strong><a href="https://discord.gg/XF78rEME2D">Discord</a></strong>
17
19
  </p>
18
20
 
19
21
  <p align="center">
@@ -25,6 +27,7 @@
25
27
  <a href="https://github.com/esengine/reasonix/stargazers"><img src="https://img.shields.io/github/stars/esengine/reasonix.svg?style=flat-square&color=dbab09&labelColor=161b22&logo=github&logoColor=white" alt="GitHub stars"/></a>
26
28
  <a href="https://github.com/esengine/reasonix/graphs/contributors"><img src="https://img.shields.io/github/contributors/esengine/reasonix.svg?style=flat-square&color=bc8cff&labelColor=161b22&logo=github&logoColor=white" alt="contributors"/></a>
27
29
  <a href="https://github.com/esengine/reasonix/discussions"><img src="https://img.shields.io/github/discussions/esengine/reasonix.svg?style=flat-square&color=58a6ff&labelColor=161b22&logo=github&logoColor=white" alt="Discussions"/></a>
30
+ <a href="https://discord.gg/XF78rEME2D"><img src="https://img.shields.io/badge/discord-join-5865F2.svg?style=flat-square&labelColor=161b22&logo=discord&logoColor=white" alt="Discord"/></a>
28
31
  </p>
29
32
 
30
33
  <p align="center">
@@ -49,6 +52,9 @@
49
52
  > [!TIP]
50
53
  > **缓存稳定不是开关,而是循环要围绕设计的不变量。** 这就是 Reasonix 只支持 DeepSeek 的根本原因 —— 每一层都为 DeepSeek 字节稳定的前缀缓存机制调过。
51
54
 
55
+ > [!IMPORTANT]
56
+ > **加入社区 · Community** — 中英双语 Discord,频道包括 `#求助` / `#help`、`#分享` / `#showcase`、`#想法反馈`、贡献者专属 PR 协调区。在群内绑定 GitHub 后自动识别贡献者身份。→ **<https://discord.gg/XF78rEME2D>**
57
+
52
58
  <br/>
53
59
 
54
60
  ## 安装
@@ -90,6 +96,8 @@ reasonix chat
90
96
  /qq connect
91
97
  ~~~
92
98
 
99
+ 第一次使用时,Reasonix 会直接在当前 TUI 里引导输入 QQ 的 `App ID` 和 `App Secret`;之后再次执行 `/qq connect` 会直接复用已保存凭据。
100
+
93
101
  可用命令:
94
102
 
95
103
  - `/qq connect`
@@ -98,7 +106,10 @@ reasonix chat
98
106
 
99
107
  启用后,后续的 `chat` / `code` 会话会自动启动 QQ 通道。斜杠命令、确认提示,以及后续助手回复都可以通过 QQ 继续完成,不需要回到终端交互。
100
108
 
109
+ 桌面端也可以在 `Settings -> General -> QQ Channel` 里配置同一条通道。
110
+
101
111
  详细说明见 [QQ 连接指南](./docs/qq-connect.zh-CN.md)。
112
+
102
113
  <details>
103
114
  <summary><strong>切换工作区 · chat vs. code · 写第一个 Skill</strong></summary>
104
115
 
@@ -191,7 +202,7 @@ npx reasonix code --dir /path/to/project
191
202
 
192
203
  - [**架构**](./docs/ARCHITECTURE.md) —— 四大支柱、缓存优先循环、思维提取、脚手架
193
204
  - [**CLI 参考**](./docs/CLI-REFERENCE.md) —— 每个 shell 子命令、每个 slash 命令、每个快捷键
194
- - [**QQ 连接指南**](./docs/qq-connect.zh-CN.md) —— 通道定位、命令、配置流程和 QQ 开放平台凭据
205
+ - [**QQ 连接指南**](./docs/qq-connect.zh-CN.md) —— CLI 首次连接流程、桌面端入口和 QQ 开放平台凭据
195
206
  - [**基准测试**](./benchmarks/) —— τ-bench-lite harness、transcript、成本方法论
196
207
  - [**官方网站**](https://esengine.github.io/DeepSeek-Reasonix/) —— 入门、Dashboard 设计稿、TUI 设计稿
197
208
  - [**贡献指南**](./CONTRIBUTING.md) —— 注释规则、错误处理、用现成库不手写
@@ -202,7 +213,7 @@ npx reasonix code --dir /path/to/project
202
213
  ## 社区
203
214
 
204
215
  > [!NOTE]
205
- > Reasonix 是开源、社区共建的项目。下面贡献者墙不是装饰 —— 每一个头像都对应一次真实合并的 PR。
216
+ > Reasonix 是开源、社区共建的项目。文末"致谢"那面贡献者墙上的每一个头像,都对应一次真实合并的 PR。
206
217
 
207
218
  给新手准备的入门 issue —— 每个都带背景说明、代码定位、验收标准、提示 —— 全部挂在 [`good first issue`](https://github.com/esengine/reasonix/labels/good%20first%20issue) 标签下。挑任意一个还没人认领的就行。
208
219
 
@@ -222,12 +233,6 @@ npx reasonix code --dir /path/to/project
222
233
 
223
234
  **第一次提 PR 之前**:先读 [`CONTRIBUTING.md`](./CONTRIBUTING.md) —— 短小、严格的项目规则(注释、错误处理、用现成库不手写)。`tests/comment-policy.test.ts` 静态强制执行注释那部分,`npm run verify` 是 push 前的闸。参与本项目即同意 [行为准则](./CODE_OF_CONDUCT.md)。安全相关问题请走 [SECURITY.md](./SECURITY.md)。
224
235
 
225
- <p align="center">
226
- <a href="https://github.com/esengine/reasonix/graphs/contributors">
227
- <img src="https://contrib.rocks/image?repo=esengine/DeepSeek-Reasonix&max=100&columns=12" alt="esengine/DeepSeek-Reasonix 贡献者" width="860"/>
228
- </a>
229
- </p>
230
-
231
236
  <br/>
232
237
 
233
238
  ## 不做的事
@@ -254,10 +259,50 @@ npx reasonix code --dir /path/to/project
254
259
 
255
260
  <br/>
256
261
 
262
+ ## 支持本项目
263
+
264
+ 如果 Reasonix 帮你省了时间或 token,欢迎请杯咖啡。捐助不会换来 feature 优先级,也不会影响 issue 的处理顺序——就是「谢谢」。
265
+
266
+ - **国内** — 微信支付(扫下方二维码)
267
+ - **海外** — PayPal: [paypal.me/yuhuahui](https://paypal.me/yuhuahui)
268
+
269
+ <p align="center">
270
+ <img src=".github/sponsor/wechat-pay.jpg" alt="微信支付收款码" width="240"/>
271
+ </p>
272
+
273
+ <br/>
274
+
275
+ ## 致谢
276
+
277
+ 下面这些朋友的工作塑造了 Reasonix 今天的样子 —— 综合 commit 数和代码量两个维度。
278
+ **按字母顺序排列,排名不分先后。** 完整贡献者列表在
279
+ [GitHub](https://github.com/esengine/DeepSeek-Reasonix/graphs/contributors)。
280
+
281
+ - [**ctharvey**](https://github.com/ctharvey)
282
+ - [**dimasd-angga**](https://github.com/dimasd-angga)(Dimas D. Angga)
283
+ - [**Evan-Pycraft**](https://github.com/Evan-Pycraft)
284
+ - [**ForeverYoungPp**](https://github.com/ForeverYoungPp)
285
+ - [**GTC2080**](https://github.com/GTC2080)(TaoMu)
286
+ - [**kabaka9527**](https://github.com/kabaka9527)
287
+ - [**lisniuse**](https://github.com/lisniuse)(Richie)
288
+ - [**wade19990814-hue**](https://github.com/wade19990814-hue)
289
+ - [**wviana**](https://github.com/wviana)(Wesley Viana)
290
+
291
+ 另外特别感谢 [**Bernardxu123**](https://github.com/Bernardxu123) 设计的项目 logo
292
+ (见 [`docs/brand/`](./docs/brand/)),以及 [AIGC Link](https://xhslink.com/m/80ngts127cA) 在小红书上的推广。
293
+
294
+ <p align="center">
295
+ <a href="https://github.com/esengine/DeepSeek-Reasonix/graphs/contributors">
296
+ <img src="https://contrib.rocks/image?repo=esengine/DeepSeek-Reasonix&max=100&columns=12" alt="esengine/DeepSeek-Reasonix 贡献者" width="860"/>
297
+ </a>
298
+ </p>
299
+
300
+ <br/>
301
+
257
302
  ---
258
303
 
259
304
  <p align="center">
260
305
  <sub>MIT —— 见 <a href="./LICENSE">LICENSE</a></sub>
261
306
  <br/>
262
- <sub>由 <a href="https://github.com/esengine/reasonix/graphs/contributors">esengine/reasonix</a> 社区共建</sub>
307
+ <sub>由 <a href="https://github.com/esengine/DeepSeek-Reasonix/graphs/contributors">esengine/DeepSeek-Reasonix</a> 社区共建</sub>
263
308
  </p>