witty-diagnosis-agent 0.3.1-beta → 0.6.0-beta

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 (168) hide show
  1. package/README.md +184 -8
  2. package/dist/{auto-update-checker-SCZAPT6L.js → auto-update-checker-K5BE2AWY.js} +2 -2
  3. package/dist/{chunk-VGS3BNP5.js → chunk-35QAD47N.js} +142 -137
  4. package/dist/{chunk-YPQZVQVM.js → chunk-75CKLJGY.js} +54 -52
  5. package/dist/{chunk-YVNTYBPS.js → chunk-NEHRAXKV.js} +1 -1
  6. package/dist/cli.js +109 -85
  7. package/dist/index.d.ts +4 -0
  8. package/dist/index.js +917 -693
  9. package/dist/{logger-MRHLLIHC.js → logger-CGMKTVZY.js} +1 -1
  10. package/dist/witty-diagnosis-agent.schema.json +11 -0
  11. package/package.json +7 -3
  12. package/skills/X-diagnosis-io/SKILL.md +124 -0
  13. package/skills/X-diagnosis-io/references/xdiagnosis_reference.md +96 -0
  14. package/skills/X-diagnosis-io/scripts/show_location_index.sh +50 -0
  15. package/skills/X-diagnosis-network-analysis/SKILL.md +63 -114
  16. package/skills/X-diagnosis-network-analysis/references/xdiagnosis_reference.md +68 -228
  17. package/skills/X-diagnosis-network-analysis/scripts/show_location_index.sh +86 -0
  18. package/skills/fault-rca-report-generation/SKILL.md +56 -15
  19. package/skills/fd-leak-diagnosis/SKILL.md +318 -0
  20. package/skills/fd-leak-diagnosis/references/fd_diagnosis_commands.md +250 -0
  21. package/skills/fd-leak-diagnosis/references/fd_leak_patterns.md +155 -0
  22. package/skills/fd-leak-diagnosis/references/kernel_fd_params.md +182 -0
  23. package/skills/fd-leak-diagnosis/scripts/01_baseline_info.sh +208 -0
  24. package/skills/fd-leak-diagnosis/scripts/branch_A_system_fd.sh +101 -0
  25. package/skills/fd-leak-diagnosis/scripts/branch_B_process_fd.sh +114 -0
  26. package/skills/fd-leak-diagnosis/scripts/branch_C_close_wait.sh +107 -0
  27. package/skills/fd-leak-diagnosis/scripts/branch_D_epoll.sh +104 -0
  28. package/skills/fd-leak-diagnosis/scripts/branch_E_inotify.sh +110 -0
  29. package/skills/fd-leak-diagnosis/scripts/branch_F_syscall.sh +111 -0
  30. package/skills/fd-leak-diagnosis/scripts/branch_G_deleted_file.sh +94 -0
  31. package/skills/fd-leak-diagnosis/scripts/branch_H_mixed.sh +136 -0
  32. package/skills/linux-oom-analyzer/scripts/collect_basic_info.sh +1 -1
  33. package/skills/offline-disk-fault-diagnosis/SKILL.md +171 -54
  34. package/skills/offline-disk-fault-diagnosis/references/disk_health_rules.md +89 -0
  35. package/skills/offline-disk-fault-diagnosis/scripts/diagnose_health_rules.py +1445 -0
  36. package/skills/offline-disk-fault-diagnosis/scripts/diagnose_summary.py +7 -0
  37. package/skills/overlayfs-diagnosis/SKILL.md +383 -0
  38. package/skills/overlayfs-diagnosis/references/diagnosis_patterns.md +399 -0
  39. package/skills/overlayfs-diagnosis/references/docker_overlay2.md +257 -0
  40. package/skills/overlayfs-diagnosis/references/overlayfs_basics.md +268 -0
  41. package/skills/overlayfs-diagnosis/scripts/01_baseline_info.sh +274 -0
  42. package/skills/overlayfs-diagnosis/scripts/branch_A_config_error.sh +176 -0
  43. package/skills/overlayfs-diagnosis/scripts/branch_B_fs_incompatible.sh +140 -0
  44. package/skills/overlayfs-diagnosis/scripts/branch_C_cross_device.sh +141 -0
  45. package/skills/overlayfs-diagnosis/scripts/branch_D_opaque_whiteout.sh +161 -0
  46. package/skills/overlayfs-diagnosis/scripts/branch_E_copyup_perf.sh +163 -0
  47. package/skills/overlayfs-diagnosis/scripts/branch_F_inotify.sh +182 -0
  48. package/skills/overlayfs-diagnosis/scripts/branch_G_docker_inode_exhaust.sh +139 -0
  49. package/skills/overlayfs-diagnosis/scripts/branch_H_docker_diff_bloat.sh +163 -0
  50. package/skills/overlayfs-diagnosis/scripts/branch_I_redirect_metacopy.sh +180 -0
  51. package/skills/overlayfs-diagnosis/scripts/branch_J_permission.sh +175 -0
  52. package/skills/overlayfs-diagnosis/scripts/branch_K_readdir_perf.sh +188 -0
  53. package/skills/overlayfs-diagnosis/scripts/branch_Z_general.sh +172 -0
  54. package/skills/process-hang-diagnosis/SKILL.md +478 -0
  55. package/skills/process-hang-diagnosis/references/gdb_commands_for_hang.md +281 -0
  56. package/skills/process-hang-diagnosis/references/lock_analysis_patterns.md +237 -0
  57. package/skills/process-hang-diagnosis/references/pipe_socket_diagnosis.md +209 -0
  58. package/skills/process-hang-diagnosis/references/procfs_cheatsheet.md +246 -0
  59. package/skills/process-hang-diagnosis/scripts/01_baseline_info.sh +174 -0
  60. package/skills/process-hang-diagnosis/scripts/branch_A_futex_wait.sh +70 -0
  61. package/skills/process-hang-diagnosis/scripts/branch_B_deadlock.sh +80 -0
  62. package/skills/process-hang-diagnosis/scripts/branch_C_filelock.sh +82 -0
  63. package/skills/process-hang-diagnosis/scripts/branch_D_pipe_socket.sh +108 -0
  64. package/skills/process-hang-diagnosis/scripts/branch_E_signal_stop.sh +116 -0
  65. package/skills/process-hang-diagnosis/scripts/branch_F_d_state.sh +103 -0
  66. package/skills/process-hang-diagnosis/scripts/branch_G_user_loop.sh +75 -0
  67. package/skills/process-hang-diagnosis/scripts/container_diag.sh +21 -0
  68. package/skills/process-hang-diagnosis/scripts/diag_in_container.sh +76 -0
  69. package/skills/skill-openeuler-info/SKILL.md +87 -0
  70. package/skills/skill-openeuler-info/scripts/check_system_info.sh +170 -0
  71. package/skills/strace-syscall-diagnosis/SKILL.md +377 -0
  72. package/skills/strace-syscall-diagnosis/references/analysis_patterns.md +444 -0
  73. package/skills/strace-syscall-diagnosis/references/strace_commands.md +143 -0
  74. package/skills/strace-syscall-diagnosis/references/syscall_reference.md +187 -0
  75. package/skills/strace-syscall-diagnosis/scripts/01_baseline_info.sh +275 -0
  76. package/skills/strace-syscall-diagnosis/scripts/branch_A_syscall_error.sh +160 -0
  77. package/skills/strace-syscall-diagnosis/scripts/branch_B_slow_syscall.sh +176 -0
  78. package/skills/strace-syscall-diagnosis/scripts/branch_C_library_trace.sh +164 -0
  79. package/skills/strace-syscall-diagnosis/scripts/branch_D_fd_leak.sh +156 -0
  80. package/skills/strace-syscall-diagnosis/scripts/branch_E_network_syscall.sh +137 -0
  81. package/skills/strace-syscall-diagnosis/scripts/branch_F_signal_interrupt.sh +135 -0
  82. package/skills/strace-syscall-diagnosis/scripts/branch_G_lifecycle.sh +168 -0
  83. package/skills/strace-syscall-diagnosis/scripts/check_syscall.sh +108 -0
  84. package/skills/swap-thrashing-diagnosis/SKILL.md +370 -0
  85. package/skills/swap-thrashing-diagnosis/references/analysis_patterns.md +433 -0
  86. package/skills/swap-thrashing-diagnosis/references/kernel_swap_params.md +259 -0
  87. package/skills/swap-thrashing-diagnosis/references/swap_commands.md +171 -0
  88. package/skills/swap-thrashing-diagnosis/scripts/01_baseline_info.sh +429 -0
  89. package/skills/swap-thrashing-diagnosis/scripts/02_diagnosis.sh +109 -0
  90. package/skills/swap-thrashing-diagnosis/scripts/branch_A_swap_exhaustion.sh +228 -0
  91. package/skills/swap-thrashing-diagnosis/scripts/branch_B_thrashing.sh +303 -0
  92. package/skills/swap-thrashing-diagnosis/scripts/branch_C_swappiness.sh +159 -0
  93. package/skills/swap-thrashing-diagnosis/scripts/branch_D_swap_corruption.sh +171 -0
  94. package/skills/swap-thrashing-diagnosis/scripts/branch_E_ssd_wear.sh +159 -0
  95. package/skills/swap-thrashing-diagnosis/scripts/branch_F_kswapd_high.sh +185 -0
  96. package/skills/swap-thrashing-diagnosis/scripts/branch_G_zswap_zram.sh +244 -0
  97. package/skills/swap-thrashing-diagnosis/scripts/check_thrashing.sh +175 -0
  98. package/skills/unix-socket-pipe-diagnosis/SKILL.md +350 -0
  99. package/skills/unix-socket-pipe-diagnosis/references/unix_socket_pipe_commands.md +566 -0
  100. package/skills/unix-socket-pipe-diagnosis/references/unix_socket_pipe_params.md +183 -0
  101. package/skills/unix-socket-pipe-diagnosis/references/unix_socket_pipe_patterns.md +162 -0
  102. package/skills/unix-socket-pipe-diagnosis/scripts/01_baseline_info.sh +191 -0
  103. package/skills/unix-socket-pipe-diagnosis/scripts/branch_A_uds_backlog.sh +94 -0
  104. package/skills/unix-socket-pipe-diagnosis/scripts/branch_B_abstract_conflict.sh +121 -0
  105. package/skills/unix-socket-pipe-diagnosis/scripts/branch_C_passcred.sh +119 -0
  106. package/skills/unix-socket-pipe-diagnosis/scripts/branch_D_socket_perms.sh +128 -0
  107. package/skills/unix-socket-pipe-diagnosis/scripts/branch_E_pipe_buf.sh +150 -0
  108. package/skills/unix-socket-pipe-diagnosis/scripts/branch_F_sigpipe.sh +170 -0
  109. package/skills/unix-socket-pipe-diagnosis/scripts/branch_G_socketpair.sh +196 -0
  110. package/skills/vmcore-analysis/SKILL.md +229 -984
  111. package/skills/vmcore-analysis/references/crash_commands.md +113 -374
  112. package/skills/vmcore-analysis/references/hardware_analysis.md +162 -0
  113. package/skills/vmcore-analysis/references/src_analysis_patterns.md +322 -0
  114. package/skills/vmcore-analysis/scripts/01_baseline_info.sh +279 -0
  115. package/skills/vmcore-analysis/scripts/branch_A_null_ptr.sh +306 -0
  116. package/skills/vmcore-analysis/scripts/branch_B_oob.sh +60 -0
  117. package/skills/vmcore-analysis/scripts/branch_C_uaf.sh +248 -0
  118. package/skills/vmcore-analysis/scripts/branch_D_stack_overflow.sh +60 -0
  119. package/skills/vmcore-analysis/scripts/branch_E_mce.sh +60 -0
  120. package/skills/vmcore-analysis/scripts/branch_F_memory_ue.sh +60 -0
  121. package/skills/vmcore-analysis/scripts/branch_G_deadlock.sh +202 -0
  122. package/skills/vmcore-analysis/scripts/branch_H_soft_lockup.sh +60 -0
  123. package/skills/vmcore-analysis/scripts/branch_I_hard_lockup.sh +60 -0
  124. package/skills/vmcore-analysis/scripts/branch_J_bug_trigger.sh +60 -0
  125. package/skills/vmcore-analysis/scripts/branch_K_oom.sh +60 -0
  126. package/skills/vmcore-analysis/scripts/branch_L_atomic_sleep.sh +60 -0
  127. package/skills/vmcore-analysis/scripts/branch_M_rcu_stall.sh +60 -0
  128. package/skills/vmcore-analysis/scripts/branch_N_fs_corruption.sh +60 -0
  129. package/skills/vmcore-analysis/scripts/branch_O_network.sh +60 -0
  130. package/skills/vmcore-analysis/scripts/branch_P_storage_io.sh +60 -0
  131. package/skills/vmcore-analysis/scripts/branch_Q_kvm.sh +60 -0
  132. package/skills/vmcore-analysis/scripts/branch_R_acpi.sh +60 -0
  133. package/skills/vmcore-analysis/scripts/branch_S_hotplug.sh +60 -0
  134. package/skills/vmcore-analysis/scripts/branch_T_driver.sh +60 -0
  135. package/skills/vmcore-analysis/scripts/branch_U_smep_smap.sh +60 -0
  136. package/skills/vmcore-analysis/scripts/branch_V_bit_flip.sh +133 -0
  137. package/skills/vmcore-analysis/scripts/check_bitflip.sh +221 -0
  138. package/src/xiaoO/README.md +21 -0
  139. package/src/xiaoO/command/baize.md +61 -0
  140. package/src/xiaoO/command/dayu.md +675 -0
  141. package/src/xiaoO/command/fuxi.md +820 -0
  142. package/src/xiaoO/command/kuafu.md +220 -0
  143. package/src/xiaoO/command/xuanyuan.md +79 -0
  144. package/src/xiaoO/config/.gitkeep +0 -0
  145. package/src/xiaoO/config/config.toml +2078 -0
  146. package/src/xiaoO/tools/md_to_html.py +547 -0
  147. package/src/xiaoO/tools/md_to_html.toml +33 -0
  148. package/src/xiaoO/tools/md_to_html_script.js +67 -0
  149. package/src/xiaoO/tools/md_to_html_style.css +397 -0
  150. package/skills/X-diagnosis-network-analysis/references/fault_patterns.md +0 -95
  151. package/skills/X-diagnosis-network-analysis/scripts/arp_check.sh +0 -61
  152. package/skills/X-diagnosis-network-analysis/scripts/kernel_drop_counters.sh +0 -70
  153. package/skills/X-diagnosis-network-analysis/scripts/net_baseline.sh +0 -76
  154. package/skills/X-diagnosis-network-analysis/scripts/port_listen_check.sh +0 -67
  155. package/skills/X-diagnosis-network-analysis/scripts/tcp_state_summary.sh +0 -65
  156. package/skills/vmcore-analysis/references/USAGE_EXAMPLES.md +0 -131
  157. package/skills/vmcore-analysis/references/analysis_patterns.md +0 -506
  158. package/skills/vmcore-analysis/references/root_cause_analysis.md +0 -739
  159. package/skills/vmcore-analysis/references/source_code_structure.md +0 -317
  160. package/skills/vmcore-analysis/references/struct_analysis.md +0 -140
  161. package/skills/vmcore-analysis/references/troubleshooting.md +0 -531
  162. package/skills/vmcore-analysis/scripts/analyze_struct.py +0 -156
  163. package/skills/vmcore-analysis/scripts/check_environment.sh +0 -104
  164. package/skills/vmcore-analysis/scripts/crash_config.sh +0 -156
  165. package/skills/vmcore-analysis/scripts/crash_wrapper.sh +0 -73
  166. package/skills/vmcore-analysis/scripts/evidence_chain.sh +0 -309
  167. package/skills/vmcore-analysis/scripts/quick_report.sh +0 -97
  168. package/skills/vmcore-analysis/scripts/rca_wizard.sh +0 -288
