syswatch:一个 Rust 写的系统诊断 TUI,替代 htop+iostat+nettop 一堆工具

作为站长或开发者,你一定经常需要排查服务器或本地机器的性能问题。通常的做法是:开 htop 看 CPU,开 iostat 看磁盘,开 nettop 看网络,开 vm_stat 看内存……每个工具一个终端窗口,手忙脚乱。

现在有了一个更优雅的方案:syswatch——一个 Rust 写的系统诊断 TUI,用 12 个标签页覆盖了你需要的所有系统信息。

syswatch 是什么

syswatch 的自我介绍很到位:「当你感觉哪里不对劲时打开的那个终端——在你去拿 htop、iostat、nettop、powermetrics 和一堆笔记本之前。」

它是一个单机系统诊断终端界面(TUI),用 Rust 编写,支持 macOS 和 Linux。它的兄弟项目 NetWatch 专注于网络诊断。

12 个标签页

按键 标签页 替代工具
1 Overview(总览) 所有子系统的仪表盘
2 CPU htop、top、mpstat
3 Memory(内存) free、vm_stat、htop 内存面板
4 Disks(磁盘) iostat、iotop
5 Filesystems(文件系统) df -h、df -i、mount
6 Procs(进程) htop、ps auxf、pstree
7 GPU ioreg AGXAccelerator / /sys/class/drm
8 Power(电源) pmset、ioreg AppleSmartBattery
9 Services(服务) launchctl list / systemctl list-units
0 Net(网络) nettop、iftop
Timeline(时间线) 无等价工具——会话日志 + 拖拽回放
+ Insights(洞察) 无等价工具——英文异常卡片

两个独特功能

Insights 标签页

这是 syswatch 最有特色的功能。它通过启发式算法分析整个会话的历史数据,自动检测异常并以英文卡片形式展示:

  • Swap 抖动(Swap thrash)
  • 失控进程(Runaway processes)
  • 磁盘将满(Disk full)
  • 内存压力(Memory pressure)
  • 高负载(High load)
  • 僵尸进程(Zombie processes)

每张卡片会指出问题所在,并建议你切换到哪个标签页查看详细信息。

Timeline 标签页

Timeline 记录了整个会话的历史快照。你可以用 / 键来回放历史状态——不是只看 CPU 曲线,而是整个应用的所有面板都回到那个时间点的状态。这对排查间歇性问题非常有用。

安装方法

前提条件

  • Rust 1.75+
  • macOS 或 Linux

从源码编译

git clone https://github.com/matthart1983/syswatch.git
cd syswatch
cargo build --release
./target/release/syswatch

使用方法

# 默认 1Hz 刷新
syswatch

# 2Hz 刷新
syswatch --tick 500

# 直接打开进程标签页
syswatch --tab procs

快捷键

  • 1-9 → 切换标签页
  • 0 - + → 网络 / 时间线 / 洞察
  • Tab / Shift-Tab → 循环切换标签
  • ↑ / ↓ → 选择行
  • s → 切换排序方式
  • ← / → → 回放历史 / 回到实时
  • Home / End → 最早采样 / 实时
  • p → 暂停
  • q / Ctrl-C → 退出

设计哲学

syswatch 有一个很清晰的设计哲学,它明确列出了自己的反目标

  • 不是多主机监控工具(那是 Prometheus/Grafana 干的事)
  • 不是守护进程(只做一次性诊断)
  • 不是交互式修复工具(只读,不帮你 kill 进程)
  • 不是日志产品
  • 不是为了截图好看的漂亮图表

它诚实地面对平台限制——不需要 sudo 就能展示可用信息,标注哪些功能需要特权,不会伪造数据。

适合谁

  • 站长:排查服务器性能问题时,一个工具搞定
  • 开发者:本地开发环境的性能监控
  • 运维:快速诊断单机问题
  • macOS 用户:替代系统活动监视器和一堆命令行工具

与 htop 的区别

htop 专注于 CPU 和进程,而 syswatch 覆盖了整个系统——包括 GPU、电源、服务、网络、磁盘 I/O 等。Insights 的异常检测和 Timeline 的会话回放是 htop 完全没有的功能。如果你只是看 CPU 占用,htop 够用;如果你需要全面诊断,syswatch 更合适。

