skyloom 1.13.6 → 1.13.7

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 (193) hide show
  1. package/.github/workflows/ci.yml +36 -36
  2. package/README.md +220 -159
  3. package/config/providers.yaml +39 -39
  4. package/config/skills/api_integrator/SKILL.md +15 -15
  5. package/config/skills/arch_designer/SKILL.md +13 -13
  6. package/config/skills/ci_cd_manager/SKILL.md +14 -14
  7. package/config/skills/code_analysis/SKILL.md +13 -13
  8. package/config/skills/code_generator/SKILL.md +12 -12
  9. package/config/skills/code_reviewer/SKILL.md +13 -13
  10. package/config/skills/content_writer/SKILL.md +14 -14
  11. package/config/skills/data_transformer/SKILL.md +15 -15
  12. package/config/skills/document_analysis/SKILL.md +13 -13
  13. package/config/skills/emotional_companion/SKILL.md +15 -15
  14. package/config/skills/performance_checker/SKILL.md +14 -14
  15. package/config/skills/security_auditor/SKILL.md +14 -14
  16. package/config/skills/self_evolve/SKILL.md +13 -13
  17. package/config/skills/sys_operator/SKILL.md +15 -15
  18. package/config/skills/task_planner/SKILL.md +14 -14
  19. package/config/skills/web_research/SKILL.md +14 -14
  20. package/config/skills/workflow_designer/SKILL.md +13 -13
  21. package/dist/agents/dew.js +52 -52
  22. package/dist/agents/fair.js +84 -84
  23. package/dist/agents/fog.js +30 -30
  24. package/dist/agents/frost.js +32 -32
  25. package/dist/agents/rain.js +32 -32
  26. package/dist/agents/snow.js +68 -68
  27. package/dist/cli/commands_md.d.ts +41 -0
  28. package/dist/cli/commands_md.d.ts.map +1 -0
  29. package/dist/cli/commands_md.js +140 -0
  30. package/dist/cli/commands_md.js.map +1 -0
  31. package/dist/cli/input_macros.d.ts +28 -0
  32. package/dist/cli/input_macros.d.ts.map +1 -0
  33. package/dist/cli/input_macros.js +120 -0
  34. package/dist/cli/input_macros.js.map +1 -0
  35. package/dist/cli/loom.d.ts +220 -0
  36. package/dist/cli/loom.d.ts.map +1 -0
  37. package/dist/cli/loom.js +1094 -0
  38. package/dist/cli/loom.js.map +1 -0
  39. package/dist/cli/loom_chat.d.ts +20 -0
  40. package/dist/cli/loom_chat.d.ts.map +1 -0
  41. package/dist/cli/loom_chat.js +685 -0
  42. package/dist/cli/loom_chat.js.map +1 -0
  43. package/dist/cli/main.js +310 -14
  44. package/dist/cli/main.js.map +1 -1
  45. package/dist/cli/tui.d.ts.map +1 -1
  46. package/dist/cli/tui.js +7 -1
  47. package/dist/cli/tui.js.map +1 -1
  48. package/dist/core/agent.d.ts +17 -0
  49. package/dist/core/agent.d.ts.map +1 -1
  50. package/dist/core/agent.js +173 -7
  51. package/dist/core/agent.js.map +1 -1
  52. package/dist/core/factory.d.ts.map +1 -1
  53. package/dist/core/factory.js +34 -2
  54. package/dist/core/factory.js.map +1 -1
  55. package/dist/core/file_checkpoint.d.ts +57 -0
  56. package/dist/core/file_checkpoint.d.ts.map +1 -0
  57. package/dist/core/file_checkpoint.js +162 -0
  58. package/dist/core/file_checkpoint.js.map +1 -0
  59. package/dist/core/hooks.d.ts +43 -0
  60. package/dist/core/hooks.d.ts.map +1 -0
  61. package/dist/core/hooks.js +110 -0
  62. package/dist/core/hooks.js.map +1 -0
  63. package/dist/core/llm.d.ts.map +1 -1
  64. package/dist/core/llm.js +15 -9
  65. package/dist/core/llm.js.map +1 -1
  66. package/dist/core/longdoc.js +5 -5
  67. package/dist/core/mcp.d.ts +16 -0
  68. package/dist/core/mcp.d.ts.map +1 -1
  69. package/dist/core/mcp.js +55 -0
  70. package/dist/core/mcp.js.map +1 -1
  71. package/dist/core/model_config.d.ts +40 -0
  72. package/dist/core/model_config.d.ts.map +1 -0
  73. package/dist/core/model_config.js +191 -0
  74. package/dist/core/model_config.js.map +1 -0
  75. package/dist/core/skill.d.ts +7 -0
  76. package/dist/core/skill.d.ts.map +1 -1
  77. package/dist/core/skill.js +47 -0
  78. package/dist/core/skill.js.map +1 -1
  79. package/dist/core/skymd.d.ts +39 -0
  80. package/dist/core/skymd.d.ts.map +1 -0
  81. package/dist/core/skymd.js +177 -0
  82. package/dist/core/skymd.js.map +1 -0
  83. package/dist/core/tool.d.ts +12 -0
  84. package/dist/core/tool.d.ts.map +1 -1
  85. package/dist/core/tool.js +30 -0
  86. package/dist/core/tool.js.map +1 -1
  87. package/dist/core/verify.d.ts +27 -0
  88. package/dist/core/verify.d.ts.map +1 -0
  89. package/dist/core/verify.js +62 -0
  90. package/dist/core/verify.js.map +1 -0
  91. package/dist/skills/loader.d.ts +22 -2
  92. package/dist/skills/loader.d.ts.map +1 -1
  93. package/dist/skills/loader.js +45 -15
  94. package/dist/skills/loader.js.map +1 -1
  95. package/dist/tools/builtin.d.ts.map +1 -1
  96. package/dist/tools/builtin.js +13 -3
  97. package/dist/tools/builtin.js.map +1 -1
  98. package/dist/tools/model_tool.d.ts +11 -0
  99. package/dist/tools/model_tool.d.ts.map +1 -0
  100. package/dist/tools/model_tool.js +71 -0
  101. package/dist/tools/model_tool.js.map +1 -0
  102. package/dist/tools/todo.d.ts +30 -0
  103. package/dist/tools/todo.d.ts.map +1 -0
  104. package/dist/tools/todo.js +78 -0
  105. package/dist/tools/todo.js.map +1 -0
  106. package/docs/AESTHETIC_DESIGN.md +152 -144
  107. package/docs/OPTIMIZATION_PLAN.md +178 -178
  108. package/package.json +68 -68
  109. package/scripts/install.js +48 -48
  110. package/scripts/link.js +10 -10
  111. package/setup.bat +79 -79
  112. package/skill-test-ty2fOA/test.md +10 -10
  113. package/src/agents/dew.ts +70 -70
  114. package/src/agents/fair.ts +102 -102
  115. package/src/agents/fog.ts +48 -48
  116. package/src/agents/frost.ts +50 -50
  117. package/src/agents/rain.ts +50 -50
  118. package/src/agents/snow.ts +239 -239
  119. package/src/cli/commands_md.ts +112 -0
  120. package/src/cli/input_macros.ts +83 -0
  121. package/src/cli/loom.ts +982 -0
  122. package/src/cli/loom_chat.ts +598 -0
  123. package/src/cli/main.ts +255 -9
  124. package/src/cli/mode.ts +58 -58
  125. package/src/cli/tui.ts +228 -222
  126. package/src/core/agent/guard.ts +134 -134
  127. package/src/core/agent/task.ts +100 -100
  128. package/src/core/agent.ts +169 -7
  129. package/src/core/arbitrate.ts +162 -162
  130. package/src/core/catalog.ts +178 -178
  131. package/src/core/checkpoint.ts +94 -94
  132. package/src/core/estimate.ts +104 -104
  133. package/src/core/evolve.ts +191 -191
  134. package/src/core/factory.ts +31 -2
  135. package/src/core/file_checkpoint.ts +136 -0
  136. package/src/core/filter.ts +103 -103
  137. package/src/core/graph.ts +156 -156
  138. package/src/core/hooks.ts +126 -0
  139. package/src/core/icons.ts +53 -53
  140. package/src/core/index.ts +37 -37
  141. package/src/core/learn.ts +146 -146
  142. package/src/core/llm.ts +15 -9
  143. package/src/core/longdoc.ts +155 -155
  144. package/src/core/mcp.ts +48 -0
  145. package/src/core/mcp_server.ts +176 -176
  146. package/src/core/model_config.ts +157 -0
  147. package/src/core/profile.ts +255 -255
  148. package/src/core/router.ts +124 -124
  149. package/src/core/sandbox.ts +142 -142
  150. package/src/core/security.ts +243 -243
  151. package/src/core/skill.ts +42 -0
  152. package/src/core/skymd.ts +143 -0
  153. package/src/core/theme.ts +65 -65
  154. package/src/core/tool.ts +30 -0
  155. package/src/core/tool_router.ts +193 -193
  156. package/src/core/vector.ts +152 -152
  157. package/src/core/verify.ts +71 -0
  158. package/src/core/workspace.ts +150 -150
  159. package/src/plugins/loader.ts +66 -66
  160. package/src/skills/loader.ts +45 -16
  161. package/src/sql.js.d.ts +29 -29
  162. package/src/tools/builtin.ts +13 -3
  163. package/src/tools/computer.ts +269 -269
  164. package/src/tools/delegate.ts +49 -49
  165. package/src/tools/model_tool.ts +74 -0
  166. package/src/tools/todo.ts +76 -0
  167. package/src/web/tts.ts +93 -93
  168. package/tests/agent.test.ts +159 -159
  169. package/tests/agent_helpers.test.ts +48 -48
  170. package/tests/bus.test.ts +121 -121
  171. package/tests/catalog.test.ts +86 -86
  172. package/tests/checkpoint_commands.test.ts +124 -0
  173. package/tests/claude_compat.test.ts +110 -0
  174. package/tests/config.test.ts +41 -41
  175. package/tests/guard.test.ts +75 -75
  176. package/tests/icons.test.ts +45 -45
  177. package/tests/loom.test.ts +248 -0
  178. package/tests/memory.test.ts +170 -170
  179. package/tests/model_config.test.ts +109 -0
  180. package/tests/router.test.ts +86 -86
  181. package/tests/schemas.test.ts +51 -51
  182. package/tests/semantic.test.ts +83 -83
  183. package/tests/setup.ts +10 -10
  184. package/tests/skill.test.ts +172 -172
  185. package/tests/skymd.test.ts +146 -0
  186. package/tests/task.test.ts +60 -60
  187. package/tests/todo_toolstats.test.ts +94 -0
  188. package/tests/tool.test.ts +108 -108
  189. package/tests/tool_router.test.ts +71 -71
  190. package/tests/tui.test.ts +67 -67
  191. package/vitest.config.ts +17 -17
  192. package/=12 +0 -0
  193. package/=8 +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"builtin.js","sourceRoot":"","sources":["../../src/tools/builtin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builtin.js","sourceRoot":"","sources":["../../src/tools/builtin.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaH,oDA6WC;AAID,0CAKC;AAjYD,uCAAyB;AACzB,2CAA6B;AAE7B,2CAA2C;AAC3C,yCAAmD;AAEnD,MAAM,GAAG,GAAG,IAAA,kBAAS,EAAC,eAAe,CAAC,CAAC;AAEvC;;GAEG;AACH,SAAgB,oBAAoB,CAAC,QAAsB;IACzD,0BAA0B;IAC1B,IAAA,gCAAqB,EAAC,QAAQ,CAAC,CAAC;IAChC,mBAAmB;IAEnB,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,kLAAkL;QAC/L,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uCAAuC,EAAE,QAAQ,EAAE,IAAI,EAAE;YACtG,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+CAA+C,EAAE,QAAQ,EAAE,KAAK,EAAE;YACjH,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mCAAmC,EAAE,QAAQ,EAAE,KAAK,EAAE;SACrG;QACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAc,CAAC,CAAC;YACrD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAAE,OAAO,0BAA0B,QAAQ,EAAE,CAAC;YAC1E,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBACvD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;gBACvE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;gBAC1D,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC7D,MAAM,IAAI,GAAG,SAAS,GAAG,CAAC;oBACxB,CAAC,CAAC,UAAU,SAAS,+BAA+B,MAAM,GAAG,KAAK,CAAC,MAAM,OAAO;oBAChF,CAAC,CAAC,EAAE,CAAC;gBACP,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,MAAM,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjH,OAAO,qBAAqB,QAAQ,GAAG,KAAK,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;YAC9E,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,uBAAuB,CAAC,EAAE,CAAC;YACpC,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,2EAA2E;QACxF,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uCAAuC,EAAE,QAAQ,EAAE,IAAI,EAAE;YACtG,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8BAA8B,EAAE,QAAQ,EAAE,IAAI,EAAE;SACjG;QACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAc,CAAC,CAAC;YACrD,IAAI,CAAC;gBACH,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC1D,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAiB,EAAE,OAAO,CAAC,CAAC;gBAC9D,OAAO,sBAAsB,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,OAAiB,EAAE,OAAO,CAAC,aAAa,QAAQ,EAAE,CAAC;YAC3G,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,uBAAuB,CAAC,EAAE,CAAC;YACpC,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,+EAA+E;QAC5F,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0BAA0B,EAAE,QAAQ,EAAE,IAAI,EAAE;YACzF,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gCAAgC,EAAE,QAAQ,EAAE,IAAI,EAAE;YACnG,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE;SAC1F;QACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAc,CAAC,CAAC;YACrD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAAE,OAAO,0BAA0B,QAAQ,EAAE,CAAC;YAC1E,IAAI,CAAC;gBACH,IAAI,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACjD,MAAM,OAAO,GAAG,MAAM,CAAC,QAAkB,CAAC;gBAC1C,MAAM,OAAO,GAAG,MAAM,CAAC,QAAkB,CAAC;gBAC1C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC/B,OAAO,oDAAoD,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC;gBACvF,CAAC;gBACD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC5C,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC7C,OAAO,uBAAuB,QAAQ,EAAE,CAAC;YAC3C,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,uBAAuB,CAAC,EAAE,CAAC;YACpC,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,kCAAkC;QAC/C,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE,QAAQ,EAAE,IAAI,EAAE;SAC5F;QACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAc,CAAC,CAAC;YACrD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAAE,OAAO,0BAA0B,QAAQ,EAAE,CAAC;YAC1E,IAAI,CAAC;gBACH,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACxB,OAAO,wBAAwB,QAAQ,EAAE,CAAC;YAC5C,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,wBAAwB,CAAC,EAAE,CAAC;YACrC,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,+CAA+C;QAC5D,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;SAC9E;QACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACxB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAc,CAAC,CAAC;YACpD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;gBAAE,OAAO,+BAA+B,OAAO,EAAE,CAAC;YAC7E,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBACxC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;oBACrB,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;oBAChD,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC;gBAC3D,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,4BAA4B,CAAC,EAAE,CAAC;YACzC,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,2CAA2C;QACxD,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wCAAwC,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC1G,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uCAAuC,EAAE,QAAQ,EAAE,KAAK,EAAE;SAC7G;QACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACxB,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAmB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACxF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAiB,CAAC;YACzC,IAAI,CAAC;gBACH,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;gBACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC7D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,sCAAsC,CAAC;gBACxE,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,aAAa,OAAO,CAAC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACnH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,0BAA0B,CAAC,EAAE,CAAC;YACvC,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,mBAAmB;IAEnB,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,gDAAgD;QAC7D,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE,QAAQ,EAAE,IAAI,EAAE;YACtF,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0CAA0C,EAAE,QAAQ,EAAE,KAAK,EAAE;SAC9G;QACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACxB,MAAM,GAAG,GAAG,MAAM,CAAC,OAAiB,CAAC;YACrC,MAAM,OAAO,GAAI,MAAM,CAAC,OAAkB,IAAI,KAAK,CAAC;YACpD,IAAI,CAAC;gBACH,MAAM,EAAE,YAAY,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBACzE,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;gBACzD,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;YACrC,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAAC,OAAO,UAAU,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC;YAAC,CAAC;QACzD,CAAC;QACD,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;IAEH,mBAAmB;IAEnB,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,oCAAoC;QACjD,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;SAC7E;QACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACxB,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,GAAa,CAAC,CAAC;gBACnD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnC,OAAO,WAAW,QAAQ,CAAC,MAAM,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACjH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,uBAAuB,CAAC,EAAE,CAAC;YACpC,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,wBAAwB;IAExB,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,4GAA4G;QACzH,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kCAAkC,EAAE,QAAQ,EAAE,KAAK,EAAE;SACtG;QACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACzB,OAAO,eAAe,CAAC;QACzB,CAAC;QACD,SAAS,EAAE,KAAK;KACjB,CAAC,CAAC;IAEH,oBAAoB;IAEpB,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,kFAAkF;QAC/F,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;SAC/E;QACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACxB,+CAA+C;YAC/C,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAAM,CAAC,KAAe,CAAC,CAAC;gBACzD,MAAM,GAAG,GAAG,iCAAiC,KAAK,cAAc,CAAC;gBACjE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAyB,CAAC;gBAC1D,MAAM,OAAO,GAAa,EAAE,CAAC;gBAC7B,IAAI,IAAI,CAAC,YAAY;oBAAE,OAAO,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;gBACtE,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;oBACvB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;wBACpD,IAAI,KAAK,CAAC,IAAI;4BAAE,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;6BAC3C,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;4BACtB,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gCAC3C,IAAI,GAAG,CAAC,IAAI;oCAAE,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;4BAC9C,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC;YAC9E,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,iBAAiB,CAAC,EAAE,CAAC;YAC9B,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,qBAAqB;IAErB,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,6DAA6D;QAC1E,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE;YACrF,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC5E,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yCAAyC,EAAE,QAAQ,EAAE,KAAK,EAAE;SAC9G;QACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACzB,OAAO,mDAAmD,CAAC;QAC7D,CAAC;KACF,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,4CAA4C;QACzD,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4CAA4C,EAAE,QAAQ,EAAE,IAAI,EAAE;SAC7G;QACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACzB,OAAO,gCAAgC,CAAC;QAC1C,CAAC;KACF,CAAC,CAAC;IAEH,kBAAkB;IAElB,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,+BAA+B;QAC5C,UAAU,EAAE,EAAE;QACd,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;YAC9C,IAAI,CAAC;gBACH,OAAO,QAAQ,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YACvD,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,OAAO,UAAU,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC;YACpC,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,6DAA6D;QAC1E,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,0BAA0B,EAAE,QAAQ,EAAE,KAAK,EAAE;SAC9F;QACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACxB,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;YAC9C,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7C,OAAO,QAAQ,CAAC,YAAY,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YAC7D,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,OAAO,UAAU,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC;YACpC,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,mBAAmB;QAChC,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yCAAyC,EAAE,QAAQ,EAAE,KAAK,EAAE;SAC/G;QACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACxB,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;YAC9C,IAAI,CAAC;gBACH,MAAM,CAAC,GAAI,MAAM,CAAC,SAAoB,IAAI,EAAE,CAAC;gBAC7C,OAAO,QAAQ,CAAC,sBAAsB,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YACpE,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,OAAO,UAAU,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC;YACpC,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,6CAA6C;QAC1D,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE;SACnF;QACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACxB,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;YAC9C,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,CAAC,OAAiB,CAAC;gBACrC,QAAQ,CAAC,kBAAkB,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC/E,OAAO,8BAA8B,CAAC;YACxC,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,OAAO,UAAU,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC;YACpC,CAAC;QACH,CAAC;QACD,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;IAEH,sBAAsB;IAEtB,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,sDAAsD;QACnE,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,6BAA6B,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC/F,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE,QAAQ,EAAE,KAAK,EAAE;SACzF;QACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACxB,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;YAC9C,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACpF,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YACzC,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,GAAG,GAAG,GAAG,GAAG,GAAG,SAAS,GAAG,2BAA2B,GAAG,GAAG,GAAG,GAAG,GAAG,SAAS,GAAG,yCAAyC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC;gBACxM,OAAO,GAAG,CAAC;YACb,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,mBAAmB,CAAC;YAC7B,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,mCAAmC;QAChD,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE,QAAQ,EAAE,KAAK,EAAE;YACjG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE,QAAQ,EAAE,KAAK,EAAE;SAC9F;QACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACxB,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;YAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAmB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YAC5F,MAAM,KAAK,GAAI,MAAM,CAAC,KAAgB,IAAI,CAAC,CAAC;YAC5C,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,GAAG,yDAAyD,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC9I,OAAO,GAAG,CAAC;YACb,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,6BAA6B,CAAC;YACvC,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;AAC/E,CAAC;AAED,IAAI,WAAW,GAAQ,IAAI,CAAC;AAErB,KAAK,UAAU,eAAe;IACnC,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,CAAC;YAAC,MAAM,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAC3D,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC;AACH,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Model self-service tools — let an agent inspect and switch its own LLM.
3
+ *
4
+ * Registered per-agent (same pattern as delegate_to), so the closure knows
5
+ * which agent is asking. The runtime config object is shared by reference
6
+ * with LLMClient, so a switch takes effect on the very next LLM call and is
7
+ * persisted to ~/.skyloom/config.yaml.
8
+ */
9
+ import type { ToolDefinition } from '../core/tool';
10
+ export declare function createModelTools(agentName: string, runtimeConfig: any): ToolDefinition[];
11
+ //# sourceMappingURL=model_tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model_tool.d.ts","sourceRoot":"","sources":["../../src/tools/model_tool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAInD,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,GAAG,cAAc,EAAE,CA4DxF"}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ /**
3
+ * Model self-service tools — let an agent inspect and switch its own LLM.
4
+ *
5
+ * Registered per-agent (same pattern as delegate_to), so the closure knows
6
+ * which agent is asking. The runtime config object is shared by reference
7
+ * with LLMClient, so a switch takes effect on the very next LLM call and is
8
+ * persisted to ~/.skyloom/config.yaml.
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.createModelTools = createModelTools;
12
+ const catalog_1 = require("../core/catalog");
13
+ const model_config_1 = require("../core/model_config");
14
+ function createModelTools(agentName, runtimeConfig) {
15
+ const listModels = {
16
+ name: 'list_models',
17
+ description: 'List every model available in the catalog (grouped by provider) plus your current model. ' +
18
+ 'Call this before set_my_model to pick a valid id.',
19
+ parameters: [],
20
+ handler: async () => {
21
+ const me = (0, model_config_1.describeAgentLLM)(runtimeConfig, agentName);
22
+ const lines = [
23
+ `Current: ${me.model} (${me.source === 'agent' ? 'per-agent override' : 'unified default'})`,
24
+ '',
25
+ ];
26
+ for (const p of (0, catalog_1.listProviders)()) {
27
+ const models = (0, catalog_1.modelsFor)(p);
28
+ if (!models.length)
29
+ continue;
30
+ lines.push(`${(0, catalog_1.providerLabel)(p)}: ${models.map(m => m.id).join(', ')}`);
31
+ }
32
+ return lines.join('\n');
33
+ },
34
+ };
35
+ const setMyModel = {
36
+ name: 'set_my_model',
37
+ description: 'Switch the LLM model YOU run on, effective from your next reply and persisted to config. ' +
38
+ 'Use when the user asks you to change/upgrade/downgrade your model. ' +
39
+ "Pass model='default' to drop your override and follow the unified default again. " +
40
+ 'Call list_models first if unsure of valid ids.',
41
+ parameters: [
42
+ {
43
+ name: 'model',
44
+ type: 'string',
45
+ description: "Catalog model id (e.g. 'deepseek-chat'), or 'default' to clear the override",
46
+ required: true,
47
+ },
48
+ ],
49
+ handler: async (kwargs) => {
50
+ const modelId = String(kwargs.model || '').trim();
51
+ if (!modelId)
52
+ return '✗ model is required';
53
+ const before = (0, model_config_1.describeAgentLLM)(runtimeConfig, agentName);
54
+ if (modelId === 'default' || modelId === 'unified') {
55
+ (0, model_config_1.clearAgentModel)(runtimeConfig, agentName);
56
+ const after = (0, model_config_1.describeAgentLLM)(runtimeConfig, agentName);
57
+ return `✓ ${agentName} 已回到统一配置: ${before.model} → ${after.model} (default)`;
58
+ }
59
+ const r = (0, model_config_1.setAgentModel)(runtimeConfig, agentName, modelId);
60
+ if (!r.ok) {
61
+ return `✗ '${modelId}' 不在模型目录中。${r.suggestions.length ? '可选: ' + r.suggestions.join(', ') : '先调 list_models 查看可用模型。'}`;
62
+ }
63
+ const keyNote = (0, model_config_1.describeAgentLLM)(runtimeConfig, agentName).keySource === 'missing'
64
+ ? `\n⚠ 该 provider (${r.provider}) 尚无可用 API key — 提醒用户运行 /apikey set ${r.provider} <key>`
65
+ : '';
66
+ return `✓ ${agentName} 的模型已切换: ${before.model} → ${modelId}${r.provider ? ` (${r.provider})` : ''},下一次回复即生效${keyNote}`;
67
+ },
68
+ };
69
+ return [listModels, setMyModel];
70
+ }
71
+ //# sourceMappingURL=model_tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model_tool.js","sourceRoot":"","sources":["../../src/tools/model_tool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * todo_write — agents externalize multi-step task state (Claude Code 式).
3
+ *
4
+ * The agent maintains a checklist in working memory: plan it up front, mark
5
+ * items active/done as it works. The list survives compaction (working
6
+ * memory, not chat history), the CLI renders it live, and the tool's return
7
+ * value keeps the current state visible to the model itself.
8
+ *
9
+ * Whole-list replace semantics: every call passes the complete list. That
10
+ * keeps the tool idempotent and trivially recoverable after a bad call.
11
+ */
12
+ import type { ToolDefinition } from '../core/tool';
13
+ export type TodoStatus = 'pending' | 'active' | 'done';
14
+ export interface TodoItem {
15
+ text: string;
16
+ status: TodoStatus;
17
+ }
18
+ export declare const TODO_WORKING_KEY = "todos";
19
+ /** Parse + validate the items argument (JSON array). */
20
+ export declare function parseTodoItems(raw: any): {
21
+ items: TodoItem[] | null;
22
+ error: string;
23
+ };
24
+ export declare function renderTodoList(items: TodoItem[]): string;
25
+ export declare function createTodoTool(agent: {
26
+ memory: {
27
+ setWorking(k: string, v: any): void;
28
+ };
29
+ }): ToolDefinition;
30
+ //# sourceMappingURL=todo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"todo.d.ts","sourceRoot":"","sources":["../../src/tools/todo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AACvD,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;CACpB;AAKD,eAAO,MAAM,gBAAgB,UAAU,CAAC;AAExC,wDAAwD;AACxD,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG;IAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAepF;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,CAOxD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE;IAAE,MAAM,EAAE;QAAE,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,GAAG,IAAI,CAAA;KAAE,CAAA;CAAE,GAAG,cAAc,CAuBzG"}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ /**
3
+ * todo_write — agents externalize multi-step task state (Claude Code 式).
4
+ *
5
+ * The agent maintains a checklist in working memory: plan it up front, mark
6
+ * items active/done as it works. The list survives compaction (working
7
+ * memory, not chat history), the CLI renders it live, and the tool's return
8
+ * value keeps the current state visible to the model itself.
9
+ *
10
+ * Whole-list replace semantics: every call passes the complete list. That
11
+ * keeps the tool idempotent and trivially recoverable after a bad call.
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.TODO_WORKING_KEY = void 0;
15
+ exports.parseTodoItems = parseTodoItems;
16
+ exports.renderTodoList = renderTodoList;
17
+ exports.createTodoTool = createTodoTool;
18
+ const MAX_ITEMS = 20;
19
+ const STATUSES = new Set(['pending', 'active', 'done']);
20
+ exports.TODO_WORKING_KEY = 'todos';
21
+ /** Parse + validate the items argument (JSON array). */
22
+ function parseTodoItems(raw) {
23
+ let parsed = raw;
24
+ if (typeof raw === 'string') {
25
+ try {
26
+ parsed = JSON.parse(raw);
27
+ }
28
+ catch {
29
+ return { items: null, error: 'items 必须是合法 JSON 数组' };
30
+ }
31
+ }
32
+ if (!Array.isArray(parsed))
33
+ return { items: null, error: 'items 必须是数组' };
34
+ if (parsed.length > MAX_ITEMS)
35
+ return { items: null, error: `最多 ${MAX_ITEMS} 项 — 合并粒度` };
36
+ const items = [];
37
+ for (const it of parsed) {
38
+ const text = typeof it === 'string' ? it : String(it?.text ?? '').trim();
39
+ const status = typeof it === 'object' && it !== null && STATUSES.has(String(it.status)) ? String(it.status) : 'pending';
40
+ if (!text)
41
+ return { items: null, error: '存在空的任务项' };
42
+ items.push({ text: text.slice(0, 120), status: status });
43
+ }
44
+ return { items, error: '' };
45
+ }
46
+ function renderTodoList(items) {
47
+ const done = items.filter(i => i.status === 'done').length;
48
+ const lines = items.map(i => {
49
+ const mark = i.status === 'done' ? '✓' : i.status === 'active' ? '◐' : '·';
50
+ return `${mark} ${i.text}`;
51
+ });
52
+ return `任务清单 ${done}/${items.length}\n${lines.join('\n')}`;
53
+ }
54
+ function createTodoTool(agent) {
55
+ return {
56
+ name: 'todo_write',
57
+ description: 'Maintain your task checklist for multi-step work. Call it FIRST to plan (all pending), ' +
58
+ 'then again whenever an item starts (active) or finishes (done) — pass the COMPLETE list each time. ' +
59
+ 'items is a JSON array: [{"text":"...","status":"pending|active|done"}, ...]. ' +
60
+ 'Use for any task with 3+ steps; skip for trivial one-shot answers.',
61
+ parameters: [
62
+ {
63
+ name: 'items',
64
+ type: 'string',
65
+ description: 'The complete checklist as a JSON array of {text, status} (status: pending/active/done)',
66
+ required: true,
67
+ },
68
+ ],
69
+ handler: async (kwargs) => {
70
+ const { items, error } = parseTodoItems(kwargs.items);
71
+ if (!items)
72
+ return `✗ ${error}`;
73
+ agent.memory.setWorking(exports.TODO_WORKING_KEY, items);
74
+ return `✓ ${renderTodoList(items)}`;
75
+ },
76
+ };
77
+ }
78
+ //# sourceMappingURL=todo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"todo.js","sourceRoot":"","sources":["../../src/tools/todo.ts"],"names":[],"mappings":"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"}
@@ -1,144 +1,152 @@
1
- # 天空织机 · Skyloom — 美学设计系统
2
-
3
- > 设计哲学:**水墨气象台 (Ink-Wash Weather Station)**。
4
- > 不是极简,是**克制的繁复**——东方水墨的留白与西方信息设计的精确并置。
5
- > 每个 Agent 是一种天气、一味矿物颜料、一句诗、一种动势。辨识度来自这套贯穿 CLI / TUI / Web 的统一意象。
6
-
7
- ---
8
-
9
- ## 0. 设计立场
10
-
11
- | 反对 | 主张 |
12
- |------|------|
13
- | 扁平、纯灰、性冷淡的"AI 默认风" | 宣纸质感、矿物颜料、笔触与晕染 |
14
- | 装饰为零的极简 | **有意义的繁复**:每个元素承载身份(天气/颜料/诗/动势) |
15
- | 千篇一律的等宽终端 | 真彩矿物色 + 印章 + 汉字字符画 |
16
- | 静态界面 | 气象动效——雾飘、雨落、霜结、雪降、露凝、晴升 |
17
-
18
- 核心意象:**织机**(六梭交织)+ **气象台**(六种天气)+ **水墨**(宣纸/矿物/印章/诗)。
19
-
20
- ---
21
-
22
- ## 1. 六灵 · 设计令牌(Design Tokens)
23
-
24
- 唯一事实源。建议落地为 `src/core/theme.ts`,由 CLI(chalk)、TUI、Web 共同 import。
25
-
26
- | Agent | 汉字 | 天气 | 矿物色 (hex) | 职责 | 诗 | 动势 |
27
- |-------|------|------|------------|------|----|----|
28
- | **雾 Fog** | 霧 | 雾 | `#4a4a44` 松烟墨 | 探索洞察 | 山色有无中 | 飘移 drift |
29
- | **雨 Rain** | 雨 | 雨 | `#2a5c8a` 石青 | 创造产出 | 一蓑烟雨任平生 | 坠落 fall |
30
- | **霜 Frost** | 霜 | 霜 | `#3a7a6e` 石绿 | 精炼品质 | 月落乌啼霜满天 | 结晶 glint |
31
- | **雪 Snow** | 雪 | 雪 | `#8a8a82` 铅白 | 架构规划 | 千树万树梨花开 | 飘降 float |
32
- | **露 Dew** | 露 | 露 | `#8b6914` 赭石 | 可靠守护 | 金风玉露一相逢 | 凝珠 bead |
33
- | **晴 Fair** | 晴 | 晴 | `#b3342d` 朱砂 | 情感陪伴 | 道是无晴却有晴 | 升腾 rise |
34
-
35
- ### 1.1 纸与墨(基底色板)
36
-
37
- ```
38
- --paper #f8f4ec 宣纸
39
- --paper-warm #f3ede2 暖宣纸(输入区)
40
- --ink-deep #1a1614 焦墨(正文)
41
- --ink-mid #3d3833 浓墨
42
- --ink-light #8c8680 淡墨(次要信息)
43
- --ink-faint #c4bfb8 飞白(分隔线/占位)
44
- ```
45
-
46
- 矿物色派生:每色提供 `solid` / `soft`(12% alpha) / `seal`(印章) 三档。
47
-
48
- ### 1.2 字体
49
-
50
- - 中文/标题:**Noto Serif SC**(300/400/600/700)——书法骨架。
51
- - 西文/正文:**Noto Serif**(含斜体,用于诗句)。
52
- - 终端:等宽回退,但用真彩矿物色补回身份。
53
-
54
- ---
55
-
56
- ## 2. 三端一致性
57
-
58
- 设计 token 一处定义,三端各自表达同一意象。
59
-
60
- ### 2.1 Web(水墨气象台)— 现状强项,做工程化
61
-
62
- 保留并强化:宣纸纹理 `#paper-grain`、顶部水墨山影、`#ambient-layer` 气象粒子、`#kanji-decoration` 印章、侧栏诗句、切灵换主题。
63
-
64
- 工程化改进(见优化计划 P7.3):
65
- - 内联 HTML 抽到 `src/web/ui/{index.html,styles.css,app.js}`,token 由 `theme.ts` 注入。
66
- - **真流式**:工具调用呈现为"气象事件"卡片(如 `web_search` → 一道雨痕划过、`apply_patch` → 一枚朱印落下)。
67
- - 消息气泡的笔触边框按 Agent `msgStyle` 区分(已有雏形,统一到 token)。
68
-
69
- ### 2.2 TUI(全屏)— 当前最弱,重点升级
70
-
71
- 现状:`tui.ts` 仅捕获输入,响应回落到线性滚动;全屏重绘有闪烁。
72
-
73
- 目标布局(保留意象,做实):
74
- ```
75
- ┌─ 天空织机 ──────────────────────────── ─┐ ← 印章随灵变色
76
- ● 雾 Fog 松烟墨 gpt-4o · $0.02
77
- Rain 石青 ████░░░░ 41% ctx │ ← 真彩矿物色侧栏
78
- Frost 石绿
79
- ───────────────────────────────────────────────
80
- 山色有无中 流式正文,墨迹晕染入场
81
- 助手正在书写…
82
- ───────────────────────────────────────────────
83
- > / │ 命令面板浮层
84
- └──────────────────────────────────────────────────┘
85
- ```
86
- - 真彩(24-bit)矿物色,切灵时印章与侧栏高亮换色。
87
- - 流式渲染:token 逐字"晕染"(淡→实),工具调用以单行天气符号脉冲(`≋ web_search…` / `✱ review…`)。
88
- - 双缓冲/差量重绘消除闪烁(仅重绘变化行)。
89
-
90
- ### 2.3 CLI(线性)— 真彩 + 印章
91
-
92
- - 真彩矿物色替换当前 `chalk.cyan` 单色。
93
- - 欢迎横幅:六灵以各自矿物色 + 天气符号排布,当前灵加印章方框。
94
- - Agent 切换:打印一枚朱砂印章(`▣ 霜`)作过场。
95
- - 流式:复用 `chatStream`,`reasoning` 以淡墨斜体、正文焦墨、工具状态淡墨脉冲。
96
-
97
- ---
98
-
99
- ## 3. 标志性元素(辨识度锚点)
100
-
101
- 1. **印章 (Seal)**:当前 Agent 的汉字以朱砂方框印章呈现——出现在 Web 角落、TUI 标题栏、CLI 切换过场、README badge。是品牌第一记忆点。
102
- 2. **气象粒子**:六种天气动效是 Web 的灵魂,未来可做成 TUI 的字符粒子(ASCII 雨/雪)。
103
- 3. **诗句**:每灵一句古诗,出现在侧栏/欢迎屏/空状态,是"克制的繁复"的体现。
104
- 4. **天气符号集**:`≋ ⸽ ✱ ❉ ∘ ☼`——跨端统一的 Agent 字形。
105
-
106
- ---
107
-
108
- ## 4. 品牌资产清单(P7.4)
109
-
110
- - [ ] **Logo**:印章风 SVG("织"或"气象台"篆刻),亮/暗两版。
111
- - [ ] **README hero**:六灵矿物色横幅 + 印章。
112
- - [ ] **社交卡片** (og:image):水墨山影 + 六色梭。
113
- - [ ] **截图/录屏**:TUI 流式 + Web 气象台切灵,放 `docs/`。
114
- - [ ] **配色规范图**:六矿物色 + 纸墨色板。
115
- - [ ] **favicon**:朱砂"晴"印。
116
-
117
- ---
118
-
119
- ## 5. 设计 token 落地(建议代码形态)
120
-
121
- ```ts
122
- // src/core/theme.ts 唯一事实源
123
- export interface AgentTheme {
124
- name: string; kanji: string; weather: string;
125
- pigment: { name: string; hex: string; rgb: [number, number, number] };
126
- poem: string; symbol: string; motion: string;
127
- }
128
- export const PALETTE = {
129
- paper: "#f8f4ec", paperWarm: "#f3ede2",
130
- inkDeep: "#1a1614", inkMid: "#3d3833", inkLight: "#8c8680", inkFaint: "#c4bfb8",
131
- } as const;
132
- export const AGENT_THEMES: Record<string, AgentTheme> = { /* 见 §1 表 */ };
133
- // CLI: hex chalk.hex(); TUI: → ANSI truecolor; Web: CSS 变量注入
134
- ```
135
-
136
- > 一处改色,三端同步。这是把"美观"从一次性手艺变成**可维护的系统**的关键。
137
-
138
- ---
139
-
140
- ## 6. 不做什么
141
-
142
- - 不引入重型前端框架(保持零依赖 Web,宣纸般轻)。
143
- - 不把界面"洗白"成通用 SaaS 风。
144
- - 不让动效喧宾夺主——气象是氛围,内容是主角。
1
+ # 天空织机 · Skyloom — 美学设计系统
2
+
3
+ > 设计哲学:**水墨气象台 (Ink-Wash Weather Station)**。
4
+ > 不是极简,是**克制的繁复**——东方水墨的留白与西方信息设计的精确并置。
5
+ > 每个 Agent 是一种天气、一味矿物颜料、一句诗、一种动势。辨识度来自这套贯穿 CLI / TUI / Web 的统一意象。
6
+
7
+ ---
8
+
9
+ ## 0. 设计立场
10
+
11
+ | 反对 | 主张 |
12
+ |------|------|
13
+ | 扁平、纯灰、性冷淡的"AI 默认风" | 宣纸质感、矿物颜料、笔触与晕染 |
14
+ | 装饰为零的极简 | **有意义的繁复**:每个元素承载身份(天气/颜料/诗/动势) |
15
+ | 千篇一律的等宽终端 | 真彩矿物色 + 印章 + 汉字字符画 |
16
+ | 静态界面 | 气象动效——雾飘、雨落、霜结、雪降、露凝、晴升 |
17
+
18
+ 核心意象:**织机**(六梭交织)+ **气象台**(六种天气)+ **水墨**(宣纸/矿物/印章/诗)。
19
+
20
+ ---
21
+
22
+ ## 1. 六灵 · 设计令牌(Design Tokens)
23
+
24
+ 唯一事实源。建议落地为 `src/core/theme.ts`,由 CLI(chalk)、TUI、Web 共同 import。
25
+
26
+ | Agent | 汉字 | 天气 | 矿物色 (hex) | 职责 | 诗 | 动势 |
27
+ |-------|------|------|------------|------|----|----|
28
+ | **雾 Fog** | 霧 | 雾 | `#4a4a44` 松烟墨 | 探索洞察 | 山色有无中 | 飘移 drift |
29
+ | **雨 Rain** | 雨 | 雨 | `#2a5c8a` 石青 | 创造产出 | 一蓑烟雨任平生 | 坠落 fall |
30
+ | **霜 Frost** | 霜 | 霜 | `#3a7a6e` 石绿 | 精炼品质 | 月落乌啼霜满天 | 结晶 glint |
31
+ | **雪 Snow** | 雪 | 雪 | `#8a8a82` 铅白 | 架构规划 | 千树万树梨花开 | 飘降 float |
32
+ | **露 Dew** | 露 | 露 | `#8b6914` 赭石 | 可靠守护 | 金风玉露一相逢 | 凝珠 bead |
33
+ | **晴 Fair** | 晴 | 晴 | `#b3342d` 朱砂 | 情感陪伴 | 道是无晴却有晴 | 升腾 rise |
34
+
35
+ ### 1.1 纸与墨(基底色板)
36
+
37
+ ```
38
+ --paper #f8f4ec 宣纸
39
+ --paper-warm #f3ede2 暖宣纸(输入区)
40
+ --ink-deep #1a1614 焦墨(正文)
41
+ --ink-mid #3d3833 浓墨
42
+ --ink-light #8c8680 淡墨(次要信息)
43
+ --ink-faint #c4bfb8 飞白(分隔线/占位)
44
+ ```
45
+
46
+ 矿物色派生:每色提供 `solid` / `soft`(12% alpha) / `seal`(印章) 三档。
47
+
48
+ ### 1.2 字体
49
+
50
+ - 中文/标题:**Noto Serif SC**(300/400/600/700)——书法骨架。
51
+ - 西文/正文:**Noto Serif**(含斜体,用于诗句)。
52
+ - 终端:等宽回退,但用真彩矿物色补回身份。
53
+
54
+ ---
55
+
56
+ ## 2. 三端一致性
57
+
58
+ 设计 token 一处定义,三端各自表达同一意象。
59
+
60
+ ### 2.1 Web(水墨气象台)— 现状强项,做工程化
61
+
62
+ 保留并强化:宣纸纹理 `#paper-grain`、顶部水墨山影、`#ambient-layer` 气象粒子、`#kanji-decoration` 印章、侧栏诗句、切灵换主题。
63
+
64
+ 工程化改进(见优化计划 P7.3):
65
+ - 内联 HTML 抽到 `src/web/ui/{index.html,styles.css,app.js}`,token 由 `theme.ts` 注入。
66
+ - **真流式**:工具调用呈现为"气象事件"卡片(如 `web_search` → 一道雨痕划过、`apply_patch` → 一枚朱印落下)。
67
+ - 消息气泡的笔触边框按 Agent `msgStyle` 区分(已有雏形,统一到 token)。
68
+
69
+ ### 2.2 TUI(全屏「立轴」)— 已落地 `src/cli/loom.ts`
70
+
71
+ `sky` 在真实终端默认进入全屏立轴(`--classic` / 管道 / 窄终端回退到线性 `tui.ts`)。
72
+
73
+ ```
74
+ ┌─ 天空织机 Skyloom ─────────────────────────────── 霧 ─┐ ← 印章随灵变色
75
+ ≋ ≋ 气象粒子(随灵的动势) ≋ │ ← 天幕 2
76
+ ▁▂▃▅▃▂▁▁▂▄▂▁ 远山随会话渐渐生长 ▁▁▂▃▂▁▁▂▄▃▂▁▁
77
+ fog ✓1 流式正文,墨迹晕染入场 ▍ │ 矿物色侧栏 │ 视口
78
+ ⸽ 雨 rain │ ✦ 织谱 · 3 梭 /task 多灵动态
79
+ · 霜 frost ✓ ① 霧 调研 (3.2s) · ⸽ ② 雨 起草 ←① │
80
+ ╌╌╌╌╌╌╌╌╌╌╌╌╌ web_search 检索中… │
81
+ 山色有无中
82
+ 织造 1/3 ·· ───────────── gpt-4o · $0.02 · ▰▰▱▱▱ 41% ┤
83
+ ❯ █ 命令面板浮层在视口尾行 │
84
+ └─ /help 命令 · Tab 补全 · PgUp 回看 ───────────────────┘
85
+ ```
86
+
87
+ 架构(为何这版不闪烁、不打架):
88
+ - 流式 token 只进**虚拟块缓冲**;每帧在内存合成整屏,差量重绘仅刷脏行。
89
+ - 宽度计算全部走 `tui.ts` 的 CJK 感知函数,中英混排/输入光标不再错位。
90
+ - 动效时钟是唯一写者:按键与流事件只改状态,由帧定时器统一落屏。
91
+
92
+ 意象:
93
+ - 流式渲染 token 逐字「晕染」(淡墨→焦墨「干透」),工具调用单行天气符号脉冲。
94
+ - **多灵织机**:`/task` 编排时,运行中的灵化作梭子拖矿物色丝线在天幕穿行;
95
+ 视口内「织谱」原位更新每梭状态/依赖/耗时;左栏亮起脉冲徽记与 ✓/✗ 战绩。
96
+ - 远山剪影用 `▁▂▃▄▅` 按会话长度生长——时间感。
97
+
98
+ ### 2.3 CLI(线性)— 真彩 + 印章
99
+
100
+ - 真彩矿物色替换当前 `chalk.cyan` 单色。
101
+ - 欢迎横幅:六灵以各自矿物色 + 天气符号排布,当前灵加印章方框。
102
+ - Agent 切换:打印一枚朱砂印章(`▣ 霜`)作过场。
103
+ - 流式:复用 `chatStream`,`reasoning` 以淡墨斜体、正文焦墨、工具状态淡墨脉冲。
104
+
105
+ ---
106
+
107
+ ## 3. 标志性元素(辨识度锚点)
108
+
109
+ 1. **印章 (Seal)**:当前 Agent 的汉字以朱砂方框印章呈现——出现在 Web 角落、TUI 标题栏、CLI 切换过场、README badge。是品牌第一记忆点。
110
+ 2. **气象粒子**:六种天气动效是 Web 的灵魂,未来可做成 TUI 的字符粒子(ASCII 雨/雪)。
111
+ 3. **诗句**:每灵一句古诗,出现在侧栏/欢迎屏/空状态,是"克制的繁复"的体现。
112
+ 4. **天气符号集**:`≋ ☼`——跨端统一的 Agent 字形。
113
+
114
+ ---
115
+
116
+ ## 4. 品牌资产清单(P7.4)
117
+
118
+ - [ ] **Logo**:印章风 SVG("织"或"气象台"篆刻),亮/暗两版。
119
+ - [ ] **README hero**:六灵矿物色横幅 + 印章。
120
+ - [ ] **社交卡片** (og:image):水墨山影 + 六色梭。
121
+ - [ ] **截图/录屏**:TUI 流式 + Web 气象台切灵,放 `docs/`。
122
+ - [ ] **配色规范图**:六矿物色 + 纸墨色板。
123
+ - [ ] **favicon**:朱砂"晴"印。
124
+
125
+ ---
126
+
127
+ ## 5. 设计 token 落地(建议代码形态)
128
+
129
+ ```ts
130
+ // src/core/theme.ts 唯一事实源
131
+ export interface AgentTheme {
132
+ name: string; kanji: string; weather: string;
133
+ pigment: { name: string; hex: string; rgb: [number, number, number] };
134
+ poem: string; symbol: string; motion: string;
135
+ }
136
+ export const PALETTE = {
137
+ paper: "#f8f4ec", paperWarm: "#f3ede2",
138
+ inkDeep: "#1a1614", inkMid: "#3d3833", inkLight: "#8c8680", inkFaint: "#c4bfb8",
139
+ } as const;
140
+ export const AGENT_THEMES: Record<string, AgentTheme> = { /* 见 §1 表 */ };
141
+ // CLI: hex → chalk.hex(); TUI: → ANSI truecolor; Web: → CSS 变量注入
142
+ ```
143
+
144
+ > 一处改色,三端同步。这是把"美观"从一次性手艺变成**可维护的系统**的关键。
145
+
146
+ ---
147
+
148
+ ## 6. 不做什么
149
+
150
+ - 不引入重型前端框架(保持零依赖 Web,宣纸般轻)。
151
+ - 不把界面"洗白"成通用 SaaS 风。
152
+ - 不让动效喧宾夺主——气象是氛围,内容是主角。