package/README.md CHANGED
@@ -9,6 +9,10 @@ Witty 智能诊断 Agent 基于「假设-验证」(Hypothetico-Deductive)故
9
9
  - **端到端闭环自愈**:涵盖“现象分析、根因定界、生成报告、执行修复”全链路,提供一站式自动化运维。
10
10
  - **严格的安全管控**:诊断排查阶段严格只读,仅修复阶段按需赋予操作权限,且变更必经用户审批确认。
11
11
 
12
+ <div align="center">
13
+ <img src="docs/assets/sys_crash_diag.gif" alt="系统宕机故障诊断" />
14
+ </div>
15
+
12
16
  ### 架构与核心能力
13
17
 
14
18
  Witty 智能诊断 Agent 采用“Agent-Skill-工具-知识”四层解耦架构,兼具高灵活性与可扩展性。
@@ -33,22 +37,23 @@ Witty 智能诊断 Agent 采用“Agent-Skill-工具-知识”四层解耦架构
33
37
  - **Skill 层**:将专家排查流程封装为可复用的诊断技能(如 OOM、死锁排查)。
34
38
  - **知识底座**:内置 openEuler 专属故障模式与因果规则,持续自我进化。
35
39
 
36
- #### 3. 核心诊断场景
40
+ #### 3. 核心诊断能力
37
41
 
