cc-viewer 1.2.1 → 1.2.2

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 (493) hide show
  1. package/README.md +3 -1
  2. package/cli.js +7 -0
  3. package/concepts/ar/BodyDiffJSON.md +32 -0
  4. package/concepts/ar/CacheRebuild.md +40 -0
  5. package/concepts/ar/MainAgent.md +30 -0
  6. package/concepts/ar/Tool-AskUserQuestion.md +54 -0
  7. package/concepts/ar/Tool-Bash.md +47 -0
  8. package/concepts/ar/Tool-Edit.md +38 -0
  9. package/concepts/ar/Tool-EnterPlanMode.md +43 -0
  10. package/concepts/ar/Tool-ExitPlanMode.md +39 -0
  11. package/concepts/ar/Tool-Glob.md +34 -0
  12. package/concepts/ar/Tool-Grep.md +47 -0
  13. package/concepts/ar/Tool-NotebookEdit.md +33 -0
  14. package/concepts/ar/Tool-Read.md +41 -0
  15. package/concepts/ar/Tool-Skill.md +35 -0
  16. package/concepts/ar/Tool-Task.md +53 -0
  17. package/concepts/ar/Tool-TaskCreate.md +38 -0
  18. package/concepts/ar/Tool-TaskGet.md +35 -0
  19. package/concepts/ar/Tool-TaskList.md +36 -0
  20. package/concepts/ar/Tool-TaskOutput.md +34 -0
  21. package/concepts/ar/Tool-TaskStop.md +27 -0
  22. package/concepts/ar/Tool-TaskUpdate.md +49 -0
  23. package/concepts/ar/Tool-WebFetch.md +36 -0
  24. package/concepts/ar/Tool-WebSearch.md +32 -0
  25. package/concepts/ar/Tool-Write.md +32 -0
  26. package/concepts/ar/Tool-executeCode.md +33 -0
  27. package/concepts/ar/Tool-getDiagnostics.md +32 -0
  28. package/concepts/ar/Tools.md +73 -0
  29. package/concepts/ar/TranslateContextPollution.md +46 -0
  30. package/concepts/da/BodyDiffJSON.md +32 -0
  31. package/concepts/da/CacheRebuild.md +40 -0
  32. package/concepts/da/MainAgent.md +30 -0
  33. package/concepts/da/Tool-AskUserQuestion.md +54 -0
  34. package/concepts/da/Tool-Bash.md +47 -0
  35. package/concepts/da/Tool-Edit.md +38 -0
  36. package/concepts/da/Tool-EnterPlanMode.md +43 -0
  37. package/concepts/da/Tool-ExitPlanMode.md +39 -0
  38. package/concepts/da/Tool-Glob.md +34 -0
  39. package/concepts/da/Tool-Grep.md +47 -0
  40. package/concepts/da/Tool-NotebookEdit.md +33 -0
  41. package/concepts/da/Tool-Read.md +41 -0
  42. package/concepts/da/Tool-Skill.md +35 -0
  43. package/concepts/da/Tool-Task.md +53 -0
  44. package/concepts/da/Tool-TaskCreate.md +38 -0
  45. package/concepts/da/Tool-TaskGet.md +35 -0
  46. package/concepts/da/Tool-TaskList.md +36 -0
  47. package/concepts/da/Tool-TaskOutput.md +34 -0
  48. package/concepts/da/Tool-TaskStop.md +27 -0
  49. package/concepts/da/Tool-TaskUpdate.md +49 -0
  50. package/concepts/da/Tool-WebFetch.md +36 -0
  51. package/concepts/da/Tool-WebSearch.md +32 -0
  52. package/concepts/da/Tool-Write.md +32 -0
  53. package/concepts/da/Tool-executeCode.md +33 -0
  54. package/concepts/da/Tool-getDiagnostics.md +32 -0
  55. package/concepts/da/Tools.md +73 -0
  56. package/concepts/da/TranslateContextPollution.md +46 -0
  57. package/concepts/de/BodyDiffJSON.md +32 -0
  58. package/concepts/de/CacheRebuild.md +40 -0
  59. package/concepts/de/MainAgent.md +30 -0
  60. package/concepts/de/Tool-AskUserQuestion.md +54 -0
  61. package/concepts/de/Tool-Bash.md +47 -0
  62. package/concepts/de/Tool-Edit.md +38 -0
  63. package/concepts/de/Tool-EnterPlanMode.md +43 -0
  64. package/concepts/de/Tool-ExitPlanMode.md +39 -0
  65. package/concepts/de/Tool-Glob.md +34 -0
  66. package/concepts/de/Tool-Grep.md +47 -0
  67. package/concepts/de/Tool-NotebookEdit.md +33 -0
  68. package/concepts/de/Tool-Read.md +41 -0
  69. package/concepts/de/Tool-Skill.md +35 -0
  70. package/concepts/de/Tool-Task.md +53 -0
  71. package/concepts/de/Tool-TaskCreate.md +38 -0
  72. package/concepts/de/Tool-TaskGet.md +35 -0
  73. package/concepts/de/Tool-TaskList.md +36 -0
  74. package/concepts/de/Tool-TaskOutput.md +34 -0
  75. package/concepts/de/Tool-TaskStop.md +27 -0
  76. package/concepts/de/Tool-TaskUpdate.md +49 -0
  77. package/concepts/de/Tool-WebFetch.md +36 -0
  78. package/concepts/de/Tool-WebSearch.md +32 -0
  79. package/concepts/de/Tool-Write.md +32 -0
  80. package/concepts/de/Tool-executeCode.md +33 -0
  81. package/concepts/de/Tool-getDiagnostics.md +32 -0
  82. package/concepts/de/Tools.md +73 -0
  83. package/concepts/de/TranslateContextPollution.md +46 -0
  84. package/concepts/en/BodyDiffJSON.md +32 -0
  85. package/concepts/en/CacheRebuild.md +40 -0
  86. package/concepts/en/MainAgent.md +30 -0
  87. package/concepts/en/Tool-AskUserQuestion.md +54 -0
  88. package/concepts/en/Tool-Bash.md +47 -0
  89. package/concepts/en/Tool-Edit.md +38 -0
  90. package/concepts/en/Tool-EnterPlanMode.md +43 -0
  91. package/concepts/en/Tool-ExitPlanMode.md +39 -0
  92. package/concepts/en/Tool-Glob.md +34 -0
  93. package/concepts/en/Tool-Grep.md +47 -0
  94. package/concepts/en/Tool-NotebookEdit.md +33 -0
  95. package/concepts/en/Tool-Read.md +41 -0
  96. package/concepts/en/Tool-Skill.md +35 -0
  97. package/concepts/en/Tool-Task.md +53 -0
  98. package/concepts/en/Tool-TaskCreate.md +38 -0
  99. package/concepts/en/Tool-TaskGet.md +35 -0
  100. package/concepts/en/Tool-TaskList.md +36 -0
  101. package/concepts/en/Tool-TaskOutput.md +34 -0
  102. package/concepts/en/Tool-TaskStop.md +27 -0
  103. package/concepts/en/Tool-TaskUpdate.md +49 -0
  104. package/concepts/en/Tool-WebFetch.md +36 -0
  105. package/concepts/en/Tool-WebSearch.md +32 -0
  106. package/concepts/en/Tool-Write.md +32 -0
  107. package/concepts/en/Tool-executeCode.md +33 -0
  108. package/concepts/en/Tool-getDiagnostics.md +32 -0
  109. package/concepts/en/Tools.md +73 -0
  110. package/concepts/en/TranslateContextPollution.md +46 -0
  111. package/concepts/es/BodyDiffJSON.md +32 -0
  112. package/concepts/es/CacheRebuild.md +40 -0
  113. package/concepts/es/MainAgent.md +30 -0
  114. package/concepts/es/Tool-AskUserQuestion.md +54 -0
  115. package/concepts/es/Tool-Bash.md +47 -0
  116. package/concepts/es/Tool-Edit.md +38 -0
  117. package/concepts/es/Tool-EnterPlanMode.md +43 -0
  118. package/concepts/es/Tool-ExitPlanMode.md +39 -0
  119. package/concepts/es/Tool-Glob.md +34 -0
  120. package/concepts/es/Tool-Grep.md +47 -0
  121. package/concepts/es/Tool-NotebookEdit.md +33 -0
  122. package/concepts/es/Tool-Read.md +41 -0
  123. package/concepts/es/Tool-Skill.md +35 -0
  124. package/concepts/es/Tool-Task.md +53 -0
  125. package/concepts/es/Tool-TaskCreate.md +38 -0
  126. package/concepts/es/Tool-TaskGet.md +35 -0
  127. package/concepts/es/Tool-TaskList.md +36 -0
  128. package/concepts/es/Tool-TaskOutput.md +34 -0
  129. package/concepts/es/Tool-TaskStop.md +27 -0
  130. package/concepts/es/Tool-TaskUpdate.md +49 -0
  131. package/concepts/es/Tool-WebFetch.md +36 -0
  132. package/concepts/es/Tool-WebSearch.md +32 -0
  133. package/concepts/es/Tool-Write.md +32 -0
  134. package/concepts/es/Tool-executeCode.md +33 -0
  135. package/concepts/es/Tool-getDiagnostics.md +32 -0
  136. package/concepts/es/Tools.md +73 -0
  137. package/concepts/es/TranslateContextPollution.md +46 -0
  138. package/concepts/fr/BodyDiffJSON.md +32 -0
  139. package/concepts/fr/CacheRebuild.md +40 -0
  140. package/concepts/fr/MainAgent.md +30 -0
  141. package/concepts/fr/Tool-AskUserQuestion.md +54 -0
  142. package/concepts/fr/Tool-Bash.md +47 -0
  143. package/concepts/fr/Tool-Edit.md +38 -0
  144. package/concepts/fr/Tool-EnterPlanMode.md +43 -0
  145. package/concepts/fr/Tool-ExitPlanMode.md +39 -0
  146. package/concepts/fr/Tool-Glob.md +34 -0
  147. package/concepts/fr/Tool-Grep.md +47 -0
  148. package/concepts/fr/Tool-NotebookEdit.md +33 -0
  149. package/concepts/fr/Tool-Read.md +41 -0
  150. package/concepts/fr/Tool-Skill.md +35 -0
  151. package/concepts/fr/Tool-Task.md +53 -0
  152. package/concepts/fr/Tool-TaskCreate.md +38 -0
  153. package/concepts/fr/Tool-TaskGet.md +35 -0
  154. package/concepts/fr/Tool-TaskList.md +36 -0
  155. package/concepts/fr/Tool-TaskOutput.md +34 -0
  156. package/concepts/fr/Tool-TaskStop.md +27 -0
  157. package/concepts/fr/Tool-TaskUpdate.md +49 -0
  158. package/concepts/fr/Tool-WebFetch.md +36 -0
  159. package/concepts/fr/Tool-WebSearch.md +32 -0
  160. package/concepts/fr/Tool-Write.md +32 -0
  161. package/concepts/fr/Tool-executeCode.md +33 -0
  162. package/concepts/fr/Tool-getDiagnostics.md +32 -0
  163. package/concepts/fr/Tools.md +73 -0
  164. package/concepts/fr/TranslateContextPollution.md +46 -0
  165. package/concepts/it/BodyDiffJSON.md +32 -0
  166. package/concepts/it/CacheRebuild.md +40 -0
  167. package/concepts/it/MainAgent.md +30 -0
  168. package/concepts/it/Tool-AskUserQuestion.md +54 -0
  169. package/concepts/it/Tool-Bash.md +47 -0
  170. package/concepts/it/Tool-Edit.md +38 -0
  171. package/concepts/it/Tool-EnterPlanMode.md +43 -0
  172. package/concepts/it/Tool-ExitPlanMode.md +39 -0
  173. package/concepts/it/Tool-Glob.md +34 -0
  174. package/concepts/it/Tool-Grep.md +47 -0
  175. package/concepts/it/Tool-NotebookEdit.md +33 -0
  176. package/concepts/it/Tool-Read.md +41 -0
  177. package/concepts/it/Tool-Skill.md +35 -0
  178. package/concepts/it/Tool-Task.md +53 -0
  179. package/concepts/it/Tool-TaskCreate.md +38 -0
  180. package/concepts/it/Tool-TaskGet.md +35 -0
  181. package/concepts/it/Tool-TaskList.md +36 -0
  182. package/concepts/it/Tool-TaskOutput.md +34 -0
  183. package/concepts/it/Tool-TaskStop.md +27 -0
  184. package/concepts/it/Tool-TaskUpdate.md +49 -0
  185. package/concepts/it/Tool-WebFetch.md +36 -0
  186. package/concepts/it/Tool-WebSearch.md +32 -0
  187. package/concepts/it/Tool-Write.md +32 -0
  188. package/concepts/it/Tool-executeCode.md +33 -0
  189. package/concepts/it/Tool-getDiagnostics.md +32 -0
  190. package/concepts/it/Tools.md +73 -0
  191. package/concepts/it/TranslateContextPollution.md +46 -0
  192. package/concepts/ja/BodyDiffJSON.md +32 -0
  193. package/concepts/ja/CacheRebuild.md +40 -0
  194. package/concepts/ja/MainAgent.md +30 -0
  195. package/concepts/ja/Tool-AskUserQuestion.md +54 -0
  196. package/concepts/ja/Tool-Bash.md +47 -0
  197. package/concepts/ja/Tool-Edit.md +38 -0
  198. package/concepts/ja/Tool-EnterPlanMode.md +43 -0
  199. package/concepts/ja/Tool-ExitPlanMode.md +39 -0
  200. package/concepts/ja/Tool-Glob.md +34 -0
  201. package/concepts/ja/Tool-Grep.md +47 -0
  202. package/concepts/ja/Tool-NotebookEdit.md +33 -0
  203. package/concepts/ja/Tool-Read.md +41 -0
  204. package/concepts/ja/Tool-Skill.md +35 -0
  205. package/concepts/ja/Tool-Task.md +53 -0
  206. package/concepts/ja/Tool-TaskCreate.md +38 -0
  207. package/concepts/ja/Tool-TaskGet.md +35 -0
  208. package/concepts/ja/Tool-TaskList.md +36 -0
  209. package/concepts/ja/Tool-TaskOutput.md +34 -0
  210. package/concepts/ja/Tool-TaskStop.md +27 -0
  211. package/concepts/ja/Tool-TaskUpdate.md +49 -0
  212. package/concepts/ja/Tool-WebFetch.md +36 -0
  213. package/concepts/ja/Tool-WebSearch.md +32 -0
  214. package/concepts/ja/Tool-Write.md +32 -0
  215. package/concepts/ja/Tool-executeCode.md +33 -0
  216. package/concepts/ja/Tool-getDiagnostics.md +32 -0
  217. package/concepts/ja/Tools.md +73 -0
  218. package/concepts/ja/TranslateContextPollution.md +46 -0
  219. package/concepts/ko/BodyDiffJSON.md +32 -0
  220. package/concepts/ko/CacheRebuild.md +40 -0
  221. package/concepts/ko/MainAgent.md +30 -0
  222. package/concepts/ko/Tool-AskUserQuestion.md +54 -0
  223. package/concepts/ko/Tool-Bash.md +47 -0
  224. package/concepts/ko/Tool-Edit.md +38 -0
  225. package/concepts/ko/Tool-EnterPlanMode.md +43 -0
  226. package/concepts/ko/Tool-ExitPlanMode.md +39 -0
  227. package/concepts/ko/Tool-Glob.md +34 -0
  228. package/concepts/ko/Tool-Grep.md +47 -0
  229. package/concepts/ko/Tool-NotebookEdit.md +33 -0
  230. package/concepts/ko/Tool-Read.md +41 -0
  231. package/concepts/ko/Tool-Skill.md +35 -0
  232. package/concepts/ko/Tool-Task.md +53 -0
  233. package/concepts/ko/Tool-TaskCreate.md +38 -0
  234. package/concepts/ko/Tool-TaskGet.md +35 -0
  235. package/concepts/ko/Tool-TaskList.md +36 -0
  236. package/concepts/ko/Tool-TaskOutput.md +34 -0
  237. package/concepts/ko/Tool-TaskStop.md +27 -0
  238. package/concepts/ko/Tool-TaskUpdate.md +49 -0
  239. package/concepts/ko/Tool-WebFetch.md +36 -0
  240. package/concepts/ko/Tool-WebSearch.md +32 -0
  241. package/concepts/ko/Tool-Write.md +32 -0
  242. package/concepts/ko/Tool-executeCode.md +33 -0
  243. package/concepts/ko/Tool-getDiagnostics.md +32 -0
  244. package/concepts/ko/Tools.md +73 -0
  245. package/concepts/ko/TranslateContextPollution.md +46 -0
  246. package/concepts/no/BodyDiffJSON.md +32 -0
  247. package/concepts/no/CacheRebuild.md +40 -0
  248. package/concepts/no/MainAgent.md +30 -0
  249. package/concepts/no/Tool-AskUserQuestion.md +54 -0
  250. package/concepts/no/Tool-Bash.md +47 -0
  251. package/concepts/no/Tool-Edit.md +38 -0
  252. package/concepts/no/Tool-EnterPlanMode.md +43 -0
  253. package/concepts/no/Tool-ExitPlanMode.md +39 -0
  254. package/concepts/no/Tool-Glob.md +34 -0
  255. package/concepts/no/Tool-Grep.md +47 -0
  256. package/concepts/no/Tool-NotebookEdit.md +33 -0
  257. package/concepts/no/Tool-Read.md +41 -0
  258. package/concepts/no/Tool-Skill.md +35 -0
  259. package/concepts/no/Tool-Task.md +53 -0
  260. package/concepts/no/Tool-TaskCreate.md +38 -0
  261. package/concepts/no/Tool-TaskGet.md +35 -0
  262. package/concepts/no/Tool-TaskList.md +36 -0
  263. package/concepts/no/Tool-TaskOutput.md +34 -0
  264. package/concepts/no/Tool-TaskStop.md +27 -0
  265. package/concepts/no/Tool-TaskUpdate.md +49 -0
  266. package/concepts/no/Tool-WebFetch.md +36 -0
  267. package/concepts/no/Tool-WebSearch.md +32 -0
  268. package/concepts/no/Tool-Write.md +32 -0
  269. package/concepts/no/Tool-executeCode.md +33 -0
  270. package/concepts/no/Tool-getDiagnostics.md +32 -0
  271. package/concepts/no/Tools.md +73 -0
  272. package/concepts/no/TranslateContextPollution.md +46 -0
  273. package/concepts/pl/BodyDiffJSON.md +32 -0
  274. package/concepts/pl/CacheRebuild.md +40 -0
  275. package/concepts/pl/MainAgent.md +30 -0
  276. package/concepts/pl/Tool-AskUserQuestion.md +54 -0
  277. package/concepts/pl/Tool-Bash.md +47 -0
  278. package/concepts/pl/Tool-Edit.md +38 -0
  279. package/concepts/pl/Tool-EnterPlanMode.md +43 -0
  280. package/concepts/pl/Tool-ExitPlanMode.md +39 -0
  281. package/concepts/pl/Tool-Glob.md +34 -0
  282. package/concepts/pl/Tool-Grep.md +47 -0
  283. package/concepts/pl/Tool-NotebookEdit.md +33 -0
  284. package/concepts/pl/Tool-Read.md +41 -0
  285. package/concepts/pl/Tool-Skill.md +35 -0
  286. package/concepts/pl/Tool-Task.md +53 -0
  287. package/concepts/pl/Tool-TaskCreate.md +38 -0
  288. package/concepts/pl/Tool-TaskGet.md +35 -0
  289. package/concepts/pl/Tool-TaskList.md +36 -0
  290. package/concepts/pl/Tool-TaskOutput.md +34 -0
  291. package/concepts/pl/Tool-TaskStop.md +27 -0
  292. package/concepts/pl/Tool-TaskUpdate.md +49 -0
  293. package/concepts/pl/Tool-WebFetch.md +36 -0
  294. package/concepts/pl/Tool-WebSearch.md +32 -0
  295. package/concepts/pl/Tool-Write.md +32 -0
  296. package/concepts/pl/Tool-executeCode.md +33 -0
  297. package/concepts/pl/Tool-getDiagnostics.md +32 -0
  298. package/concepts/pl/Tools.md +73 -0
  299. package/concepts/pl/TranslateContextPollution.md +46 -0
  300. package/concepts/pt-BR/BodyDiffJSON.md +32 -0
  301. package/concepts/pt-BR/CacheRebuild.md +40 -0
  302. package/concepts/pt-BR/MainAgent.md +30 -0
  303. package/concepts/pt-BR/Tool-AskUserQuestion.md +54 -0
  304. package/concepts/pt-BR/Tool-Bash.md +47 -0
  305. package/concepts/pt-BR/Tool-Edit.md +38 -0
  306. package/concepts/pt-BR/Tool-EnterPlanMode.md +43 -0
  307. package/concepts/pt-BR/Tool-ExitPlanMode.md +39 -0
  308. package/concepts/pt-BR/Tool-Glob.md +34 -0
  309. package/concepts/pt-BR/Tool-Grep.md +47 -0
  310. package/concepts/pt-BR/Tool-NotebookEdit.md +33 -0
  311. package/concepts/pt-BR/Tool-Read.md +41 -0
  312. package/concepts/pt-BR/Tool-Skill.md +35 -0
  313. package/concepts/pt-BR/Tool-Task.md +53 -0
  314. package/concepts/pt-BR/Tool-TaskCreate.md +38 -0
  315. package/concepts/pt-BR/Tool-TaskGet.md +35 -0
  316. package/concepts/pt-BR/Tool-TaskList.md +36 -0
  317. package/concepts/pt-BR/Tool-TaskOutput.md +34 -0
  318. package/concepts/pt-BR/Tool-TaskStop.md +27 -0
  319. package/concepts/pt-BR/Tool-TaskUpdate.md +49 -0
  320. package/concepts/pt-BR/Tool-WebFetch.md +36 -0
  321. package/concepts/pt-BR/Tool-WebSearch.md +32 -0
  322. package/concepts/pt-BR/Tool-Write.md +32 -0
  323. package/concepts/pt-BR/Tool-executeCode.md +33 -0
  324. package/concepts/pt-BR/Tool-getDiagnostics.md +32 -0
  325. package/concepts/pt-BR/Tools.md +73 -0
  326. package/concepts/pt-BR/TranslateContextPollution.md +46 -0
  327. package/concepts/ru/BodyDiffJSON.md +32 -0
  328. package/concepts/ru/CacheRebuild.md +40 -0
  329. package/concepts/ru/MainAgent.md +30 -0
  330. package/concepts/ru/Tool-AskUserQuestion.md +54 -0
  331. package/concepts/ru/Tool-Bash.md +47 -0
  332. package/concepts/ru/Tool-Edit.md +38 -0
  333. package/concepts/ru/Tool-EnterPlanMode.md +43 -0
  334. package/concepts/ru/Tool-ExitPlanMode.md +39 -0
  335. package/concepts/ru/Tool-Glob.md +34 -0
  336. package/concepts/ru/Tool-Grep.md +47 -0
  337. package/concepts/ru/Tool-NotebookEdit.md +33 -0
  338. package/concepts/ru/Tool-Read.md +41 -0
  339. package/concepts/ru/Tool-Skill.md +35 -0
  340. package/concepts/ru/Tool-Task.md +53 -0
  341. package/concepts/ru/Tool-TaskCreate.md +38 -0
  342. package/concepts/ru/Tool-TaskGet.md +35 -0
  343. package/concepts/ru/Tool-TaskList.md +36 -0
  344. package/concepts/ru/Tool-TaskOutput.md +34 -0
  345. package/concepts/ru/Tool-TaskStop.md +27 -0
  346. package/concepts/ru/Tool-TaskUpdate.md +49 -0
  347. package/concepts/ru/Tool-WebFetch.md +36 -0
  348. package/concepts/ru/Tool-WebSearch.md +32 -0
  349. package/concepts/ru/Tool-Write.md +32 -0
  350. package/concepts/ru/Tool-executeCode.md +33 -0
  351. package/concepts/ru/Tool-getDiagnostics.md +32 -0
  352. package/concepts/ru/Tools.md +73 -0
  353. package/concepts/ru/TranslateContextPollution.md +46 -0
  354. package/concepts/th/BodyDiffJSON.md +32 -0
  355. package/concepts/th/CacheRebuild.md +40 -0
  356. package/concepts/th/MainAgent.md +30 -0
  357. package/concepts/th/Tool-AskUserQuestion.md +54 -0
  358. package/concepts/th/Tool-Bash.md +47 -0
  359. package/concepts/th/Tool-Edit.md +38 -0
  360. package/concepts/th/Tool-EnterPlanMode.md +43 -0
  361. package/concepts/th/Tool-ExitPlanMode.md +39 -0
  362. package/concepts/th/Tool-Glob.md +34 -0
  363. package/concepts/th/Tool-Grep.md +47 -0
  364. package/concepts/th/Tool-NotebookEdit.md +33 -0
  365. package/concepts/th/Tool-Read.md +41 -0
  366. package/concepts/th/Tool-Skill.md +35 -0
  367. package/concepts/th/Tool-Task.md +53 -0
  368. package/concepts/th/Tool-TaskCreate.md +38 -0
  369. package/concepts/th/Tool-TaskGet.md +35 -0
  370. package/concepts/th/Tool-TaskList.md +36 -0
  371. package/concepts/th/Tool-TaskOutput.md +34 -0
  372. package/concepts/th/Tool-TaskStop.md +27 -0
  373. package/concepts/th/Tool-TaskUpdate.md +49 -0
  374. package/concepts/th/Tool-WebFetch.md +36 -0
  375. package/concepts/th/Tool-WebSearch.md +32 -0
  376. package/concepts/th/Tool-Write.md +32 -0
  377. package/concepts/th/Tool-executeCode.md +33 -0
  378. package/concepts/th/Tool-getDiagnostics.md +32 -0
  379. package/concepts/th/Tools.md +73 -0
  380. package/concepts/th/TranslateContextPollution.md +46 -0
  381. package/concepts/tr/BodyDiffJSON.md +32 -0
  382. package/concepts/tr/CacheRebuild.md +40 -0
  383. package/concepts/tr/MainAgent.md +30 -0
  384. package/concepts/tr/Tool-AskUserQuestion.md +54 -0
  385. package/concepts/tr/Tool-Bash.md +47 -0
  386. package/concepts/tr/Tool-Edit.md +38 -0
  387. package/concepts/tr/Tool-EnterPlanMode.md +43 -0
  388. package/concepts/tr/Tool-ExitPlanMode.md +39 -0
  389. package/concepts/tr/Tool-Glob.md +34 -0
  390. package/concepts/tr/Tool-Grep.md +47 -0
  391. package/concepts/tr/Tool-NotebookEdit.md +33 -0
  392. package/concepts/tr/Tool-Read.md +41 -0
  393. package/concepts/tr/Tool-Skill.md +35 -0
  394. package/concepts/tr/Tool-Task.md +53 -0
  395. package/concepts/tr/Tool-TaskCreate.md +38 -0
  396. package/concepts/tr/Tool-TaskGet.md +35 -0
  397. package/concepts/tr/Tool-TaskList.md +36 -0
  398. package/concepts/tr/Tool-TaskOutput.md +34 -0
  399. package/concepts/tr/Tool-TaskStop.md +27 -0
  400. package/concepts/tr/Tool-TaskUpdate.md +49 -0
  401. package/concepts/tr/Tool-WebFetch.md +36 -0
  402. package/concepts/tr/Tool-WebSearch.md +32 -0
  403. package/concepts/tr/Tool-Write.md +32 -0
  404. package/concepts/tr/Tool-executeCode.md +33 -0
  405. package/concepts/tr/Tool-getDiagnostics.md +32 -0
  406. package/concepts/tr/Tools.md +73 -0
  407. package/concepts/tr/TranslateContextPollution.md +46 -0
  408. package/concepts/uk/BodyDiffJSON.md +32 -0
  409. package/concepts/uk/CacheRebuild.md +40 -0
  410. package/concepts/uk/MainAgent.md +30 -0
  411. package/concepts/uk/Tool-AskUserQuestion.md +54 -0
  412. package/concepts/uk/Tool-Bash.md +47 -0
  413. package/concepts/uk/Tool-Edit.md +38 -0
  414. package/concepts/uk/Tool-EnterPlanMode.md +43 -0
  415. package/concepts/uk/Tool-ExitPlanMode.md +39 -0
  416. package/concepts/uk/Tool-Glob.md +34 -0
  417. package/concepts/uk/Tool-Grep.md +47 -0
  418. package/concepts/uk/Tool-NotebookEdit.md +33 -0
  419. package/concepts/uk/Tool-Read.md +41 -0
  420. package/concepts/uk/Tool-Skill.md +35 -0
  421. package/concepts/uk/Tool-Task.md +53 -0
  422. package/concepts/uk/Tool-TaskCreate.md +38 -0
  423. package/concepts/uk/Tool-TaskGet.md +35 -0
  424. package/concepts/uk/Tool-TaskList.md +36 -0
  425. package/concepts/uk/Tool-TaskOutput.md +34 -0
  426. package/concepts/uk/Tool-TaskStop.md +27 -0
  427. package/concepts/uk/Tool-TaskUpdate.md +49 -0
  428. package/concepts/uk/Tool-WebFetch.md +36 -0
  429. package/concepts/uk/Tool-WebSearch.md +32 -0
  430. package/concepts/uk/Tool-Write.md +32 -0
  431. package/concepts/uk/Tool-executeCode.md +33 -0
  432. package/concepts/uk/Tool-getDiagnostics.md +32 -0
  433. package/concepts/uk/Tools.md +73 -0
  434. package/concepts/uk/TranslateContextPollution.md +46 -0
  435. package/concepts/zh/BodyDiffJSON.md +32 -0
  436. package/concepts/zh/CacheRebuild.md +40 -0
  437. package/concepts/zh/MainAgent.md +30 -0
  438. package/concepts/zh/Tool-AskUserQuestion.md +54 -0
  439. package/concepts/zh/Tool-Bash.md +47 -0
  440. package/concepts/zh/Tool-Edit.md +38 -0
  441. package/concepts/zh/Tool-EnterPlanMode.md +43 -0
  442. package/concepts/zh/Tool-ExitPlanMode.md +39 -0
  443. package/concepts/zh/Tool-Glob.md +34 -0
  444. package/concepts/zh/Tool-Grep.md +47 -0
  445. package/concepts/zh/Tool-NotebookEdit.md +33 -0
  446. package/concepts/zh/Tool-Read.md +41 -0
  447. package/concepts/zh/Tool-Skill.md +35 -0
  448. package/concepts/zh/Tool-Task.md +53 -0
  449. package/concepts/zh/Tool-TaskCreate.md +38 -0
  450. package/concepts/zh/Tool-TaskGet.md +35 -0
  451. package/concepts/zh/Tool-TaskList.md +36 -0
  452. package/concepts/zh/Tool-TaskOutput.md +34 -0
  453. package/concepts/zh/Tool-TaskStop.md +27 -0
  454. package/concepts/zh/Tool-TaskUpdate.md +49 -0
  455. package/concepts/zh/Tool-WebFetch.md +36 -0
  456. package/concepts/zh/Tool-WebSearch.md +32 -0
  457. package/concepts/zh/Tool-Write.md +32 -0
  458. package/concepts/zh/Tool-executeCode.md +33 -0
  459. package/concepts/zh/Tool-getDiagnostics.md +32 -0
  460. package/concepts/zh/Tools.md +73 -0
  461. package/concepts/zh/TranslateContextPollution.md +47 -0
  462. package/concepts/zh-TW/BodyDiffJSON.md +32 -0
  463. package/concepts/zh-TW/CacheRebuild.md +40 -0
  464. package/concepts/zh-TW/MainAgent.md +30 -0
  465. package/concepts/zh-TW/Tool-AskUserQuestion.md +54 -0
  466. package/concepts/zh-TW/Tool-Bash.md +47 -0
  467. package/concepts/zh-TW/Tool-Edit.md +38 -0
  468. package/concepts/zh-TW/Tool-EnterPlanMode.md +43 -0
  469. package/concepts/zh-TW/Tool-ExitPlanMode.md +39 -0
  470. package/concepts/zh-TW/Tool-Glob.md +34 -0
  471. package/concepts/zh-TW/Tool-Grep.md +47 -0
  472. package/concepts/zh-TW/Tool-NotebookEdit.md +33 -0
  473. package/concepts/zh-TW/Tool-Read.md +41 -0
  474. package/concepts/zh-TW/Tool-Skill.md +35 -0
  475. package/concepts/zh-TW/Tool-Task.md +53 -0
  476. package/concepts/zh-TW/Tool-TaskCreate.md +38 -0
  477. package/concepts/zh-TW/Tool-TaskGet.md +35 -0
  478. package/concepts/zh-TW/Tool-TaskList.md +36 -0
  479. package/concepts/zh-TW/Tool-TaskOutput.md +34 -0
  480. package/concepts/zh-TW/Tool-TaskStop.md +27 -0
  481. package/concepts/zh-TW/Tool-TaskUpdate.md +49 -0
  482. package/concepts/zh-TW/Tool-WebFetch.md +36 -0
  483. package/concepts/zh-TW/Tool-WebSearch.md +32 -0
  484. package/concepts/zh-TW/Tool-Write.md +32 -0
  485. package/concepts/zh-TW/Tool-executeCode.md +33 -0
  486. package/concepts/zh-TW/Tool-getDiagnostics.md +32 -0
  487. package/concepts/zh-TW/Tools.md +73 -0
  488. package/concepts/zh-TW/TranslateContextPollution.md +46 -0
  489. package/dist/assets/{index-DjCjusqk.js → index-CSuPDSgh.js} +45 -45
  490. package/dist/index.html +1 -1
  491. package/interceptor.js +19 -4
  492. package/package.json +3 -2
  493. package/server.js +15 -14
