@@ -430,23 +430,23 @@ fn build_status_text(
430430) -> String {
431431 format ! (
432432 "📊 <b>系统状态</b>\n \
433- <blockquote >实时运行指标</blockquote >\n \n \
433+ <b >实时运行指标</b >\n \n \
434434 <b>💾 缓存</b>\n \
435- • 总缓存: <b >{total_count}</b >\n \
435+ • 总缓存: <code >{total_count}</code >\n \
436436 • 用户缓存: <code>{user_count}</code>\n \
437437 • 群组缓存: <code>{chat_count}</code>\n \n \
438438 <b>⚡ 运行缓存</b>\n \
439- • 命中: <b >{hits}</b >\n \
439+ • 命中: <code >{hits}</code >\n \
440440 • 未命中: <code>{misses}</code>\n \
441- • 命中率: <b >{hit_rate:.2}%</b >\n \n \
441+ • 命中率: <code >{hit_rate:.2}%</code >\n \n \
442442 <b>🖥️ 资源</b>\n \
443- • CPU: <b >{cpu:.1}%</b >\n \
443+ • CPU: <code >{cpu:.1}%</code >\n \
444444 • 系统内存: <code>{system_used} / {system_total} MB</code>\n \
445445 • Bot 内存: <code>{bot_memory}</code>\n \
446- • 运行时长: <b >{uptime}</b >\n \n \
446+ • 运行时长: <code >{uptime}</code >\n \n \
447447 <b>🚀 传输</b>\n \
448- <code> {download_line}</code> \n \
449- <code> {upload_line}</code> ",
448+ • {download_line}\n \
449+ • {upload_line}",
450450 hits = cache_snapshot. hits,
451451 misses = cache_snapshot. misses,
452452 hit_rate = cache_snapshot. hit_rate_percent,
@@ -468,15 +468,15 @@ fn format_uptime(duration: std::time::Duration) -> String {
468468fn format_speed_line ( label : & str , snapshot : Option < SpeedSnapshot > ) -> String {
469469 if let Some ( snapshot) = snapshot {
470470 format ! (
471- "{label} speed: last {last:.2} MB/s | avg {avg:.2} MB/s | p95 {p95:.2} MB/s | samples {total} (window {window})" ,
471+ "{label}: 实时 <code> {last:.2}</code> MB/s | 平均 <code> {avg:.2}</code> MB/s | P95 <code> {p95:.2}</code> MB/s | 样本 <code> {total}</code> (窗口 <code> {window}</code> )" ,
472472 last = snapshot. last_mbps,
473473 avg = snapshot. avg_mbps,
474474 p95 = snapshot. p95_mbps,
475475 total = snapshot. samples,
476476 window = snapshot. recent_samples
477477 )
478478 } else {
479- format ! ( "{label} speed: no non-cache samples yet " )
479+ format ! ( "{label}: 暂无非缓存测速样本 " )
480480 }
481481}
482482
@@ -3086,8 +3086,26 @@ mod tests {
30863086
30873087 #[ test]
30883088 fn speed_line_reports_cache_hit_when_no_samples ( ) {
3089- let line = super :: format_speed_line ( "Download" , None ) ;
3090- assert ! ( line. contains( "no non-cache samples" ) ) ;
3089+ let line = super :: format_speed_line ( "下载" , None ) ;
3090+ assert ! ( line. contains( "暂无非缓存测速样本" ) ) ;
3091+ }
3092+
3093+ #[ test]
3094+ fn speed_line_uses_monospace_for_numeric_values ( ) {
3095+ let line = super :: format_speed_line (
3096+ "下载" ,
3097+ Some ( super :: SpeedSnapshot {
3098+ last_mbps : 6.0 ,
3099+ avg_mbps : 4.5 ,
3100+ p95_mbps : 5.2 ,
3101+ samples : 12 ,
3102+ recent_samples : 12 ,
3103+ } ) ,
3104+ ) ;
3105+ assert ! ( line. contains( "<code>6.00</code>" ) ) ;
3106+ assert ! ( line. contains( "<code>4.50</code>" ) ) ;
3107+ assert ! ( line. contains( "<code>5.20</code>" ) ) ;
3108+ assert ! ( line. contains( "<code>12</code>" ) ) ;
30913109 }
30923110
30933111 #[ test]
@@ -3110,17 +3128,18 @@ mod tests {
31103128 cache_snapshot,
31113129 resource_snapshot,
31123130 "00:10:00" ,
3113- "Download speed: 6.00 MB/s" ,
3114- "Upload speed: 2.00 MB/s" ,
3131+ "下载: 实时 <code> 6.00</code> MB/s | 平均 <code>4.00</code> MB/s | P95 <code>5.00</code> MB/s | 样本 <code>12</code> (窗口 <code>12</code>) " ,
3132+ "上传: 实时 <code> 2.00</code> MB/s | 平均 <code>1.50</code> MB/s | P95 <code>1.80</code> MB/s | 样本 <code>12</code> (窗口 <code>12</code>) " ,
31153133 ) ;
31163134 assert ! ( text. contains( "<b>系统状态</b>" ) ) ;
3135+ assert ! ( text. contains( "<b>实时运行指标</b>" ) ) ;
31173136 assert ! ( text. contains( "<b>💾 缓存</b>" ) ) ;
3118- assert ! ( text. contains( "• 总缓存: <b >100</b >" ) ) ;
3137+ assert ! ( text. contains( "• 总缓存: <code >100</code >" ) ) ;
31193138 assert ! ( text. contains( "• 用户缓存: <code>20</code>" ) ) ;
31203139 assert ! ( text. contains( "• 群组缓存: <code>8</code>" ) ) ;
31213140 assert ! ( text. contains( "• 系统内存: <code>512 / 1024 MB</code>" ) ) ;
31223141 assert ! ( text. contains( "• Bot 内存: <code>12 MB</code>" ) ) ;
3123- assert ! ( text. contains( "<code>Download speed: 6.00 MB/s </code>" ) ) ;
3142+ assert ! ( text. contains( "• 下载: 实时 <code> 6.00</code> MB/s " ) ) ;
31243143 }
31253144}
31263145
@@ -3409,8 +3428,8 @@ async fn handle_status_command(
34093428 let resource_snapshot = sample_resource_snapshot ( ) ;
34103429 let ( download_speed, upload_speed) = state. runtime_metrics . speed_snapshots ( ) ;
34113430 let uptime = format_uptime ( state. runtime_metrics . uptime ( ) ) ;
3412- let download_line = format_speed_line ( "Download " , download_speed) ;
3413- let upload_line = format_speed_line ( "Upload " , upload_speed) ;
3431+ let download_line = format_speed_line ( "下载 " , download_speed) ;
3432+ let upload_line = format_speed_line ( "上传 " , upload_speed) ;
34143433 let status_text = build_status_text (
34153434 total_count,
34163435 user_count,
0 commit comments