38
42
  深度结合 openEuler 操作系统特性,目前已支持:
39
43
 
40
- - **内核级诊断**:自动化采集解析 VMCore,精准回溯系统崩溃(Crash/Panic)调用栈。
41
- - **系统级诊断**:针对磁盘 I/O、网络丢包、内存碎片等资源瓶颈提供多维关联分析。
42
- - **进程级诊断**:深度诊断进程死锁、僵尸进程及服务超时等逻辑异常。
44
+ - **用户态诊断**:诊断进程 coredump、文件描述符泄漏、系统调用异常、IPC/资源耗尽、Unix Socket/Pipe、容器(Docker)、时间同步与安全认证等进程/服务层逻辑异常。
45
+ - **内核级诊断**:自动解析VMCore,精准回溯内核崩溃(Crash/Panic)调用栈;覆盖 OOM、CPU 调度、文件系统(EXT4/XFS/OverlayFS)、Swap 抖动,以及块设备 IO 与网络协议栈等内核子系统故障。
46
+ - **硬件级诊断**:基于 iBMC 带外日志与 OS 信息采集,定位 CPU/内存/磁盘/GPU/NPU/网卡/电源等部件的物理故障(ECC/MCE、坏道、掉卡、链路不稳、供电异常等),并提供磁盘健康预测与 GRUB 启动链故障诊断。
43
47
 