注意事项

  • 项目处于早期阶段(v0.3.1),部分功能还在开发中
  • 只支持单机监控,不支持远程
  • GPU 信息在 macOS 上通过 system_profiler 获取,在 Linux 上通过 sysfs DRM 获取
  • CPU 开销目标:空闲时 < 0.5%

本文参考来源:

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
相关推荐
<p>GitHub本周最火的项目之一,TradingAgents在短短时间内获得了超过7万星标,成为多Agent AI应用领域的标杆项目。这个基于大语言模型的多Agent金融交易框架,让”AI炒股”从概念走向了可实验的开源工具。</p>

<h2>项目简介</h2>

<p>TradingAgents是一个开源的多Agent金融交易分析框架,核心思路是让多个AI Agent各司其职,协同完成金融市场的分析和交易决策。项目地址:<a href=GitHub – TauricResearch/TradingAgents

架构设计

TradingAgents的设计借鉴了真实金融交易团队的分工模式,将不同职责分配给不同的Agent:

  • 分析师Agent:负责分析市场数据、财报、新闻等信息,产出分析报告。
  • 研究员Agent:深入研究特定行业或公司,提供基本面分析。
  • 交易员Agent:根据分析结果制定交易策略和执行计划。
  • 风控Agent:评估交易风险,设置止损和仓位控制。
  • 决策Agent:综合各方意见,做出最终交易决策。

这种多Agent协作的模式,模拟了真实对冲基金的决策流程。每个Agent可以使用不同的LLM模型,甚至可以使用同一模型的不同温度参数来产生多样化的观点。

使用场景

学术研究

TradingAgents是研究多Agent系统在金融领域应用的优秀平台。研究人员可以修改Agent的提示词、调整协作机制、测试不同的决策算法。

策略回测

框架支持接入历史市场数据,可以用来回测AI交易策略的表现。这对于量化交易团队评估AI辅助决策的价值很有帮助。

学习和教育

对于想了解AI在金融领域应用的开发者,TradingAgents是一个很好的学习项目。代码结构清晰,文档完善,适合上手研究。

安装和运行

# 克隆项目
git clone https://github.com/TauricResearch/TradingAgents.git
cd TradingAgents

# 安装依赖
pip install -r requirements.txt

# 配置API密钥
cp .env.example .env
# 编辑 .env 文件,填入 OpenAI API key

重要风险提示

⚠️ 以下几点需要特别注意:

  • 不要用真金白银:TradingAgents是一个研究和实验框架,不是成熟的交易系统。绝对不要用它来做实盘交易。
  • AI不是万能的:金融市场受到无数因素影响,AI模型无法预测黑天鹅事件、政策变化、市场情绪等非理性因素。
  • 回测不等于实盘:在历史数据上表现好的策略,在真实交易中可能完全失败(过拟合问题)。
  • 合规风险:在某些司法管辖区,使用AI进行自动化交易可能受到监管限制。

同类项目参考

如果你对AI+金融感兴趣,还可以关注以下项目:

  • FinRL:深度强化学习金融交易框架
  • Qlib:微软开源的量化投资平台
  • GPT-Financial-Analyst:基于GPT的财务分析工具

来源:

-枫选">

GitHub本周最火的项目之一,TradingAgents在短短时间内获得了超过7万星标,成为多Agent AI应用领域的标杆项目。这个基于大语言模型的多Agent金融交易框架,让”AI炒股”从概念走向了可实验的开源工具。

项目简介

TradingAgents是一个开源的多Agent金融交易分析框架,核心思路是让多个AI Agent各司其职,协同完成金融市场的分析和交易决策。项目地址:GitHub – TauricResearch/TradingAgents

架构设计

TradingAgents的设计借鉴了真实金融交易团队的分工模式,将不同职责分配给不同的Agent:

  • 分析师Agent:负责分析市场数据、财报、新闻等信息,产出分析报告。
  • 研究员Agent:深入研究特定行业或公司,提供基本面分析。
  • 交易员Agent:根据分析结果制定交易策略和执行计划。
  • 风控Agent:评估交易风险,设置止损和仓位控制。
  • 决策Agent:综合各方意见,做出最终交易决策。

