reasonix 0.46.1 → 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 (131) hide show
  1. package/README.md +62 -13
  2. package/README.zh-CN.md +52 -10
  3. package/dashboard/dist/app.js +217 -60
  4. package/dashboard/dist/app.js.map +1 -1
  5. package/dist/cli/{acp-LKJU5DZX.js → acp-QK3DMC53.js} +22 -22
  6. package/dist/cli/chat-VV5UWY4V.js +51 -0
  7. package/dist/cli/{chunk-DGA5QYFM.js → chunk-24A7FHGJ.js} +42 -13
  8. package/dist/cli/chunk-24A7FHGJ.js.map +1 -0
  9. package/dist/cli/{chunk-K3AIFMI6.js → chunk-6J6BSUCR.js} +2 -2
  10. package/dist/cli/{chunk-C72TNHDE.js → chunk-BWYVFFKR.js} +2 -2
  11. package/dist/cli/{chunk-EAOL43HB.js → chunk-BYYVYJDX.js} +3 -3
  12. package/dist/cli/{chunk-HNXDZGC6.js → chunk-CI2PF5QX.js} +2 -2
  13. package/dist/cli/{chunk-JVQT5IYP.js → chunk-COWPEX54.js} +19 -9
  14. package/dist/cli/chunk-COWPEX54.js.map +1 -0
  15. package/dist/cli/{chunk-IYQ325V7.js → chunk-E5WCLUIU.js} +2 -2
  16. package/dist/cli/{chunk-YRLC2EDF.js → chunk-EQATK2L2.js} +2 -2
  17. package/dist/cli/{chunk-R2ASNSEO.js → chunk-FDKOUJKZ.js} +8 -8
  18. package/dist/cli/{chunk-TEUDEGX2.js → chunk-FY4S7TJZ.js} +19 -5
  19. package/dist/cli/chunk-FY4S7TJZ.js.map +1 -0
  20. package/dist/cli/{chunk-JVFEJAJX.js → chunk-GDKB2PPK.js} +2 -2
  21. package/dist/cli/{chunk-WQ6ZRDQM.js → chunk-HIYTRCSW.js} +16 -12
  22. package/dist/cli/chunk-HIYTRCSW.js.map +1 -0
  23. package/dist/cli/{chunk-ZOQHVQON.js → chunk-ICAFSZHS.js} +307 -30
  24. package/dist/cli/chunk-ICAFSZHS.js.map +1 -0
  25. package/dist/cli/{chunk-SPXN5JIT.js → chunk-ICSYGIPN.js} +1386 -1021
  26. package/dist/cli/chunk-ICSYGIPN.js.map +1 -0
  27. package/dist/cli/{chunk-XPAUNFOL.js → chunk-K6GUKSXH.js} +3 -2
  28. package/dist/cli/chunk-K6GUKSXH.js.map +1 -0
  29. package/dist/cli/{chunk-6VANO7KB.js → chunk-KDRUEXII.js} +147 -20
  30. package/dist/cli/chunk-KDRUEXII.js.map +1 -0
  31. package/dist/cli/{chunk-NCBP5D6E.js → chunk-LBLR4CUZ.js} +2 -2
  32. package/dist/cli/{chunk-2425HK6U.js → chunk-LGEKVMMV.js} +7 -2
  33. package/dist/cli/{chunk-2425HK6U.js.map → chunk-LGEKVMMV.js.map} +1 -1
  34. package/dist/cli/{chunk-7SGGXNB2.js → chunk-OJVITDGB.js} +2 -2
  35. package/dist/cli/{chunk-SE7C5ZSI.js → chunk-QVDWH2A2.js} +3 -3
  36. package/dist/cli/{chunk-WRONKNIH.js → chunk-QVUFWDD2.js} +2 -2
  37. package/dist/cli/{chunk-3AAG2CUT.js → chunk-R6GQKKBW.js} +2 -2
  38. package/dist/cli/{chunk-E7TAHQ4A.js → chunk-RRXUIPWG.js} +19 -18
  39. package/dist/cli/chunk-RRXUIPWG.js.map +1 -0
  40. package/dist/cli/{chunk-CXVWUPA3.js → chunk-TKVXTQ3T.js} +26 -26
  41. package/dist/cli/chunk-TKVXTQ3T.js.map +1 -0
  42. package/dist/cli/{chunk-DHRVZJ2D.js → chunk-UDVFBEXC.js} +3 -3
  43. package/dist/cli/{chunk-7YW6TPXK.js → chunk-VC2CQA5D.js} +9 -9
  44. package/dist/cli/{chunk-M4E5JK6S.js → chunk-VJMBISEI.js} +2 -2
  45. package/dist/cli/{chunk-TDSBASOF.js → chunk-VKYSZKH2.js} +2 -2
  46. package/dist/cli/{chunk-7LOJS3LV.js → chunk-VMUUFWFF.js} +2 -2
  47. package/dist/cli/{chunk-MIIZJD5O.js → chunk-VNQGCA3Q.js} +2 -2
  48. package/dist/cli/{chunk-2AASOSD5.js → chunk-WF7TPVZM.js} +2 -2
  49. package/dist/cli/{chunk-JLQDNLZF.js → chunk-YDPLF7XR.js} +26 -14
  50. package/dist/cli/chunk-YDPLF7XR.js.map +1 -0
  51. package/dist/cli/{code-2JIHL5M2.js → code-C24TUAE5.js} +39 -34
  52. package/dist/cli/code-C24TUAE5.js.map +1 -0
  53. package/dist/cli/{commands-OPT5AJNH.js → commands-RR3GIYOK.js} +4 -4
  54. package/dist/cli/{commit-KA37H6GM.js → commit-FSHPIINM.js} +3 -3
  55. package/dist/cli/{desktop-5ONTRU3C.js → desktop-7NCHPEFB.js} +263 -36
  56. package/dist/cli/desktop-7NCHPEFB.js.map +1 -0
  57. package/dist/cli/{diff-SOIA7AKH.js → diff-RAAHHLHV.js} +8 -8
  58. package/dist/cli/{doctor-RCUP4XRV.js → doctor-PKVQIXRT.js} +9 -9
  59. package/dist/cli/{events-6KHITNX4.js → events-VRYXOSKI.js} +3 -3
  60. package/dist/cli/index.js +81 -40
  61. package/dist/cli/index.js.map +1 -1
  62. package/dist/cli/{mcp-JP5OWD6R.js → mcp-CRJ26PP4.js} +2 -2
  63. package/dist/cli/{mcp-browse-ONCJJPJN.js → mcp-browse-QPAOWZOP.js} +2 -2
  64. package/dist/cli/{mcp-inspect-TPLHW5JA.js → mcp-inspect-CVCLABRS.js} +4 -4
  65. package/dist/cli/{prompt-RJDNCQAP.js → prompt-SKYXERSI.js} +4 -4
  66. package/dist/cli/{prune-sessions-MKEATRVL.js → prune-sessions-SEWX7GP6.js} +2 -2
  67. package/dist/cli/{replay-4NILJG4U.js → replay-KPDW2ZMJ.js} +9 -9
  68. package/dist/cli/{run-WFGXB4SB.js → run-WIKDIXTG.js} +17 -17
  69. package/dist/cli/{server-5VFQP3PV.js → server-P6V2G3P6.js} +82 -34
  70. package/dist/cli/server-P6V2G3P6.js.map +1 -0
  71. package/dist/cli/{sessions-5XDJDALO.js → sessions-2NULRMSA.js} +15 -15
  72. package/dist/cli/{setup-F6XSWLRA.js → setup-Y5WDBQFL.js} +6 -6
  73. package/dist/cli/{stats-ALHBZICE.js → stats-T7BL2YOR.js} +6 -6
  74. package/dist/cli/{version-JVRAHBMM.js → version-3KWDNWLN.js} +15 -15
  75. package/dist/index.d.ts +31 -10
  76. package/dist/index.js +505 -66
  77. package/dist/index.js.map +1 -1
  78. package/package.json +1 -1
  79. package/dist/cli/chat-W7LAWEN6.js +0 -51
  80. package/dist/cli/chunk-6VANO7KB.js.map +0 -1
  81. package/dist/cli/chunk-CXVWUPA3.js.map +0 -1
  82. package/dist/cli/chunk-DGA5QYFM.js.map +0 -1
  83. package/dist/cli/chunk-E7TAHQ4A.js.map +0 -1
  84. package/dist/cli/chunk-JLQDNLZF.js.map +0 -1
  85. package/dist/cli/chunk-JVQT5IYP.js.map +0 -1
  86. package/dist/cli/chunk-SPXN5JIT.js.map +0 -1
  87. package/dist/cli/chunk-TEUDEGX2.js.map +0 -1
  88. package/dist/cli/chunk-WQ6ZRDQM.js.map +0 -1
  89. package/dist/cli/chunk-XPAUNFOL.js.map +0 -1
  90. package/dist/cli/chunk-ZOQHVQON.js.map +0 -1
  91. package/dist/cli/code-2JIHL5M2.js.map +0 -1
  92. package/dist/cli/desktop-5ONTRU3C.js.map +0 -1
  93. package/dist/cli/server-5VFQP3PV.js.map +0 -1
  94. /package/dist/cli/{acp-LKJU5DZX.js.map → acp-QK3DMC53.js.map} +0 -0
  95. /package/dist/cli/{chat-W7LAWEN6.js.map → chat-VV5UWY4V.js.map} +0 -0
  96. /package/dist/cli/{chunk-K3AIFMI6.js.map → chunk-6J6BSUCR.js.map} +0 -0
  97. /package/dist/cli/{chunk-C72TNHDE.js.map → chunk-BWYVFFKR.js.map} +0 -0
  98. /package/dist/cli/{chunk-EAOL43HB.js.map → chunk-BYYVYJDX.js.map} +0 -0
  99. /package/dist/cli/{chunk-HNXDZGC6.js.map → chunk-CI2PF5QX.js.map} +0 -0
  100. /package/dist/cli/{chunk-IYQ325V7.js.map → chunk-E5WCLUIU.js.map} +0 -0
  101. /package/dist/cli/{chunk-YRLC2EDF.js.map → chunk-EQATK2L2.js.map} +0 -0
  102. /package/dist/cli/{chunk-R2ASNSEO.js.map → chunk-FDKOUJKZ.js.map} +0 -0
  103. /package/dist/cli/{chunk-JVFEJAJX.js.map → chunk-GDKB2PPK.js.map} +0 -0
  104. /package/dist/cli/{chunk-NCBP5D6E.js.map → chunk-LBLR4CUZ.js.map} +0 -0
  105. /package/dist/cli/{chunk-7SGGXNB2.js.map → chunk-OJVITDGB.js.map} +0 -0
  106. /package/dist/cli/{chunk-SE7C5ZSI.js.map → chunk-QVDWH2A2.js.map} +0 -0
  107. /package/dist/cli/{chunk-WRONKNIH.js.map → chunk-QVUFWDD2.js.map} +0 -0
  108. /package/dist/cli/{chunk-3AAG2CUT.js.map → chunk-R6GQKKBW.js.map} +0 -0
  109. /package/dist/cli/{chunk-DHRVZJ2D.js.map → chunk-UDVFBEXC.js.map} +0 -0
  110. /package/dist/cli/{chunk-7YW6TPXK.js.map → chunk-VC2CQA5D.js.map} +0 -0
  111. /package/dist/cli/{chunk-M4E5JK6S.js.map → chunk-VJMBISEI.js.map} +0 -0
  112. /package/dist/cli/{chunk-TDSBASOF.js.map → chunk-VKYSZKH2.js.map} +0 -0
  113. /package/dist/cli/{chunk-7LOJS3LV.js.map → chunk-VMUUFWFF.js.map} +0 -0
  114. /package/dist/cli/{chunk-MIIZJD5O.js.map → chunk-VNQGCA3Q.js.map} +0 -0
  115. /package/dist/cli/{chunk-2AASOSD5.js.map → chunk-WF7TPVZM.js.map} +0 -0
  116. /package/dist/cli/{commands-OPT5AJNH.js.map → commands-RR3GIYOK.js.map} +0 -0
  117. /package/dist/cli/{commit-KA37H6GM.js.map → commit-FSHPIINM.js.map} +0 -0
  118. /package/dist/cli/{diff-SOIA7AKH.js.map → diff-RAAHHLHV.js.map} +0 -0
  119. /package/dist/cli/{doctor-RCUP4XRV.js.map → doctor-PKVQIXRT.js.map} +0 -0
  120. /package/dist/cli/{events-6KHITNX4.js.map → events-VRYXOSKI.js.map} +0 -0
  121. /package/dist/cli/{mcp-JP5OWD6R.js.map → mcp-CRJ26PP4.js.map} +0 -0
  122. /package/dist/cli/{mcp-browse-ONCJJPJN.js.map → mcp-browse-QPAOWZOP.js.map} +0 -0
  123. /package/dist/cli/{mcp-inspect-TPLHW5JA.js.map → mcp-inspect-CVCLABRS.js.map} +0 -0
  124. /package/dist/cli/{prompt-RJDNCQAP.js.map → prompt-SKYXERSI.js.map} +0 -0
  125. /package/dist/cli/{prune-sessions-MKEATRVL.js.map → prune-sessions-SEWX7GP6.js.map} +0 -0
  126. /package/dist/cli/{replay-4NILJG4U.js.map → replay-KPDW2ZMJ.js.map} +0 -0
  127. /package/dist/cli/{run-WFGXB4SB.js.map → run-WIKDIXTG.js.map} +0 -0
  128. /package/dist/cli/{sessions-5XDJDALO.js.map → sessions-2NULRMSA.js.map} +0 -0
  129. /package/dist/cli/{setup-F6XSWLRA.js.map → setup-Y5WDBQFL.js.map} +0 -0
  130. /package/dist/cli/{stats-ALHBZICE.js.map → stats-T7BL2YOR.js.map} +0 -0
  131. /package/dist/cli/{version-JVRAHBMM.js.map → version-3KWDNWLN.js.map} +0 -0