44
- > 💡 **更多基于 OS 全栈(硬件层 -> 内核层 -> 系统服务层)的诊断能力持续演进中...**
48
+ > 💡 诊断能力详情,请参见[功能列表](docs/reference/features.md)。
49
+
50
+ ---
45
51
 
46
52
  ### 快速开始
47
53
 
48
54
  #### 环境要求
49
55
 
50
- - 运行环境:Node.js (>=18.0.0)
51
- - 依赖工具:已安装[OpenCode](https://opencode.ai/)
56
+ - 依赖框架:已安装[OpenCode](https://opencode.ai/)(运行环境:Node.js >= 20.0.0) 或 [xiaoO](https://gitcode.com/openeuler/xiaoO/)(运行环境:Rust 工具链和 Cargo)
52
57
  - 依赖工具:已安装 [Ansible](https://docs.ansible.com/ansible/latest/installation_guide/)(`ansible` 命令须在系统 PATH 中可用,可通过 `ansible --version` 提前验证)
53
58
 
54
59
  > ⚠️ **注意**:执行 `witty-diagnosis-agent install` 前,请确保本地已完成 Ansible 的安装与环境配置,否则安装程序将直接终止。
@@ -74,7 +79,19 @@ cd witty-diagnosis-agent
74
79
  bash install.sh
75
80
  ```
76
81
 
82
+ ##### 方式三:离线包一键安装(适用于离线情况)
83
+
84
+ 如果您已经下载了源代码安装包,可以使用一键安装脚本自动完成环境检查、依赖安装、项目构建及插件配置,以 witty-diagnosis-agent-v0.6.0-beta.tar.gz 压缩包为例:
85
+ ```shell
86
+ tar -xzvf witty-diagnosis-agent-v0.6.0-beta.tar.gz
87
+ cd witty-diagnosis-agent-v0.6.0-beta
88
+ bash install.sh
89
+ ```
90
+
91
+ ---
92
+
77
93
  ### 如何使用
94
+ #### 基于opencode框架启动
78
95
 
79
96
  1. 启动 \*\*OpenCode \*\*。
80
97
 
@@ -96,7 +113,164 @@ bash install.sh
96
113
 
97
114
  <img src="docs/assets/guide_auto_diag_report.png" alt="诊断报告" width="800" />
98
115
 
99
- 如需了解更多操作细节,可查阅[用户手册](docs/guide/MANUAL.html);支持的诊断能力与功能说明详见[功能列表](docs/reference/features.html)
116
+ 如需了解更多操作细节,可查阅[用户手册](docs/guide/MANUAL.md)。
117
+
118
+ #### 基于xiaoO框架启动
119
+ 1. 启动 \*\*xiaoO \*\*。
120
+
121
+ 2. 使用`tab`键,切换`Xuanyuan`Agent。
122
+
123
+ ![选择Xuanyuan Agent](docs/assets/xiaoO_select_xuanyuan.png)
124
+
125
+ 3. 输入故障问题描述,示例:
126
+
127
+ ```shell
128
+ 请诊断2026-03-05 14:31前最近一次硬盘故障,日志路径:/tmp/logs
129
+ ```
130
+
131
+ <img src="docs/assets/xiaoO_guide_auto_diag_start.png" alt="wittywork命令" width="800" />
132
+
133
+ 4. 系统将自动执行**智能诊断**流程。
134
+
135
+ 5. 诊断完成后,系统将生成[HTML](docs/reference/reports/hard_disk_fault_diagnosis_report.html)和[Markdown](docs/reference/reports/hard_disk_fault_diagnosis_report.md)两种格式的诊断分析报告,同时在界面上展示完整报告内容:
136
+
137
+ <img src="docs/assets/xiaoO_guide_auto_diag_report.png" alt="诊断报告" width="800" />
138
+
139
+
140
+ ---
141
+
142
+ ### 进程 CORE 故障诊断示例
143
+
144
+ 本节以 WSL2 Ubuntu 系统为例,演示如何使用 Witty 智能诊断 Agent 分析进程 Core Dump 文件。本示例仅用于演示和体验智能诊断 Agent 的分析过程和输出报告。由于示例代码非常简单(空指针解引用),直接使用原生 OpenCode 或任何调试工具也能定位出根因。对于更复杂的生产环境故障,智能诊断 Agent 的系统化排查能力将展现更大优势。
145
+
146
+ #### 1. 修改系统配置以获得进程 Core Dump 文件
147
+
148
+ 默认情况下,Linux 系统可能禁用了进程 core dump 功能。请使用 root 用户执行以下步骤启用:
149
+
150
+ ```bash
151
+ # 查看当前 core dump 配置(0 表示禁用)
152
+ ulimit -c
153
+
154
+ # 临时启用 core dump(不限制文件大小)
155
+ ulimit -c unlimited
156
+
157
+ # 永久启用:在 /etc/security/limits.conf 末尾添加
158
+ echo "* soft core unlimited" >> /etc/security/limits.conf
159
+ echo "* hard core unlimited" >> /etc/security/limits.conf
160
+
161
+ # 停用 apport(否则会拦截并吃掉 core 文件)
162
+ sudo service apport stop
163
+ sudo systemctl disable apport
164
+
165
+ # 设置 core dump 文件存放路径和命名格式(当前目录)
166
+ sudo sysctl -w kernel.core_pattern=core.%e.%p
167
+
168
+ # 验证配置
169
+ ulimit -c
170
+ cat /proc/sys/kernel/core_pattern
171
+ ```
172
+
173
+ > **说明**:`%e` 为进程名,`%p` 为进程 PID。core 文件将保存在当前工作目录。
174
+
175
+ #### 2. 开发会产生 Core Dump 的示例 C 代码
176
+
177
+ 1)创建 `crash_demo.c` 文件:
178
+
179
+ ```c
180
+ #include <stdio.h>
181
+ #include <stdlib.h>
182
+
183
+ void trigger_segfault() {
184
+ int *ptr = NULL;
185
+ *ptr = 42;
186
+ }
187
+
188
+ int main() {
189
+ printf("Starting crash demo...\n");
190
+ trigger_segfault();
191
+ return 0;
192
+ }
193
+ ```
194
+
195
+ 2)安装编译工具和 GDB:
196
+
197
+ ```bash
198
+ sudo apt update && sudo apt install -y gcc gdb
199
+ ```
200
+
201
+ 3)编译(禁用优化,开启调试符号):
202
+
203
+ ```bash
204
+ gcc -g -O0 -o crash_demo crash_demo.c
205
+ ```
206
+
207
+ 4)运行:
208
+
209
+ ```bash
210
+ ./crash_demo
211
+ ```
212
+
213
+ 5)执行后将触发段错误并产生 core dump 文件:
214
+
215
+ ```
216
+ Starting crash demo...
217
+ Segmentation fault (core dumped)
218
+ ```
219
+
220
+ 6)查看生成的 core 文件:
221
+
222
+ ```bash
223
+ ls -la ./core.*
224
+ ```
225
+
226
+ #### 3. 在 WSL 中启动 OpenCode 并使用智能诊断 Agent 分析
227
+
228
+ 1)启动 OpenCode:
229
+
230
+ ```bash
231
+ opencode
232
+ ```
233
+
234
+ 2)加载 Xuanyuan Agent:执行 `/agents` 命令,选择 `Xuanyuan` Agent。
235
+
236
+ 3)输入问题描述:
237
+
238
+ ```
239
+ 分析/tmp/test目录下的core文件根因。
240
+ ```
241
+
242
+ > **提示**:将 `/tmp/test` 替换为示例 C 代码所在的实际目录路径。
243
+
244
+ 4)系统将自动执行智能诊断流程,分析进程崩溃原因并输出诊断报告。
245
+
246
+ ---
247
+
248
+ ### 硬盘故障诊断示例
249
+
250
+ #### 1. 环境准备
251
+
252
+ 1. 下载测试用例日志logs.zip(链接: https://pan.baidu.com/s/1-VlfKy5sx7LR-_tXkJ1G1A?pwd=bykf 提取码: bykf);
253
+ 2. 将logs.zip拷贝到/tmp目录下并解压;
254
+
255
+ #### 2. 使用智能诊断 Agent 分析
256
+
257
+ 1)启动 OpenCode:
258
+
259
+ ```bash
260
+ opencode
261
+ ```
262
+
263
+ 2)加载 Xuanyuan Agent:执行 `/agents` 命令,选择 `Xuanyuan` Agent。
264
+
265
+ 3)输入问题描述:
266
+
267
+ ```
268
+ 请诊断2026-03-05 14:31前最近一次硬盘故障,日志路径:/tmp/logs
269
+ ```
270
+
271
+ 4)系统将自动执行智能诊断流程,分析硬盘故障原因并输出诊断报告。
272
+
273
+ ---
100
274
 
101
275
  ### 如何贡献
102
276
 
@@ -111,6 +285,8 @@ bash install.sh
111
285
  - 提交 [issue](https://atomgit.com/openeuler/witty-diagnosis-agent/issues)
112
286
  - 发送邮件至 <intelligence@openeuler.org>
113
287
 
288
+ ---
289
+
114
290
  ### License
115
291
 
116
292
  本项目中部分代码基于 `oh-my-openagent` 修改,这部分代码遵循 **Sustainable Use License Version 1.0**。其他原创及贡献部分代码协议以最终发布版本为准。详情请参阅项目根目录下的 [LICENSE](./LICENSE) 文件。
@@ -7,8 +7,8 @@ import {
7
7
  isDistTag,
8
8
  isPrereleaseOrDistTag,
9
9
  isPrereleaseVersion
10
- } from "./chunk-VGS3BNP5.js";
11
- import "./chunk-YVNTYBPS.js";
10
+ } from "./chunk-35QAD47N.js";
11
+ import "./chunk-NEHRAXKV.js";
12
12
  export {
13
13
  checkForUpdate,
14
14
  createAutoUpdateCheckerHook,