[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-39":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":27,"readmeContent":28,"aiSummary":29,"trendingCount":16,"starSnapshotCount":16,"syncStatus":14,"lastSyncTime":30,"discoverSource":31},39,"syswatch","matthart1983\u002Fsyswatch","matthart1983","Single-host system diagnostics TUI. Sibling to netwatch. Twelve tabs, plain-English insights, session scrubber. macOS + Linux.","https:\u002F\u002Fnetwatchlabs.com",null,"Rust",599,26,2,1,0,58,108,193,174,8.29,"MIT License",false,"main",true,[],"2026-06-12 02:00:07","\u003Cp align=\"center\">\n  \u003Ch1 align=\"center\">SysWatch\u003C\u002Fh1>\n  \u003Cp align=\"center\">\n    \u003Cstrong>Single-host system diagnostics in your terminal. The terminal you open when something feels off — before you reach for htop, iostat, nettop, powermetrics, and a notebook full of one-liners.\u003C\u002Fstrong>\n  \u003C\u002Fp>\n  \u003Cp align=\"center\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fplatform-macOS%20%7C%20Linux-blue\" alt=\"Platform\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-green\" alt=\"License\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fstatus-v0.1-yellow\" alt=\"Status\">\n  \u003C\u002Fp>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cem>Sibling to \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmatthart1983\u002Fnetwatch\">NetWatch\u003C\u002Fa>. Same chrome. Same palette. Twelve tabs covering everything that runs on one box.\u003C\u002Fem>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"demo.gif\" alt=\"SysWatch — Overview, CPU, Memory, Procs, Power, Services, Timeline, Insights\" width=\"800\">\n\u003C\u002Fp>\n\n---\n\n## What it shows\n\n| # | Tab | Replaces |\n|---|---|---|\n| 1 | Overview | dashboard view of all subsystems |\n| 2 | CPU | `htop` CPU panel, `top -d`, `mpstat` |\n| 3 | Memory | `free`, `vm_stat`, `htop` mem panel |\n| 4 | Disks | `iostat`, `iotop` (aggregate) |\n| 5 | Filesystems | `df -h`, `df -i`, `mount` |\n| 6 | Procs | `htop`, `ps auxf`, `pstree` |\n| 7 | GPU | `ioreg AGXAccelerator PerformanceStatistics` \u002F `\u002Fsys\u002Fclass\u002Fdrm` |\n| 8 | Power | `pmset`, `ioreg AppleSmartBattery` \u002F `\u002Fsys\u002Fclass\u002Fpower_supply` |\n| 9 | Services | `launchctl list` \u002F `systemctl list-units` |\n| 0 | Net | `nettop`, `iftop` |\n| - | Timeline | (no equivalent — session log + scrubber) |\n| + | Insights | (no equivalent — plain-English anomaly cards) |\n\nWhere `htop` shows you *what's running*, SysWatch shows you *what's happening* — across CPU, memory, IO, GPU, power, services — and tells you why in plain English when something's anomalous.\n\n## Install\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fmatthart1983\u002Fsyswatch.git && cd syswatch\ncargo build --release\n.\u002Ftarget\u002Frelease\u002Fsyswatch\n```\n\n**Prerequisites:** Rust 1.75+. No system dependencies on Linux. macOS links against the system frameworks.\n\n> Crates.io \u002F Homebrew \u002F pre-built binaries land with v0.1 release.\n\n## Usage\n\n```bash\nsyswatch                       # default 1Hz tick\nsyswatch --tick 500            # 2Hz\nsyswatch --tab procs           # boot straight into a tab\n```\n\n### Keys\n\n```text\n1 2 3 4 5 6 7 8 9   →  Overview \u002F CPU \u002F Mem \u002F Disks \u002F FS \u002F Procs \u002F GPU \u002F Power \u002F Services\n0 - +               →  Net \u002F Timeline \u002F Insights\nTab \u002F Shift-Tab     →  Cycle tabs\n↑ \u002F ↓               →  Select row (Procs, Services)\ns                   →  Cycle sort (Procs, Services)\n← \u002F →               →  Scrub session backward \u002F forward\nHome \u002F End          →  Oldest sample \u002F live\np                   →  Pause\nq \u002F Ctrl-C          →  Quit\n```\n\n## What's distinctive\n\n**Insights tab.** Heuristic anomaly detection over the rolling session — swap thrash, runaway processes, disk full, memory pressure, high load, zombie parties — surfaced as plain-English cards with a suggested tab. The Overview's bottom strip and the tab bar's `[+]` badge keep them in sight from anywhere.\n\n**Session-wide scrubbing.** The Timeline tab's `←\u002F→` rewinds the entire app — every panel transparently shows historical state. The session ring is the foundation Snapshot\u002FDiff and Recording will sit on (v0.2).\n\n**Honest about platform limits.** Where data needs sudo (`powermetrics` for fans, per-component power, GPU util on Apple Silicon) the tab shows what we *can* get for free and a one-line note about what's gated. Nothing is faked, nothing prompts.\n\n## Anti-goals\n\n- **Not multi-host.** For fleet view, use NetWatch's web dashboard.\n- **Not a daemon.** No long-running collector, no Prometheus push. The session is the database.\n- **Not interactive remediation.** Read-only, deliberately. We don't kill, renice, unmount, or restart.\n- **Not a logging product.** We surface OOM kills as a *signal* in Memory; we are not a log search UI.\n- **Not pretty charts for screenshots.** Block sparklines, real numbers, no smooth curves, no themes-of-the-week.\n\n## v0.1 scope\n\nAll twelve tabs render real data on macOS and Linux. Cross-platform collection via `sysinfo`. Net interface counters and aggregate disk IO route through [`netwatch-sdk`](https:\u002F\u002Fgithub.com\u002Fmatthart1983\u002Fnetwatch-sdk) so SysWatch and the NetWatch agent share a single source of truth for those parsers.\n\n**Deferred to v0.2** — Snapshot+Diff (footer S\u002FD), Profiles (P), Recording\u002FReplay (R), Settings (`,`), Help (`?`), filter (`\u002F`).\n\n**Deferred behind sudo** — fans, per-component power, GPU temperature + per-rail power (all need `powermetrics`); macOS thermal zone temps (need IOReport private FFI). GPU **utilization** and used memory on Apple Silicon are no-sudo via ioreg's `AGXAccelerator PerformanceStatistics`. Linux gets thermal zones for free via sysfs.\n\n**Deferred behind features** — NVIDIA live GPU stats (`gpu-nvidia` cargo feature, `nvml-wrapper`), SMART disk health (`smart` cargo feature, `smartctl --json`).\n\n## Architecture\n\n```text\nsrc\u002F\n├── main.rs              CLI + entry\n├── app.rs               Event loop, tab state, scrub plumbing\n├── collect\u002F             One Collector per subsystem; Snapshot the wire format\n│   ├── collector.rs     sysinfo-backed CPU\u002FMem\u002FProcs + dispatch\n│   ├── gpu.rs           system_profiler \u002F sysfs DRM\n│   ├── power.rs         ioreg \u002F pmset \u002F sysfs power_supply\n│   ├── services.rs      launchctl \u002F systemctl\n│   └── ring.rs          Bounded history + nth_back for scrubbing\n├── insights\u002F            Pure functions over (History, &Snapshot)\n├── tabs\u002F                One file per tab; thin renderers over the model\n└── ui\u002F\n    ├── chrome.rs        Header, tab bar, footer\n    ├── palette.rs       Single source of color truth\n    └── widgets.rs       block_bar, sparkline, panel\n```\n\nRefresh model: 1 Hz fast loop for CPU\u002FMem\u002FProcs\u002FNet\u002FIO; slow loops at 5 s for Power\u002FServices (subprocess-heavy on macOS). The UI redraws on tick or keypress; CPU budget target is \u003C 0.5% at idle.\n\n## License\n\nMIT.\n","SysWatch 是一个单主机系统诊断工具，通过终端提供全面的系统状态监测。它使用 Rust 语言编写，具备十二个标签页，涵盖从 CPU、内存到 GPU 和电源管理等所有子系统的运行情况，并以通俗易懂的语言展示异常分析。该工具特别适合在遇到系统性能问题时作为初步排查手段，在正式调用 htop 或 iostat 等更专业的工具前快速定位可能的问题来源。SysWatch 支持 macOS 和 Linux 平台，无需额外系统依赖（macOS 需要链接系统框架），安装简便，只需克隆仓库并编译即可运行。","2026-06-11 02:30:33","CREATED_QUERY"]