@@ -0,0 +1,32 @@
1
+ # WebSearch
2
+
3
+ ## 定义
4
+
5
+ 执行搜索引擎查询,返回搜索结果用于获取最新信息。
6
+
7
+ ## 参数
8
+
9
+ | 参数 | 类型 | 必填 | 说明 |
10
+ |------|------|------|------|
11
+ | `query` | string | 是 | 搜索查询(最少 2 个字符) |
12
+ | `allowed_domains` | string[] | 否 | 仅包含这些域名的结果 |
13
+ | `blocked_domains` | string[] | 否 | 排除这些域名的结果 |
14
+
15
+ ## 使用场景
16
+
17
+ **适合使用:**
18
+ - 获取超出模型知识截止日期的最新信息
19
+ - 查找当前事件和最新数据
20
+ - 搜索最新的技术文档
21
+
22
+ ## 注意事项
23
+
24
+ - 搜索结果以 markdown 超链接格式返回
25
+ - 使用后必须在响应末尾附上 "Sources:" 部分,列出相关 URL
26
+ - 支持域名过滤(包含/排除)
27
+ - 搜索查询中应使用当前年份
28
+ - 仅在美国可用
29
+
30
+ ## 在 cc-viewer 中的意义
31
+
32
+ WebSearch 调用在请求日志中表现为 `tool_use` / `tool_result` content block 对。`tool_result` 包含搜索结果列表。
@@ -0,0 +1,32 @@
1
+ # Write
2
+
3
+ ## 定义
4
+
5
+ 将内容写入本地文件系统。如果文件已存在则覆盖。
6
+
7
+ ## 参数
8
+
9
+ | 参数 | 类型 | 必填 | 说明 |
10
+ |------|------|------|------|
11
+ | `file_path` | string | 是 | 文件的绝对路径(必须是绝对路径) |
12
+ | `content` | string | 是 | 要写入的内容 |
13
+
14
+ ## 使用场景
15
+
16
+ **适合使用:**
17
+ - 创建新文件
18
+ - 需要完全重写文件内容时
19
+
20
+ **不适合使用:**
21
+ - 修改文件中的局部内容——应使用 Edit
22
+ - 不应主动创建文档文件(*.md)或 README,除非用户明确要求
23
+
24
+ ## 注意事项
25
+
26
+ - 如果目标文件已存在,必须先通过 Read 读取,否则会失败
27
+ - 会覆盖已有文件的全部内容
28
+ - 优先使用 Edit 编辑现有文件,Write 仅用于创建新文件或完全重写
29
+
30
+ ## 在 cc-viewer 中的意义
31
+
32
+ Write 调用在请求日志中表现为 `tool_use` content block,其 `input.content` 包含写入的完整内容。
@@ -0,0 +1,33 @@
1
+ # executeCode (mcp__ide__executeCode)
2
+
3
+ ## 定义
4
+
5
+ 在当前 notebook 文件的 Jupyter kernel 中执行 Python 代码。
6
+
7
+ ## 参数
8
+
9
+ | 参数 | 类型 | 必填 | 说明 |
10
+ |------|------|------|------|
11
+ | `code` | string | 是 | 要执行的 Python 代码 |
12
+
13
+ ## 使用场景
14
+
15
+ **适合使用:**
16
+ - 在 Jupyter notebook 环境中执行代码
17
+ - 测试代码片段
18
+ - 数据分析和计算
19
+
20
+ **不适合使用:**
21
+ - 非 Jupyter 环境的代码执行——应使用 Bash
22
+ - 修改文件——应使用 Edit 或 Write
23
+
24
+ ## 注意事项
25
+
26
+ - 这是一个 MCP(Model Context Protocol)工具,由 IDE 集成提供
27
+ - 代码在当前 Jupyter kernel 中执行,状态在调用间持久化
28
+ - 除非用户明确要求,应避免声明变量或修改 kernel 状态
29
+ - kernel 重启后状态会丢失
30
+
31
+ ## 在 cc-viewer 中的意义
32
+
33
+ executeCode 是 MCP 工具,在请求日志的 `tools` 数组中以 `mcp__ide__executeCode` 名称出现。其调用和返回遵循标准的 `tool_use` / `tool_result` 模式。MCP 工具的增减会导致 tools 数组变化,可能触发缓存重建。
@@ -0,0 +1,32 @@
1
+ # getDiagnostics (mcp__ide__getDiagnostics)
2
+
3
+ ## 定义
4
+
5
+ 从 VS Code 获取语言诊断信息,包括语法错误、类型错误、lint 警告等。
6
+
7
+ ## 参数
8
+
9
+ | 参数 | 类型 | 必填 | 说明 |
10
+ |------|------|------|------|
11
+ | `uri` | string | 否 | 文件 URI。不提供则获取所有文件的诊断信息 |
12
+
13
+ ## 使用场景
14
+
15
+ **适合使用:**
16
+ - 检查代码的语法、类型、lint 等语义问题
17
+ - 编辑代码后验证是否引入了新错误
18
+ - 替代 Bash 命令来检查代码质量
19
+
20
+ **不适合使用:**
21
+ - 运行测试——应使用 Bash
22
+ - 检查运行时错误——应使用 Bash 执行代码
23
+
24
+ ## 注意事项
25
+
26
+ - 这是一个 MCP(Model Context Protocol)工具,由 IDE 集成提供
27
+ - 仅在 VS Code / IDE 环境中可用
28
+ - 优先使用此工具而非 Bash 命令来检查代码问题
29
+
30
+ ## 在 cc-viewer 中的意义
31
+
32
+ getDiagnostics 是 MCP 工具,在请求日志的 `tools` 数组中以 `mcp__ide__getDiagnostics` 名称出现。其调用和返回遵循标准的 `tool_use` / `tool_result` 模式。MCP 工具的增减会导致 tools 数组变化,可能触发缓存重建。
@@ -0,0 +1,73 @@
1
+ # Claude Code 工具一览
2
+
3
+ Claude Code 通过 Anthropic API 的 tool_use 机制向模型提供一组内置工具。每次 MainAgent 请求的 `tools` 数组中包含这些工具的完整 JSON Schema 定义,模型在响应中通过 `tool_use` content block 调用它们。
4
+
5
+ 以下是全部工具的分类索引。
6
+
7
+ ## Agent 系统
8
+
9
+ | 工具 | 用途 |
10
+ |------|------|
11
+ | [Task](Tool-Task.md) | 启动子 agent(SubAgent)处理复杂多步骤任务 |
12
+ | [TaskOutput](Tool-TaskOutput.md) | 获取后台任务的输出 |
13
+ | [TaskStop](Tool-TaskStop.md) | 停止正在运行的后台任务 |
14
+ | [TaskCreate](Tool-TaskCreate.md) | 创建结构化任务列表条目 |
15
+ | [TaskGet](Tool-TaskGet.md) | 获取任务详情 |
16
+ | [TaskUpdate](Tool-TaskUpdate.md) | 更新任务状态、依赖关系等 |
17
+ | [TaskList](Tool-TaskList.md) | 列出所有任务 |
18
+
19
+ ## 文件操作
20
+
21
+ | 工具 | 用途 |
22
+ |------|------|
23
+ | [Read](Tool-Read.md) | 读取文件内容(支持文本、图片、PDF、Jupyter notebook) |
24
+ | [Edit](Tool-Edit.md) | 通过精确字符串替换编辑文件 |
25
+ | [Write](Tool-Write.md) | 写入或覆盖文件 |
26
+ | [NotebookEdit](Tool-NotebookEdit.md) | 编辑 Jupyter notebook 单元格 |
27
+
28
+ ## 搜索
29
+
30
+ | 工具 | 用途 |
31
+ |------|------|
32
+ | [Glob](Tool-Glob.md) | 按文件名模式匹配搜索文件 |
33
+ | [Grep](Tool-Grep.md) | 基于 ripgrep 的文件内容搜索 |
34
+
35
+ ## 终端
36
+
37
+ | 工具 | 用途 |
38
+ |------|------|
39
+ | [Bash](Tool-Bash.md) | 执行 shell 命令 |
40
+
41
+ ## Web
42
+
43
+ | 工具 | 用途 |
44
+ |------|------|
45
+ | [WebFetch](Tool-WebFetch.md) | 抓取网页内容并用 AI 处理 |
46
+ | [WebSearch](Tool-WebSearch.md) | 搜索引擎查询 |
47
+
48
+ ## 规划与交互
49
+
50
+ | 工具 | 用途 |
51
+ |------|------|
52
+ | [EnterPlanMode](Tool-EnterPlanMode.md) | 进入规划模式,设计实施方案 |
53
+ | [ExitPlanMode](Tool-ExitPlanMode.md) | 退出规划模式并提交方案供用户审批 |
54
+ | [AskUserQuestion](Tool-AskUserQuestion.md) | 向用户提问以获取澄清或决策 |
55
+
56
+ ## 扩展
57
+
58
+ | 工具 | 用途 |
59
+ |------|------|
60
+ | [Skill](Tool-Skill.md) | 执行技能(slash command) |
61
+
62
+ ## IDE 集成
63
+
64
+ | 工具 | 用途 |
65
+ |------|------|
66
+ | [getDiagnostics](Tool-getDiagnostics.md) | 获取 VS Code 语言诊断信息 |
67
+ | [executeCode](Tool-executeCode.md) | 在 Jupyter kernel 中执行代码 |
68
+
69
+ ## 在 cc-viewer 中的意义
70
+
71
+ 工具调用是 Claude Code 请求日志中最核心的可观测数据之一。每个 MainAgent 请求的 `tools` 数组定义了模型可用的工具集,而响应中的 `tool_use` / `tool_result` content block 记录了实际的工具调用与返回。cc-viewer 通过解析这些数据,在 Chat Mode 中还原完整的工具调用链路。
72
+
73
+ 工具定义的变化(如 MCP server 连接/断开导致工具增减)会触发缓存重建,详见 [CacheRebuild](CacheRebuild.md)。
@@ -0,0 +1,47 @@
1
+ # 翻译接口 Context 污染问题
2
+
3
+ ## 背景
4
+
5
+ CC-Viewer 内置了翻译功能(`POST /api/translate`),通过调用 Anthropic Messages API 实现文本翻译。在早期实现中,翻译请求会复用 Claude Code 会话中缓存的认证凭据——包括 `x-api-key` 和 `authorization` header。这导致了一个隐蔽但严重的问题:翻译结果频繁"答非所问"。
6
+
7
+ ## 问题根因
8
+
9
+ ### 两种认证方式的本质区别
10
+
11
+ Anthropic API 支持两种认证方式:
12
+
13
+ | 方式 | Header | 典型来源 | 特点 |
14
+ |------|--------|----------|------|
15
+ | API Key | `x-api-key: sk-ant-...` | 环境变量 / Console 生成 | 无状态,每次请求独立 |
16
+ | OAuth Token | `authorization: Bearer sessionToken` | Claude Code 订阅登录 | 绑定会话,服务端维护上下文关联 |
17
+
18
+ 关键差异在于:**API Key 是无状态的**,每个请求完全独立;而 **OAuth session token 是有状态的**,Anthropic 服务端会将同一 token 的请求关联到同一会话上下文中。
19
+
20
+ ### 污染链路
21
+
22
+ 当 Claude Code 使用订阅 OAuth 登录时,认证流程如下:
23
+
24
+ ```
25
+ Claude Code 主对话 ──(authorization: Bearer sessionToken)──→ Anthropic API
26
+
27
+ CC-Viewer 翻译请求 ──(authorization: Bearer sessionToken)──→ Anthropic API
28
+ ```
29
+
30
+ 由于翻译请求复用了同一个 session token,Anthropic 服务端可能将翻译请求与 Claude Code 的主对话关联到同一上下文。这会导致:
31
+
32
+ 1. **翻译结果受主对话上下文影响**:翻译请求的 system prompt 是"你是一个翻译器",但服务端上下文中还残留着 Claude Code 的对话历史,模型可能受到干扰
33
+ 2. **主对话受翻译请求干扰**:翻译请求的内容(用户界面文本片段)可能被注入到主对话的上下文中,导致 Claude Code 的回复出现偏差
34
+ 3. **不可预测的行为**:由于上下文污染是服务端行为,客户端无法感知也无法控制
35
+
36
+
37
+ ## 经验总结
38
+
39
+ - **OAuth session token 不是"另一种 API Key"**——它携带服务端状态,复用它等于共享上下文
40
+ - **内部服务间调用应使用独立的、无状态的认证方式**,避免与用户会话产生关联
41
+
42
+ ## 参考资料
43
+
44
+ - [Anthropic API 认证文档](https://docs.anthropic.com/en/api/getting-started) — `x-api-key` 与 `authorization` header 的官方说明
45
+ - [Claude Code 认证方式](https://support.claude.com/en/articles/12304248-managing-api-key-environment-variables-in-claude-code) — API Key 环境变量管理
46
+ - [Anthropic 禁止第三方应用使用订阅 OAuth](https://winbuzzer.com/2026/02/19/anthropic-bans-claude-subscription-oauth-in-third-party-apps-xcxwbn/) — Anthropic 对 OAuth token 使用范围的限制
47
+ - [Claude Code Authentication: API Keys, Subscriptions, and SSO](https://developertoolkit.ai/en/claude-code/quick-start/authentication/) — 认证方式对比
@@ -0,0 +1,32 @@
1
+ # Body Diff JSON(請求體增量對比)
2
+
3
+ ## 背景
4
+
5
+ Claude Code 的 MainAgent 採用全量上下文發送機制——每次請求都會攜帶完整的對話歷史、system prompt、工具定義等內容。這意味著隨著對話推進,請求體會越來越龐大,直接查看原始 Body 很難快速定位「這一輪到底新增了什麼」。
6
+
7
+ Body Diff JSON 正是為了解決這個問題:它自動對比前後兩個 MainAgent 請求的 body,提煉出增量部分,讓你一眼看清本次請求實際新增的內容。
8
+
9
+ ## 工作原理
10
+
11
+ 1. **識別連續的 MainAgent 請求**:當前請求必須是 MainAgent 類型,且存在上一個 MainAgent 請求
12
+ 2. **逐欄位對比**:遍歷請求體的所有頂層欄位,跳過 `_` 前綴的內部屬性
13
+ 3. **智慧差異提取**:
14
+ - 新增的欄位:直接展示
15
+ - 刪除的欄位:不顯示(通常不影響理解)
16
+ - 變更的欄位:展示當前值
17
+ - `messages` 陣列特殊處理:只展示新增的訊息(因為正常對話是追加模式,前綴訊息不變)
18
+ 4. **請求體縮小偵測**:如果當前請求體比上一個更小,說明發生了上下文截斷或會話重置,此時會顯示提示訊息而非 diff
19
+
20
+ ## 典型場景
21
+
22
+ 在一輪正常對話中,Body Diff JSON 通常只包含:
23
+ - `messages`:新增的 1~2 條訊息(使用者的輸入 + 上一輪助手的回覆)
24
+
25
+ 如果你看到 diff 中出現了 `system`、`tools`、`model` 等欄位的變更,說明本輪請求發生了配置變化,這往往也是快取重建的原因。
26
+
27
+ ## 使用方式
28
+
29
+ - Body Diff JSON 顯示在 MainAgent 請求的詳情面板中
30
+ - 點擊標題可展開/收起
31
+ - 支援 JSON 和 Text 兩種查看模式,以及一鍵複製
32
+ - 在左上角 **CC-Viewer → 全域設定** 中,可以設定「預設展開 Body Diff JSON」
@@ -0,0 +1,40 @@
1
+ # Cache Rebuild(快取重建)
2
+
3
+ ## 背景
4
+
5
+ Anthropic 的 prompt caching 機制會將請求中的 system → tools → messages(到 cache breakpoint)按順序拼接為快取鍵。當快取鍵與上一次請求完全一致時,API 回傳 `cache_read_input_tokens`(快取命中);當快取鍵發生變化,API 會重新建立快取,回傳大量 `cache_creation_input_tokens`,即快取重建。
6
+
7
+ 快取重建意味著額外的 token 計費(cache creation 的價格高於 cache read),因此識別重建原因對費用最佳化有直接價值。
8
+
9
+ ## 快取重建原因分類
10
+
11
+ cc-viewer 透過對比前後兩個 MainAgent 請求的 body,精確判斷快取重建的原因:
12
+
13
+ | reason | 含義 | 判斷方式 |
14
+ |--------|------|----------|
15
+ | `ttl` | 快取過期 | 距上一個 MainAgent 請求超過 5 分鐘 |
16
+ | `system_change` | system prompt 變更 | `JSON.stringify(prev.system) !== JSON.stringify(curr.system)` |
17
+ | `tools_change` | 工具定義變更 | `JSON.stringify(prev.tools) !== JSON.stringify(curr.tools)` |
18
+ | `model_change` | 模型切換 | `prev.model !== curr.model` |
19
+ | `msg_truncated` | 訊息堆疊被截斷 | 當前請求的 messages 數量少於上一個請求,通常因上下文視窗溢出觸發截斷 |
20
+ | `msg_modified` | 歷史訊息修改 | 前綴訊息內容不一致(正常追加時前綴應完全相同) |
21
+ | `key_change` | 未知鍵變更 | 以上條件均不匹配時的 fallback |
22
+
23
+ ## 判斷優先順序
24
+
25
+ 1. 首先檢查時間間隔——超過 5 分鐘直接判定為 `ttl`,不再做 body 對比
26
+ 2. 然後依次檢查 model、system、tools、messages
27
+ 3. 一個請求可能同時命中多個原因(如模型切換 + system prompt 變更),此時 `reasons` 陣列包含所有匹配項,tooltip 換行顯示
28
+
29
+ ## 常見場景
30
+
31
+ - **`ttl`**:使用者暫停操作超過 5 分鐘後繼續,快取自然過期
32
+ - **`system_change`**:Claude Code 更新了 system prompt(如載入新的 CLAUDE.md、project instructions 變化)
33
+ - **`tools_change`**:MCP server 連線/斷開導致可用工具列表變化
34
+ - **`model_change`**:使用者透過 `/model` 命令切換模型
35
+ - **`msg_truncated`**:對話過長觸發上下文視窗管理,Claude Code 截斷早期訊息
36
+ - **`msg_modified`**:Claude Code 對歷史訊息做了編輯(如 `/compact` 壓縮摘要替換原始訊息)
37
+
38
+ ## 在 cc-viewer 中的展示
39
+
40
+ 請求列表中,快取重建的請求會在 cache 行顯示紅色圓點指示器。滑鼠懸停顯示 tooltip,包含具體的重建原因描述(支援 18 種語言)。
@@ -0,0 +1,30 @@
1
+ # MainAgent
2
+
3
+ ## 定義
4
+
5
+ MainAgent 是 Claude Code 在非 agent team 狀態下的主幹請求鏈路。每一次使用者與 Claude Code 的互動,都會產生一系列 API 請求,其中 MainAgent 請求構成了核心對話鏈路——它們攜帶完整的 system prompt、工具定義和訊息歷史。
6
+
7
+ ## 識別方式
8
+
9
+ 在 cc-viewer 中,MainAgent 透過 `req.mainAgent === true` 標識,由 `interceptor.js` 在請求擷取時自動標記。
10
+
11
+ 判定條件(滿足全部):
12
+ - 請求體包含 `system` 欄位(system prompt)
13
+ - 請求體包含 `tools` 陣列(工具定義)
14
+ - system prompt 中包含 "Claude Code" 特徵文字
15
+
16
+ ## 與 SubAgent 的區別
17
+
18
+ | 特徵 | MainAgent | SubAgent |
19
+ |------|-----------|----------|
20
+ | system prompt | 完整的 Claude Code 主 prompt | 精簡的任務專用 prompt |
21
+ | tools 陣列 | 包含全部可用工具 | 通常只包含任務所需的少量工具 |
22
+ | 訊息歷史 | 累積完整對話上下文 | 僅包含子任務相關訊息 |
23
+ | 快取行為 | 有 prompt caching(5 分鐘 TTL) | 通常無快取或快取較小 |
24
+
25
+ ## 在 cc-viewer 中的意義
26
+
27
+ - **快取追蹤**:MainAgent 請求的 prompt caching 狀態直接影響費用。透過監控 `cache_creation_input_tokens` 與 `cache_read_input_tokens` 的比例,可以判斷快取命中率
28
+ - **快取遺失分析**:當 MainAgent 請求出現大量 cache creation(而非 cache read),說明快取遺失並被重建,cc-viewer 會透過紅色圓點指示器標記這些請求
29
+ - **主鏈路分析**:MainAgent 請求序列反映了使用者與 Claude Code 的完整互動過程,是分析會話行為的核心資料
30
+ - **會話重建**:cc-viewer 透過 MainAgent 請求的訊息歷史重建對話檢視(Chat Mode)
@@ -0,0 +1,54 @@
1
+ # AskUserQuestion
2
+
3
+ ## 定義
4
+
5
+ 在執行過程中向使用者提問,用於取得澄清、驗證假設或請求決策。
6
+
7
+ ## 參數
8
+
9
+ | 參數 | 類型 | 必填 | 說明 |
10
+ |------|------|------|------|
11
+ | `questions` | array | 是 | 問題列表(1-4 個問題) |
12
+ | `answers` | object | 否 | 使用者收集的答案 |
13
+ | `annotations` | object | 否 | 每個問題的註解(如預覽選擇的備註) |
14
+ | `metadata` | object | 否 | 追蹤和分析用的中繼資料 |
15
+
16
+ 每個 `question` 物件:
17
+
18
+ | 欄位 | 類型 | 必填 | 說明 |
19
+ |------|------|------|------|
20
+ | `question` | string | 是 | 完整的問題文字,應以問號結尾 |
21
+ | `header` | string | 是 | 短標籤(最多 12 字元),顯示為標籤晶片 |
22
+ | `options` | array | 是 | 2-4 個選項 |
23
+ | `multiSelect` | boolean | 是 | 是否允許多選 |
24
+
25
+ 每個 `option` 物件:
26
+
27
+ | 欄位 | 類型 | 必填 | 說明 |
28
+ |------|------|------|------|
29
+ | `label` | string | 是 | 選項顯示文字(1-5 個詞) |
30
+ | `description` | string | 是 | 選項說明 |
31
+ | `markdown` | string | 否 | 預覽內容(用於 ASCII 佈局、程式碼片段等的視覺化對比) |
32
+
33
+ ## 使用場景
34
+
35
+ **適合使用:**
36
+ - 收集使用者偏好或需求
37
+ - 澄清模糊的指令
38
+ - 在實施過程中取得決策
39
+ - 向使用者提供方向選擇
40
+
41
+ **不適合使用:**
42
+ - 問「方案可以嗎?」——應使用 ExitPlanMode
43
+
44
+ ## 注意事項
45
+
46
+ - 使用者始終可以選擇 "Other" 提供自訂輸入
47
+ - 推薦選項放在第一位,並在 label 末尾加 "(Recommended)"
48
+ - `markdown` 預覽僅支援單選問題
49
+ - 有 `markdown` 的選項會切換為左右並排佈局
50
+ - 在規劃模式中,用於在確定方案前澄清需求
51
+
52
+ ## 在 cc-viewer 中的意義
53
+
54
+ AskUserQuestion 呼叫在請求日誌中表現為 `tool_use` content block,包含問題和選項定義。使用者的回答會出現在後續請求的訊息歷史中。
@@ -0,0 +1,47 @@
1
+ # Bash
2
+
3
+ ## 定義
4
+
5
+ 執行 shell 命令,支援可選的逾時設定。工作目錄在命令間持久化,但 shell 狀態(環境變數等)不持久化。
6
+
7
+ ## 參數
8
+
9
+ | 參數 | 類型 | 必填 | 說明 |
10
+ |------|------|------|------|
11
+ | `command` | string | 是 | 要執行的 bash 命令 |
12
+ | `description` | string | 否 | 命令的簡短描述 |
13
+ | `timeout` | number | 否 | 逾時時間(毫秒),最大 600000,預設 120000 |
14
+ | `run_in_background` | boolean | 否 | 是否背景執行 |
15
+
16
+ ## 使用場景
17
+
18
+ **適合使用:**
19
+ - git 操作(commit、push、branch 等)
20
+ - npm/yarn 等套件管理命令
21
+ - docker 操作
22
+ - 編譯、建置命令
23
+ - 列出目錄內容(`ls`)
24
+ - 其他需要 shell 執行的系統命令
25
+
26
+ **不適合使用:**
27
+ - 讀取檔案——應使用 Read
28
+ - 搜尋檔案名稱——應使用 Glob
29
+ - 搜尋檔案內容——應使用 Grep
30
+ - 編輯檔案——應使用 Edit
31
+ - 寫入檔案——應使用 Write
32
+ - 向使用者輸出資訊——直接在回應文字中輸出
33
+ - 長時間執行的程序(dev server、watch 模式)——建議使用者手動執行
34
+
35
+ ## 注意事項
36
+
37
+ - 包含空格的路徑必須用雙引號包裹
38
+ - 輸出超過 30000 字元會被截斷
39
+ - 背景執行的命令透過 TaskOutput 取得結果
40
+ - 盡量使用絕對路徑,避免 `cd`
41
+ - 獨立命令可以並行呼叫多個 Bash
42
+ - 有依賴關係的命令用 `&&` 鏈接
43
+ - Shell 環境從使用者的 profile(bash 或 zsh)初始化
44
+
45
+ ## 在 cc-viewer 中的意義
46
+
47
+ Bash 呼叫在請求日誌中表現為 `tool_use`(包含命令)和 `tool_result`(包含輸出)content block 對。命令執行的輸出可用於分析模型的操作行為。
@@ -0,0 +1,38 @@
1
+ # Edit
2
+
3
+ ## 定義
4
+
5
+ 透過精確的字串替換來編輯檔案。將檔案中的 `old_string` 替換為 `new_string`。
6
+
7
+ ## 參數
8
+
9
+ | 參數 | 類型 | 必填 | 說明 |
10
+ |------|------|------|------|
11
+ | `file_path` | string | 是 | 要修改的檔案的絕對路徑 |
12
+ | `old_string` | string | 是 | 要替換的原始文字 |
13
+ | `new_string` | string | 是 | 替換後的新文字(必須與 old_string 不同) |
14
+ | `replace_all` | boolean | 否 | 是否替換所有匹配項,預設 `false` |
15
+
16
+ ## 使用場景
17
+
18
+ **適合使用:**
19
+ - 修改現有檔案中的特定程式碼段
20
+ - 修復 bug、更新邏輯
21
+ - 重新命名變數(配合 `replace_all: true`)
22
+ - 任何需要精確修改檔案內容的場景
23
+
24
+ **不適合使用:**
25
+ - 建立新檔案——應使用 Write
26
+ - 大規模重寫——可能需要 Write 覆寫整個檔案
27
+
28
+ ## 注意事項
29
+
30
+ - 使用前必須先透過 Read 讀取過該檔案,否則會報錯
31
+ - `old_string` 在檔案中必須是唯一的,否則編輯失敗。如果不唯一,需要提供更多上下文使其唯一,或使用 `replace_all`
32
+ - 編輯文字時必須保持原始縮排(tab/空格),不要包含 Read 輸出中的行號前綴
33
+ - 優先編輯現有檔案,而非建立新檔案
34
+ - `new_string` 必須與 `old_string` 不同
35
+
36
+ ## 在 cc-viewer 中的意義
37
+
38
+ Edit 呼叫在請求日誌中表現為 `tool_use` content block,其 `input` 包含 `old_string` 和 `new_string`,可用於追蹤模型對檔案做了哪些修改。
@@ -0,0 +1,43 @@
1
+ # EnterPlanMode
2
+
3
+ ## 定義
4
+
5
+ 將 Claude Code 切換到規劃模式,用於在實施前探索程式碼庫並設計方案。
6
+
7
+ ## 參數
8
+
9
+ 無參數。
10
+
11
+ ## 使用場景
12
+
13
+ **適合使用:**
14
+ - 新功能實作——需要架構決策
15
+ - 存在多種可行方案——需要使用者選擇
16
+ - 程式碼修改影響現有行為或結構
17
+ - 多檔案變更——可能涉及 2-3 個以上檔案
18
+ - 需求不明確——需要先探索再理解範圍
19
+ - 使用者偏好很重要——實作可以有多種合理方向
20
+
21
+ **不適合使用:**
22
+ - 單行或少量行的修復(拼寫錯誤、明顯 bug)
23
+ - 使用者已給出非常具體的指令
24
+ - 純研究/探索任務——應使用 Task(Explore 類型)
25
+
26
+ ## 規劃模式中的行為
27
+
28
+ 進入規劃模式後,Claude Code 會:
29
+ 1. 使用 Glob、Grep、Read 工具深入探索程式碼庫
30
+ 2. 理解現有模式和架構
31
+ 3. 設計實施方案
32
+ 4. 將方案提交給使用者審批
33
+ 5. 如需澄清可使用 AskUserQuestion
34
+ 6. 方案就緒後透過 ExitPlanMode 退出
35
+
36
+ ## 注意事項
37
+
38
+ - 此工具需要使用者同意才能進入規劃模式
39
+ - 如果不確定是否需要規劃,傾向於規劃——提前對齊比返工好
40
+
41
+ ## 在 cc-viewer 中的意義
42
+
43
+ EnterPlanMode 呼叫在請求日誌中表現為 `tool_use` content block。進入規劃模式後的請求序列通常以探索性工具呼叫(Glob、Grep、Read)為主,直到 ExitPlanMode 被呼叫。
@@ -0,0 +1,39 @@
1
+ # ExitPlanMode
2
+
3
+ ## 定義
4
+
5
+ 退出規劃模式並將方案提交給使用者審批。方案內容從之前寫入的計畫檔案中讀取。
6
+
7
+ ## 參數
8
+
9
+ | 參數 | 類型 | 必填 | 說明 |
10
+ |------|------|------|------|
11
+ | `allowedPrompts` | array | 否 | 實施方案所需的權限描述列表 |
12
+
13
+ `allowedPrompts` 陣列中每個元素:
14
+
15
+ | 欄位 | 類型 | 必填 | 說明 |
16
+ |------|------|------|------|
17
+ | `tool` | enum | 是 | 適用的工具,目前僅支援 `Bash` |
18
+ | `prompt` | string | 是 | 操作的語義描述(如 "run tests"、"install dependencies") |
19
+
20
+ ## 使用場景
21
+
22
+ **適合使用:**
23
+ - 規劃模式中方案已完成,準備提交使用者審批
24
+ - 僅用於需要撰寫程式碼的實施任務
25
+
26
+ **不適合使用:**
27
+ - 純研究/探索任務——不需要退出規劃模式
28
+ - 想問使用者「方案可以嗎?」——這正是此工具的功能,不要用 AskUserQuestion 來問
29
+
30
+ ## 注意事項
31
+
32
+ - 此工具不接受方案內容作為參數——它從之前寫入的計畫檔案中讀取
33
+ - 使用者會看到計畫檔案的內容來審批
34
+ - 不要在呼叫此工具前用 AskUserQuestion 問「方案是否可以」,這是重複的
35
+ - 不要在問題中提及「計畫」,因為使用者在 ExitPlanMode 之前看不到計畫內容
36
+
37
+ ## 在 cc-viewer 中的意義
38
+
39
+ ExitPlanMode 呼叫標誌著規劃階段的結束。在請求日誌中,此呼叫之後的請求通常轉為實施性操作(Edit、Write、Bash 等)。
@@ -0,0 +1,34 @@
1
+ # Glob
2
+
3
+ ## 定義
4
+
5
+ 快速的檔案名稱模式匹配工具,支援任意規模的程式碼庫。回傳按修改時間排序的匹配檔案路徑。
6
+
7
+ ## 參數
8
+
9
+ | 參數 | 類型 | 必填 | 說明 |
10
+ |------|------|------|------|
11
+ | `pattern` | string | 是 | glob 模式(如 `**/*.js`、`src/**/*.ts`) |
12
+ | `path` | string | 否 | 搜尋目錄,預設為當前工作目錄。不要傳 "undefined" 或 "null" |
13
+
14
+ ## 使用場景
15
+
16
+ **適合使用:**
17
+ - 按檔案名稱模式查找檔案
18
+ - 查找特定類型的所有檔案(如所有 `.tsx` 檔案)
19
+ - 查找特定類別定義(如 `class Foo`)時先定位檔案
20
+ - 可以在單條訊息中並行發起多個 Glob 呼叫
21
+
22
+ **不適合使用:**
23
+ - 搜尋檔案內容——應使用 Grep
24
+ - 需要多輪搜尋的開放式探索——應使用 Task(Explore 類型)
25
+
26
+ ## 注意事項
27
+
28
+ - 支援標準 glob 語法:`*` 匹配單層,`**` 匹配多層,`{}` 匹配多選
29
+ - 結果按修改時間排序
30
+ - 比 Bash 的 `find` 命令更推薦使用
31
+
32
+ ## 在 cc-viewer 中的意義
33
+
34
+ Glob 呼叫在請求日誌中表現為 `tool_use` / `tool_result` content block 對。`tool_result` 包含匹配的檔案路徑列表。
@@ -0,0 +1,47 @@
1
+ # Grep
2
+
3
+ ## 定義
4
+
5
+ 基於 ripgrep 的強大內容搜尋工具。支援正規表示式、檔案類型過濾和多種輸出模式。
6
+
7
+ ## 參數
8
+
9
+ | 參數 | 類型 | 必填 | 說明 |
10
+ |------|------|------|------|
11
+ | `pattern` | string | 是 | 正規表示式搜尋模式 |
12
+ | `path` | string | 否 | 搜尋路徑(檔案或目錄),預設當前工作目錄 |
13
+ | `glob` | string | 否 | 檔案名稱過濾(如 `*.js`、`*.{ts,tsx}`) |
14
+ | `type` | string | 否 | 檔案類型過濾(如 `js`、`py`、`rust`),比 glob 更高效 |
15
+ | `output_mode` | enum | 否 | 輸出模式:`files_with_matches`(預設)、`content`、`count` |
16
+ | `-i` | boolean | 否 | 大小寫不敏感搜尋 |
17
+ | `-n` | boolean | 否 | 顯示行號(僅 content 模式),預設 true |
18
+ | `-A` | number | 否 | 匹配後顯示的行數 |
19
+ | `-B` | number | 否 | 匹配前顯示的行數 |
20
+ | `-C` / `context` | number | 否 | 匹配前後顯示的行數 |
21
+ | `head_limit` | number | 否 | 限制輸出條目數,預設 0(無限) |
22
+ | `offset` | number | 否 | 跳過前 N 條結果 |
23
+ | `multiline` | boolean | 否 | 啟用多行匹配模式,預設 false |
24
+
25
+ ## 使用場景
26
+
27
+ **適合使用:**
28
+ - 在程式碼庫中搜尋特定字串或模式
29
+ - 查找函式/變數的使用位置
30
+ - 按檔案類型過濾搜尋結果
31
+ - 統計匹配數量
32
+
33
+ **不適合使用:**
34
+ - 按檔案名稱查找檔案——應使用 Glob
35
+ - 需要多輪搜尋的開放式探索——應使用 Task(Explore 類型)
36
+
37
+ ## 注意事項
38
+
39
+ - 使用 ripgrep 語法(非 grep),花括號等特殊字元需要跳脫
40
+ - `files_with_matches` 模式只回傳檔案路徑,最高效
41
+ - `content` 模式回傳匹配行內容,支援上下文行
42
+ - 多行匹配需要設定 `multiline: true`
43
+ - 始終優先使用 Grep 工具而非 Bash 中的 `grep` 或 `rg` 命令
44
+
45
+ ## 在 cc-viewer 中的意義
46
+
47
+ Grep 呼叫在請求日誌中表現為 `tool_use` / `tool_result` content block 對。`tool_result` 包含搜尋結果。