package/README.md CHANGED
@@ -15,7 +15,7 @@
15
15
   · 
16
16
  <a href="./benchmarks/">Benchmarks</a>
17
17
  &nbsp;·&nbsp;
18
- <a href="https://discord.gg/XF78rEME2D">Discord</a>
18
+ <strong><a href="https://discord.gg/XF78rEME2D">Discord</a></strong>
19
19
  </p>
20
20
 
21
21
  <p align="center">
@@ -55,6 +55,9 @@
55
55
  > [!NOTE]
56
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.
57
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
+
58
61
  <br/>
59
62
 
60
63
  ## Install
@@ -109,6 +112,8 @@ Then connect QQ from inside the session:
109
112
  /qq connect
110
113
  ~~~
111
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
+
112
117
  Available commands:
113
118
 
114
119
  - `/qq connect`
@@ -117,7 +122,10 @@ Available commands:
117
122
 
118
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.
119
124
 
120
- 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
+
121
129
  ### Desktop client (prerelease)
122
130
 
123
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.
@@ -159,6 +167,13 @@ npx reasonix code --dir /path/to/project
159
167
  /skill new my-skill --global # ~/.reasonix/skills for cross-project use
160
168
  ~~~
161
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
+
162
177
  </details>
163
178
 
164
179
  <br/>