这种多Agent协作的模式,模拟了真实对冲基金的决策流程。每个Agent可以使用不同的LLM模型,甚至可以使用同一模型的不同温度参数来产生多样化的观点。

使用场景

学术研究

TradingAgents是研究多Agent系统在金融领域应用的优秀平台。研究人员可以修改Agent的提示词、调整协作机制、测试不同的决策算法。

策略回测

框架支持接入历史市场数据,可以用来回测AI交易策略的表现。这对于量化交易团队评估AI辅助决策的价值很有帮助。

学习和教育

对于想了解AI在金融领域应用的开发者,TradingAgents是一个很好的学习项目。代码结构清晰,文档完善,适合上手研究。

安装和运行

# 克隆项目
git clone https://github.com/TauricResearch/TradingAgents.git
cd TradingAgents

# 安装依赖
pip install -r requirements.txt

# 配置API密钥
cp .env.example .env
# 编辑 .env 文件,填入 OpenAI API key

重要风险提示

⚠️ 以下几点需要特别注意:

  • 不要用真金白银:TradingAgents是一个研究和实验框架,不是成熟的交易系统。绝对不要用它来做实盘交易。
  • AI不是万能的:金融市场受到无数因素影响,AI模型无法预测黑天鹅事件、政策变化、市场情绪等非理性因素。
  • 回测不等于实盘:在历史数据上表现好的策略,在真实交易中可能完全失败(过拟合问题)。
  • 合规风险:在某些司法管辖区,使用AI进行自动化交易可能受到监管限制。

同类项目参考

如果你对AI+金融感兴趣,还可以关注以下项目:

  • FinRL:深度强化学习金融交易框架
  • Qlib:微软开源的量化投资平台
  • GPT-Financial-Analyst:基于GPT的财务分析工具

来源:

GitHub本周最火的项目之一,TradingAgents在短短时间内获得了超过7万星标,成为多Agent AI应...

3天前 50
<p>DocuSign是全球最知名的电子签名服务,但其定价对中小站长和创业团队来说并不友好。DocuSeal是一个开源免费的电子签名平台,GitHub上已获得16000+星标,支持自部署,可以作为DocuSign的替代方案。</p>

<h2>项目简介</h2>

<p>DocuSeal是一个功能完整的电子签名解决方案,支持创建、发送和签署PDF文档。项目使用Ruby on Rails开发,提供直观的Web界面,适合需要在自己的服务器上部署电子签名服务的团队。</p>

<p>项目地址:<a href=GitHub – docusealco/docuseal

核心功能

  • 文档模板:上传PDF文档,通过拖拽方式添加签名框、日期框、文本框等表单字段。
  • 多方签署:支持多个签署人按顺序或并行签署同一文档。
  • 邮件通知:自动发送签署邀请和完成通知邮件。
  • API接口:提供REST API,可以集成到现有应用中。
  • Webhook:签署完成后通过Webhook通知你的系统。
  • 审计日志:记录完整的签署过程,包括IP地址、时间戳等。
  • 多语言:支持中文在内的多种语言界面。

Docker部署教程

DocuSeal推荐使用Docker部署,步骤如下:

1. 创建docker-compose.yml

version: "3"
services:
  docuseal:
    image: docuseal/docuseal:latest
    ports:
      - "3000:3000"
    volumes:
      - docuseal-data:/data
    environment:
      - DATABASE_URL=sqlite3:/data/docuseal.sqlite3
      - RAILS_ENV=production
      - SECRET_KEY_BASE=your-random-secret-key-here

volumes:
  docuseal-data:

2. 启动服务

docker-compose up -d

3. 访问初始化

打开浏览器访问 http://your-server:3000,按照向导创建管理员账户。

4. 配置邮件(可选)

在环境变量中添加SMTP配置:

SMTP_ADDRESS=smtp.example.com
SMTP_PORT=587
SMTP_USERNAME=your-email@example.com
SMTP_PASSWORD=your-password
SMTP_DOMAIN=example.com

与DocuSign对比

特性DocuSeal(自部署)DocuSign(SaaS)
价格免费开源$10-60/月/用户
数据控制完全在自己服务器存储在DocuSign云端
自定义可完全自定义受限于平台功能
法律效力取决于当地法律全球认可
合规认证需要自行确保SOC 2、ISO 27001等
维护成本需要自行运维平台托管

适合谁使用

  • 中小团队:需要内部合同签署,但不想为每个用户付费。
  • 数据敏感行业:不想将签署文档存储在第三方云端。
  • 定制化需求:需要将签署功能集成到自己的业务系统中。
  • 学习和研究:想了解电子签名系统的技术实现。

注意事项

  • 电子签名的法律效力因国家和地区而异,重要合同建议咨询法律专业人士。
  • 自部署需要自行负责服务器安全、数据备份和SSL证书配置。
  • 对于需要全球法律认可的签署场景,DocuSign等成熟SaaS仍然是更稳妥的选择。

来源:

-枫选">

DocuSign是全球最知名的电子签名服务,但其定价对中小站长和创业团队来说并不友好。DocuSeal是一个开源免费的电子签名平台,GitHub上已获得16000+星标,支持自部署,可以作为DocuSign的替代方案。

项目简介

DocuSeal是一个功能完整的电子签名解决方案,支持创建、发送和签署PDF文档。项目使用Ruby on Rails开发,提供直观的Web界面,适合需要在自己的服务器上部署电子签名服务的团队。

项目地址:GitHub – docusealco/docuseal

核心功能

  • 文档模板:上传PDF文档,通过拖拽方式添加签名框、日期框、文本框等表单字段。
  • 多方签署:支持多个签署人按顺序或并行签署同一文档。
  • 邮件通知:自动发送签署邀请和完成通知邮件。
  • API接口:提供REST API,可以集成到现有应用中。
  • Webhook:签署完成后通过Webhook通知你的系统。
  • 审计日志:记录完整的签署过程,包括IP地址、时间戳等。
  • 多语言:支持中文在内的多种语言界面。

Docker部署教程

DocuSeal推荐使用Docker部署,步骤如下:

1. 创建docker-compose.yml

version: "3"
services:
  docuseal:
    image: docuseal/docuseal:latest
    ports:
      - "3000:3000"
    volumes:
      - docuseal-data:/data
    environment:
      - DATABASE_URL=sqlite3:/data/docuseal.sqlite3
      - RAILS_ENV=production
      - SECRET_KEY_BASE=your-random-secret-key-here

volumes:
  docuseal-data:

2. 启动服务

docker-compose up -d

3. 访问初始化

打开浏览器访问 http://your-server:3000,按照向导创建管理员账户。

4. 配置邮件(可选)

在环境变量中添加SMTP配置:

SMTP_ADDRESS=smtp.example.com
SMTP_PORT=587
SMTP_USERNAME=your-email@example.com
SMTP_PASSWORD=your-password
SMTP_DOMAIN=example.com

与DocuSign对比

特性DocuSeal(自部署)DocuSign(SaaS)
价格免费开源$10-60/月/用户
数据控制完全在自己服务器存储在DocuSign云端
自定义可完全自定义受限于平台功能
法律效力取决于当地法律全球认可
合规认证需要自行确保SOC 2、ISO 27001等
维护成本需要自行运维平台托管

适合谁使用

  • 中小团队:需要内部合同签署,但不想为每个用户付费。
  • 数据敏感行业:不想将签署文档存储在第三方云端。
  • 定制化需求:需要将签署功能集成到自己的业务系统中。
  • 学习和研究:想了解电子签名系统的技术实现。

注意事项

  • 电子签名的法律效力因国家和地区而异,重要合同建议咨询法律专业人士。
  • 自部署需要自行负责服务器安全、数据备份和SSL证书配置。
  • 对于需要全球法律认可的签署场景,DocuSign等成熟SaaS仍然是更稳妥的选择。

来源:

DocuSign是全球最知名的电子签名服务,但其定价对中小站长和创业团队来说并不友好。DocuSeal...

3天前 49
评论 抢沙发

请登录后发表评论

    暂无评论内容