@@ -224,7 +239,7 @@ For live cache-hit rates, costs, and methodology, see [`benchmarks/`](./benchmar
224
239
 
225
240
  - [**Architecture**](./docs/ARCHITECTURE.md) — three pillars: cache-first loop, tool-call repair, cost control
226
241
  - [**CLI Reference**](./docs/CLI-REFERENCE.md) — every shell subcommand, every slash command, every keybinding
227
- - [**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
228
243
  - [**Benchmarks**](./benchmarks/) — τ-bench-lite harness, transcripts, cost methodology
229
244
  - [**Website**](https://esengine.github.io/DeepSeek-Reasonix/) — getting started, dashboard mockup, TUI mockup
230
245
  - [**Contributing**](./CONTRIBUTING.md) — comment policy, error-handling rules, library-over-hand-rolled
@@ -235,7 +250,7 @@ For live cache-hit rates, costs, and methodology, see [`benchmarks/`](./benchmar
235
250
  ## Community
236
251
 
237
252
  > [!NOTE]
238
- > 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.
239
254
 
240
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.
241
256
 
@@ -255,12 +270,6 @@ Scoped starter tickets — each with background, code pointers, acceptance crite
255
270
 
256
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).
257
272
 
258
- <p align="center">
259
- <a href="https://github.com/esengine/reasonix/graphs/contributors">
260
- <img src="https://contrib.rocks/image?repo=esengine/DeepSeek-Reasonix&max=100&columns=12" alt="Contributors to esengine/DeepSeek-Reasonix" width="860"/>
261
- </a>
262
- </p>
263
-
264
273
  <br/>
265
274
 
266
275
  ## Non-goals
@@ -287,12 +296,52 @@ Scoped starter tickets — each with background, code pointers, acceptance crite
287
296
 
288
297
  <br/>
289
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
+
290
341
  ---
291
342
 
292
343
  <p align="center">
293
344
  <sub>MIT — see <a href="./LICENSE">LICENSE</a></sub>
294
345
  <br/>
295
- <sub>Built by the community at <a href="https://github.com/esengine/reasonix/graphs/contributors">esengine/reasonix</a></sub>
296
- <br/>
297
- <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>
298
347
  </p>
package/README.zh-CN.md CHANGED
@@ -15,7 +15,7 @@
15
15
  &nbsp;·&nbsp;
16
16
  <a href="./benchmarks/">基准测试</a>
17
17
  &nbsp;·&nbsp;
18
- <a href="https://discord.gg/XF78rEME2D">Discord</a>
18
+ <strong><a href="https://discord.gg/XF78rEME2D">Discord</a></strong>
19
19
  </p>
20
20
 
21
21
  <p align="center">
@@ -52,6 +52,9 @@
52
52
  > [!TIP]
53
53
  > **缓存稳定不是开关,而是循环要围绕设计的不变量。** 这就是 Reasonix 只支持 DeepSeek 的根本原因 —— 每一层都为 DeepSeek 字节稳定的前缀缓存机制调过。
54
54
 
55
+ > [!IMPORTANT]
56
+ > **加入社区 · Community** — 中英双语 Discord,频道包括 `#求助` / `#help`、`#分享` / `#showcase`、`#想法反馈`、贡献者专属 PR 协调区。在群内绑定 GitHub 后自动识别贡献者身份。→ **<https://discord.gg/XF78rEME2D>**
57
+
55
58
  <br/>
56
59
 
57
60
  ## 安装
@@ -93,6 +96,8 @@ reasonix chat
93
96
  /qq connect
94
97
  ~~~
95
98
 
99
+ 第一次使用时,Reasonix 会直接在当前 TUI 里引导输入 QQ 的 `App ID` 和 `App Secret`;之后再次执行 `/qq connect` 会直接复用已保存凭据。
100
+
96
101
  可用命令:
97
102
 
98
103
  - `/qq connect`
@@ -101,7 +106,10 @@ reasonix chat
101
106
 
102
107
  启用后,后续的 `chat` / `code` 会话会自动启动 QQ 通道。斜杠命令、确认提示,以及后续助手回复都可以通过 QQ 继续完成,不需要回到终端交互。
103
108
 
109
+ 桌面端也可以在 `Settings -> General -> QQ Channel` 里配置同一条通道。
110
+
104
111
  详细说明见 [QQ 连接指南](./docs/qq-connect.zh-CN.md)。
112
+
105
113
  <details>
106
114
  <summary><strong>切换工作区 · chat vs. code · 写第一个 Skill</strong></summary>
107
115
 
@@ -194,7 +202,7 @@ npx reasonix code --dir /path/to/project
194
202
 
195
203
  - [**架构**](./docs/ARCHITECTURE.md) —— 四大支柱、缓存优先循环、思维提取、脚手架
196
204
  - [**CLI 参考**](./docs/CLI-REFERENCE.md) —— 每个 shell 子命令、每个 slash 命令、每个快捷键
197
- - [**QQ 连接指南**](./docs/qq-connect.zh-CN.md) —— 通道定位、命令、配置流程和 QQ 开放平台凭据
205
+ - [**QQ 连接指南**](./docs/qq-connect.zh-CN.md) —— CLI 首次连接流程、桌面端入口和 QQ 开放平台凭据
198
206
  - [**基准测试**](./benchmarks/) —— τ-bench-lite harness、transcript、成本方法论
199
207
  - [**官方网站**](https://esengine.github.io/DeepSeek-Reasonix/) —— 入门、Dashboard 设计稿、TUI 设计稿
200
208
  - [**贡献指南**](./CONTRIBUTING.md) —— 注释规则、错误处理、用现成库不手写
@@ -205,7 +213,7 @@ npx reasonix code --dir /path/to/project
205
213
  ## 社区
206
214
 
207
215
  > [!NOTE]
208
- > Reasonix 是开源、社区共建的项目。下面贡献者墙不是装饰 —— 每一个头像都对应一次真实合并的 PR。
216
+ > Reasonix 是开源、社区共建的项目。文末"致谢"那面贡献者墙上的每一个头像,都对应一次真实合并的 PR。
209
217
 
210
218
  给新手准备的入门 issue —— 每个都带背景说明、代码定位、验收标准、提示 —— 全部挂在 [`good first issue`](https://github.com/esengine/reasonix/labels/good%20first%20issue) 标签下。挑任意一个还没人认领的就行。
211
219
 
@@ -225,12 +233,6 @@ npx reasonix code --dir /path/to/project
225
233
 
226
234
  **第一次提 PR 之前**:先读 [`CONTRIBUTING.md`](./CONTRIBUTING.md) —— 短小、严格的项目规则(注释、错误处理、用现成库不手写)。`tests/comment-policy.test.ts` 静态强制执行注释那部分,`npm run verify` 是 push 前的闸。参与本项目即同意 [行为准则](./CODE_OF_CONDUCT.md)。安全相关问题请走 [SECURITY.md](./SECURITY.md)。
227
235
 
228
- <p align="center">
229
- <a href="https://github.com/esengine/reasonix/graphs/contributors">
230
- <img src="https://contrib.rocks/image?repo=esengine/DeepSeek-Reasonix&max=100&columns=12" alt="esengine/DeepSeek-Reasonix 贡献者" width="860"/>
231
- </a>
232
- </p>
233
-
234
236
  <br/>
235
237
 
236
238
  ## 不做的事
@@ -257,10 +259,50 @@ npx reasonix code --dir /path/to/project
257
259
 
258
260
  <br/>
259
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
+
260
302
  ---
261
303
 
262
304
  <p align="center">
263
305
  <sub>MIT —— 见 <a href="./LICENSE">LICENSE</a></sub>
264
306
  <br/>
265
- <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>
266
308
  </p>