rl_sar

GitHub
1.3k 159 较难 1 次阅读 昨天Apache-2.0开发框架其他
AI 解读 由 AI 自动生成,仅供参考

rl_sar 是一个专为机器人强化学习算法打造的“仿真到现实”全流程框架,旨在打通从虚拟训练到真机部署的最后一步。它有效解决了强化学习策略在仿真环境中表现良好,却难以平滑迁移至物理实机的痛点,支持四足、轮式及人形等多种形态的机器人。

该工具特别适合机器人领域的研究人员与开发者使用,帮助他们高效验证运动控制(Locomotion)甚至舞蹈动作(Dance)等复杂策略。rl_sar 的核心亮点在于其极强的兼容性与灵活性:它不仅同时支持 IsaacGym 和 IsaacSim 两大主流仿真平台,还无缝衔接 ROS Noetic 与 ROS2 系统;在模型部署上,灵活适配 libtorch 与 onnxruntime 推理后端。此外,它打破了操作系统限制,既能在 Linux 上运行,也实验性支持 macOS(配合 MuJoCo 仿真)。

目前,rl_sar 已预置了包括宇树(Unitree)A1、Go2、G1,以及智元(Agibot)D1 等多款热门机器人的训练策略与配置文件,用户可直接复用或基于此进行二次开发。无论是学术探索还是工程落地,rl_sar 都提供了一套标准化、低门槛的解决方案,让机器人智能体的训练与部署变得更加简单可靠。

使用场景

某机器人实验室团队正致力于将基于强化学习的步态控制算法从仿真环境迁移到真实的 Unitree Go2 四足机器人上,以实现在复杂地形中的稳定行走。

没有 rl_sar 时

  • 仿真与真机割裂:研究人员需在 IsaacGym 中训练策略,再手动重写代码适配 ROS 和真机驱动,接口不一致导致大量调试时间浪费在环境配置而非算法优化上。
  • 部署风险高昂:缺乏统一的验证框架,未经充分仿真验证的策略直接上机测试,极易因“现实差距”导致机器人摔倒甚至硬件损坏。
  • 多平台适配困难:若需切换仿真器(如从 Gazebo 换到 MuJoCo)或升级 ROS 版本(ROS1 转 ROS2),往往需要重构底层通信逻辑,维护成本极高。
  • 预训练模型复用率低:社区优秀的预训练策略(如 himloco)因缺乏标准加载接口,难以直接应用于自有硬件,重复造轮子现象严重。

使用 rl_sar 后

  • 无缝仿真到真机:rl_sar 提供统一的"SAR"框架,支持同一套策略代码在 IsaacGym/MuJoCo 仿真与真实机器人间一键切换,极大缩短了 Sim-to-Real 的验证周期。
  • 安全可靠的验证流程:利用内置的 Gazebo 和 MuJoCo 高保真仿真进行充分回归测试,确认策略稳定性后再部署至真机,显著降低了设备损坏风险。
  • 灵活的技术栈兼容:原生支持 ROS/ROS2 双版本及 LibTorch/ONNX 多种推理后端,团队可自由选择合适的仿真器和部署环境,无需修改核心逻辑。
  • 开箱即用的生态支持:直接调用针对 Go2 等机型优化的预训练策略(如 robot_lab 成果),快速搭建基准系统,让研发重心回归到上层任务创新。

rl_sar 通过打通仿真验证与物理部署的全链路,让机器人强化学习算法的开发从“手工定制”迈向“标准化流水线”,大幅提升了研发效率与安全性。

运行环境要求

操作系统
  • Linux (Ubuntu 20.04/22.04)
  • macOS (实验性支持,仅限 MuJoCo 仿真)
GPU

未说明 (项目依赖 IsaacGym/IsaacSim/MuJoCo,通常 Isaac 系列需要 NVIDIA GPU,但 README 未明确具体型号和显存要求)

内存

未说明

依赖
notes1. macOS 仅支持 MuJoCo 仿真,不支持 Gazebo 和真机部署。 2. Python 接口当前暂停维护,主要推荐使用 C++ 编译运行。 3. 若使用 IsaacLab (IsaacSim) 训练策略,需配合独立的 robot_lab 项目。 4. 首次运行 Gazebo 需手动下载模型包 (~/.gazebo/models)。 5. 真机部署前务必实施安全措施,作者不对操作风险负责。 6. 部分人形机器人模型 (GR1T1/GR1T2) 仅在 Ubuntu 20.04 上可用。
python未说明 (README 提示 Python 版本暂时停止维护,建议如需使用参考 v2.3 版本)
ROS Noetic (Ubuntu 20.04) 或 ROS2 Foxy/Humble
Gazebo Classic
MuJoCo 3.2.7
libtorch 或 onnxruntime
cmake, g++, build-essential
libyaml-cpp-dev, libeigen3-dev, libboost-all-dev
libspdlog-dev, libfmt-dev, libtbb-dev, liblcm-dev
rl_sar hero image

快速开始

rl_sar

Ubuntu 20.04/22.04 macOS ROS Noetic ROS2 Foxy/Humble Gazebo MuJoCo License

中文文档

本仓库提供了一个用于机器人强化学习算法的仿真验证与物理部署框架,适用于四足机器人、轮式机器人和人形机器人。“sar”代表“simulation and real”。

同时支持 IsaacGymIsaacSim

同时支持 ROS-NoeticROS2-Foxy/Humble

同时支持 libtorchonnxruntime

同时支持 LinuxmacOS(仅支持MuJoCo仿真)

同时支持 GazeboMujoco(部分支持)

同时支持 运动舞蹈

支持列表:

机器人名称 (rname:=) 预训练策略 Gazebo Mujoco 真实
Unitree-A1 (a1) legged_gym (IsaacGym)
Unitree-Go2 (go2) himloco (IsaacGym)
robot_lab (IsaacSim)

Unitree-Go2W (go2w) robot_lab (IsaacSim)
Unitree-B2 (b2) robot_lab (IsaacSim)
Unitree-B2W (b2w) robot_lab (IsaacSim)
Unitree-G1 (g1) robomimic/locomotion (IsaacGym)
robomimic/charleston (IsaacGym)
whole_body_tracking/dance_102 (IsaacSim)
whole_body_tracking/gangnam_style (IsaacSim)
FFTAI-GR1T1 (gr1t1)
(仅在Ubuntu20.04上可用)
legged_gym (IsaacGym)
FFTAI-GR1T2 (gr1t2)
(仅在Ubuntu20.04上可用)
legged_gym (IsaacGym)
zhinao-L4W4 (l4w4) legged_gym (IsaacGym)
Deeprobotics-Lite3 (lite3) himloco (IsaacGym)
Agibot-D1 (d1) robot_lab (IsaacSim)
DDTRobot-Tita (tita) robot_lab (IsaacSim)

[!IMPORTANT] Python版本暂时停止维护,如有需要请使用v2.3,未来可能会重新发布。

[!NOTE] 如果您想使用IsaacLab(IsaacSim)训练策略,请使用robot_lab项目。

robot_lab配置文件joint_names中关节的顺序与本项目中xxx/robot_lab/config.yaml中定义的顺序一致。

欢迎在Github DiscussionDiscord中讨论。

[!CAUTION] 免责声明:用户承认,因使用本代码而产生的所有风险及后果均由用户自行承担,作者对任何直接或间接损害不承担任何责任,在操作前必须采取适当的安全措施。

准备工作

克隆仓库

git clone --recursive --depth 1 https://github.com/fan-ziqi/rl_sar.git

更新时

git pull
git submodule update --init --recursive --recommend-shallow --progress

依赖项

安装所需软件包:

# Ubuntu
sudo apt install cmake g++ build-essential libyaml-cpp-dev libeigen3-dev libboost-all-dev libspdlog-dev libfmt-dev libtbb-dev liblcm-dev

# macOS
brew install boost lcm yaml-cpp tbb libomp pkg-config glfw

如果需要使用ROS,请安装以下依赖包:

# ros-noetic (Ubuntu20.04)
sudo apt install ros-noetic-teleop-twist-keyboard ros-noetic-controller-interface ros-noetic-gazebo-ros-control ros-noetic-joint-state-controller ros-noetic-effort-controllers ros-noetic-joint-trajectory-controller ros-noetic-joy ros-noetic-ros-control ros-noetic-ros-controllers ros-noetic-controller-manager

# ros2-foxy (Ubuntu20.04) / ros2-humble (Ubuntu22.04)
sudo apt install ros-$ROS_DISTRO-teleop-twist-keyboard ros-$ROS_DISTRO-ros2-control ros-$ROS_DISTRO-ros2-controllers ros-$ROS_DISTRO-control-toolbox ros-$ROS_DISTRO-robot-state-publisher ros-$ROS_DISTRO-joint-state-publisher-gui ros-$ROS_DISTRO-gazebo-ros2-control ros-$ROS_DISTRO-gazebo-ros-pkgs ros-$ROS_DISTRO-xacro

编译

在项目根目录下执行以下脚本以编译整个项目:

./build.sh

若需单独编译特定包,可追加包名:

./build.sh package1 package2

清理编译结果时,可使用以下命令。这将移除所有已编译的输出文件及创建的符号链接:

./build.sh -c  # 或 ./build.sh --clean

如无需仿真,仅在机器人上运行,可使用CMake进行编译,并禁用ROS(编译后的可执行文件位于cmake_build/bin,库文件位于cmake_build/lib):

./build.sh -m  # 或 ./build.sh --cmake

如需使用Mujoco模拟器:

./build.sh -mj  # 或 ./build.sh --mujoco

有关详细使用说明,可通过./build.sh -h查看:

用法:./build.sh [选项] [包名...]

选项:
  -c, --clean    清理工作区(移除符号链接和构建产物)
  -m, --cmake    使用CMake构建(仅用于硬件部署)
  -mj,--mujoco   支持MuJoCo模拟器的构建(仅限CMake)
  -h, --help     显示此帮助信息

示例:
  ./build.sh                    # 构建所有ROS包
  ./build.sh package1 package2  # 构建特定ROS包
  ./build.sh -c                 # 清理所有符号链接和构建产物
  ./build.sh --clean package1   # 清理特定包及其构建产物
  ./build.sh -m                 # 使用CMake构建,用于硬件部署
  ./build.sh -mj                # 使用CMake构建,并支持MuJoCo模拟器

[!TIP] 若catkin构建报错:“无法找到可执行文件‘empy’或Python模块‘em’”,请在catkin build之前运行catkin config -DPYTHON_EXECUTABLE=/usr/bin/python3

运行

在下文中,**<ROBOT>/<CONFIG>**用于表示不同环境,例如go2/himlocogo2w/robot_lab

运行前,请将训练好的pt模型文件复制到rl_sar/src/rl_sar/policy/<ROBOT>/<CONFIG>,并配置<ROBOT>/<CONFIG>/config.yaml<ROBOT>/base.yaml中的参数。

仿真

Gazebo

打开终端,启动Gazebo仿真环境:

# ROS1
source devel/setup.bash
roslaunch rl_sar gazebo.launch rname:=<ROBOT>

# ROS2
source install/setup.bash
ros2 launch rl_sar gazebo.launch.py rname:=<ROBOT>

再打开一个新终端,启动控制程序:

# ROS1
source devel/setup.bash
rosrun rl_sar rl_sim

# ROS2
source install/setup.bash
ros2 run rl_sar rl_sim

[!TIP] 重要提示: 启动 Gazebo 后,必须在另一个终端中启动 rl_sim 才能控制机器人。如果没有 rl_sim,机器人将无法被控制,并可能倒下。

如果在 Ubuntu 22.04 中启动 Gazebo 后看不到机器人,则说明机器人是在视野之外初始化的。启动 rl_sim 后,机器人的位置会自动重置。如果机器人在站立过程中倒下,可以使用键盘上的 R 键或游戏手柄上的 RB+Y 组合键来重置机器人。

如果首次启动 Gazebo 时无法打开,需要下载模型包:

git clone https://github.com/osrf/gazebo_models.git ~/.gazebo/models

Mujoco

./cmake_build/bin/rl_sim_mujoco <ROBOT> <SCENE>
# 示例:./cmake_build/bin/rl_sim_mujoco g1 scene_29dof

Docker

Docker 支持用于仿真和部署。详情请参阅 docker/README.md

# 启动容器
xhost +local:docker  # 在主机上启用 X11
cd docker && docker compose up -d
docker compose exec rl_sar bash

# 容器内 - MuJoCo
./cmake_build/bin/rl_sim_mujoco g1 scene_29dof

# 容器内 - Gazebo
ros2 launch rl_sar gazebo.launch.py rname:=go2
# (新终端)ros2 run rl_sar rl_sim

# 容器内 - 实际机器人
./cmake_build/bin/rl_real_go2 <NETWORK_INTERFACE>

使用手机网页控制(实验性)

安装依赖项:

sudo apt install ros-${ROS_DISTRO}-rosbridge-suite
sudo apt install ros-${ROS_DISTRO}-web-video-server

# 如果您使用的不是 Humble、Jazz 和 Rolling 版本的 ROS2,需要从源代码构建 `web_video_server`
cd <your_ros2_workspace>/src
git clone https://github.com/RobotWebTools/web_video_server.git
cd <your_ros2_workspace>
colcon build --packages-select web_video_server

在机器人上运行 rosbridge 和 web_video_server:

# ROS1
roslaunch rosbridge_server rosbridge_websocket.launch
rosrun web_video_server web_video_server

# ROS2
ros2 launch rosbridge_server rosbridge_websocket_launch.xml
ros2 run web_video_server web_video_server

访问 http://robot.robotsfan.com/,填写 IP 地址和端口,检查右上角的设置页面,然后连接到机器人。进入控制页面后,将屏幕横过来并点击左上角的全屏按钮,即可通过手机浏览器控制机器人!

使用游戏手柄或键盘控制

游戏手柄控制 键盘控制 说明
基本操作
A Num0 使用位置控制插值将机器人从初始程序姿态移动到 base.yaml 中定义的 default_dof_pos
B Num9 使用位置控制插值将机器人从当前姿态移动到初始程序姿态
X N 切换导航模式(禁用速度指令,接收 cmd_vel 主题)
Y
仿真模式
RB+Y R 重置 Gazebo 环境(扶起倒下的机器人)
RB+X Enter 切换 Gazebo 的运行/停止状态(默认为运行状态)
电机控制
LB+A M 无(建议用于电机启用)
LB+B K 无(建议用于电机关闭)
LB+X P 无 电机被动模式(kp=0, kd=8
LB+RB 无(建议用于紧急停止)
技能
RB+DPadUp Num1 基础行走
RB+DPadDown Num2 技能 2
RB+DPadLeft Num3 技能 3
RB+DPadRight Num4 技能 4
LB+DPadUp Num5 技能 5
LB+DPadDown Num6 技能 6
LB+DPadLeft Num7 技能 7
LB+DPadRight Num8 技能 8
运动
LY 轴 W/S 前后移动(X 轴)
LX 轴 A/D 左右移动(Y 轴)
RX 轴 Q/E 偏航旋转
无(松开摇杆) 空格 将所有控制指令重置为零

实际机器人

Unitree A1(点击展开)

Unitree A1 可以通过无线和有线两种方式连接:

  • 无线:连接到由机器人广播的 WIFI 开头的 Unitree 网络 (注意:无线连接可能导致数据包丢失、断开连接,甚至失去控制,请确保安全)
  • 有线:使用以太网线连接电脑和机器人任意端口,将电脑 IP 配置为 192.168.123.162,子网掩码为 255.255.255.0。

打开一个新的终端并启动控制程序:

# ROS1
source devel/setup.bash
rosrun rl_sar rl_real_a1

# ROS2
source install/setup.bash
ros2 run rl_sar rl_real_a1

# CMake
./cmake_build/bin/rl_real_a1
Unitree Go2/Go2W/G1(29dofs)(点击展开)

以太网连接

将以太网线的一端连接到 Go2/Go2W/G1(29dofs) 机器人,另一端连接到您的电脑。然后,在电脑上启用 USB 以太网并进行配置。Go2 机器人板载计算机的 IP 地址是 192.168.123.161,因此电脑的 USB 以太网地址应设置为与机器人同一网段。例如,在“地址”字段输入 192.168.123.222(您可以将 222 替换为其他数字)。

使用 ifconfig 命令查找 123 网段的网络接口名称,例如 enxf8e43b808e06。在后续步骤中,将 <YOUR_NETWORK_INTERFACE> 替换为实际的网络接口名称。

Go2:

打开一个新的终端并启动控制程序。如果您控制的是 Go2W,需要在命令后添加 wheel,否则保持空白。

# ROS1
source devel/setup.bash
rosrun rl_sar rl_real_go2 <YOUR_NETWORK_INTERFACE> [wheel]

# ROS2
source install/setup.bash
ros2 run rl_sar rl_real_go2 <YOUR_NETWORK_INTERFACE> [wheel]

# CMake
./cmake_build/bin/rl_real_go2 <YOUR_NETWORK_INTERFACE> [wheel]

G1(29dofs):

打开机器人并将其抬起,按下 L2+R2 进入调试模式,然后打开一个新的终端并启动控制程序。

# ROS1
source devel/setup.bash
rosrun rl_sar rl_real_g1 <YOUR_NETWORK_INTERFACE>

# ROS2
source install/setup.bash
ros2 run rl_sar rl_real_g1 <YOUR_NETWORK_INTERFACE>

# CMake
./cmake_build/bin/rl_real_g1 <YOUR_NETWORK_INTERFACE>

在板载 Jetson 上部署

使用以太网线将您的电脑连接到机器人,并登录到 Jetson 板载计算机。默认密码是 123

ssh unitree@192.168.123.18

将手机连接到机器人的 USB 接口,在手机上启用 USB 网络共享,拉取代码并使用 ./build.sh -m 编译。编译成功后,运行:

# Go2:
./cmake_build/bin/rl_real_go2 <YOUR_NETWORK_INTERFACE> [wheel]

# G1(29个自由度):
./cmake_build/bin/rl_real_g1 <你的网络接口>

然后你可以拔掉手机和网线,使用遥控器控制机器人。

开机自启动

如果需要设置开机自启动,可以按照以下步骤操作:

创建服务文件

sudo touch /etc/systemd/system/rl_sar.service

写入以下内容,假设 rl_sar 项目位于 ~/rl_sar 目录下

[Unit]
Description=RL SAR Service
After=network.target

[Service]
Type=simple
User=unitree
WorkingDirectory=/home/unitree/rl_sar
ExecStart=/home/unitree/rl_sar/cmake_build/bin/rl_real_go2 eth0 wheel
Restart=on-failure
RestartSec=5
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target

重新加载 systemd 配置:

sudo systemctl daemon-reload

启用开机自启动:

sudo systemctl enable rl_sar.service

禁用开机自启动:

sudo systemctl disable rl_sar.service

启动服务:

sudo systemctl start rl_sar.service

停止服务:

sudo systemctl stop rl_sar.service

重启服务:

sudo systemctl restart rl_sar.service

查看服务日志:

sudo journalctl -u rl_sar.service -f

重启后,机器人会先运行内置的站立程序。rl_sar 服务启动后,机器人会自动降噪,随后就可以通过遥控器正常控制了。

Deeprobotics Lite3(点击展开)

Deeprobotics Lite3 可以通过无线方式连接。 (有线方式尚未测试。对于某些版本的 Lite3,有线以太网端口可能需要额外安装驱动。)

  • 首先连接到由机器人广播的 WIFI。强烈建议在使用前先使用 Lite3_Motion_SDK 测试与 Lite3 的通信。 (注意:无线连接可能导致丢包、断开甚至失去控制,请务必确保安全)

  • 确定 Lite3 的 IP 地址和端口号,并修改 rl_sar/src/rl_real_lite3.cpp 中的第 46–48 行

  • 然后在 Lite3 运动主机上更新 jy_exe/conf/network.toml,将 IP 和端口设置为运行 ROS2 的本地机器的 IP,从而实现通信。

[!CAUTION] 请再次检查关节映射参数!
请再次检查 rl_sar/policy/himloco/config.yaml。Sim2Sim 配置中的默认关节映射与实际使用的不同。如果不相应更新,这种不匹配可能导致机器人行为异常,甚至引发安全隐患。

Lite3 还支持使用 Deeprobotics Retroid 游戏手柄进行控制,详情请参阅 Deeprobotics Gamepad

打开一个新的终端并启动控制程序:

# ROS1
source devel/setup.bash
rosrun rl_sar rl_real_lite3

# ROS2
source install/setup.bash
ros2 run rl_sar rl_real_lite3

# CMake
./cmake_build/bin/rl_real_lite3
Agibot D1(点击展开)

D1 可以通过无线网络连接。

  • 连接到 D1 的 WiFi(默认 SSID 和密码在机器人侧面的标签上)
  • 机器人默认 IP:192.168.234.1(WiFi)或 192.168.168.168(以太网)
  • 你需要在机器人端配置 /opt/export/config/sdk_config.yaml,将 target_ip 设置为你的电脑的 IP。

网络配置步骤:

  1. 通过 SSH 登录到机器人:
ssh firefly@192.168.234.1  # 密码:firefly
  1. 修改 SDK 配置文件:
vim /opt/export/config/sdk_config.yaml

target_ip 改为你电脑的 IP 地址(例如 192.168.234.2)。

  1. 重启机器人使配置生效。

运行控制程序:

# ROS1
source devel/setup.bash
rosrun rl_sar rl_real_d1 [本地IP] [机器人IP]

# ROS2
source install/setup.bash
ros2 run rl_sar rl_real_d1 [本地IP] [机器人IP]

# CMake
./cmake_build/bin/rl_real_d1 [本地IP] [机器人IP]

# 示例(使用默认IP)
./cmake_build/bin/rl_real_d1 192.168.234.2 192.168.234.1

训练执行器网络

以下以 A1 为例

  1. rl_real_a1.hpp 的顶部取消注释 #define CSV_LOGGER。你也可以修改仿真程序中的相应部分,收集仿真数据用于测试训练过程。
  2. 运行控制程序,程序会将所有数据记录到 src/rl_sar/policy/<ROBOT>/motor.csv
  3. 停止控制程序,开始训练执行器网络。请注意,以下路径中省略了 rl_sar/src/rl_sar/policy/
    rosrun rl_sar actuator_net.py --mode train --data a1/motor.csv --output a1/motor.pt
    
  4. 验证训练好的执行器网络。
    rosrun rl_sar actuator_net.py --mode play --data a1/motor.csv --output a1/motor.pt
    

添加你的机器人

以下使用 <ROBOT>/<CONFIG> 来表示你的机器人环境。你只需创建或修改以下文件,且文件名必须与所示完全一致。(可以参考 go2w 中的对应文件作为示例。)

# 你的机器人描述
rl_sar/src/rl_sar_zoo/<ROBOT>_description/CMakeLists.txt
rl_sar/src/rl_sar_zoo/<ROBOT>_description/package.ros1.xml
rl_sar/src/rl_sar_zoo/<ROBOT>_description/package.ros2.xml
rl_sar/src/rl_sar_zoo/<ROBOT>_description/xacro/robot.xacro
rl_sar/src/rl_sar_zoo/<ROBOT>_description/xacro/gazebo.xacro
rl_sar/src/rl_sar_zoo/<ROBOT>_description/config/robot_control.yaml
rl_sar/src/rl_sar_zoo/<ROBOT>_description/config/robot_control_ros2.yaml

# 你的策略
policy/<ROBOT>/base.yaml  # 此文件必须按照物理机器人的关节顺序编写
policy/<ROBOT>/<CONFIG>/config.yaml
policy/<ROBOT>/<CONFIG>/<POLICY>.pt  # 适用于 libtorch,注意需要导出 JIT 格式
policy/<ROBOT>/<CONFIG>/<POLICY>.onnx  # 适用于 onnxruntime

# 机器人状态机
src/rl_sar/fsm_robot/fsm_<ROBOT>.hpp
src/rl_sar/fsm_robot/fsm_all.hpp

# 你的真实机器人代码
rl_sar/src/rl_sar/src/rl_real_<ROBOT>.cpp  # 你可以根据需要自定义 forward() 函数,以适配你的策略

贡献

我们诚挚欢迎社区的贡献,以使这个框架更加成熟并惠及所有人。这些贡献可以是 bug 报告、功能请求或代码提交。

贡献者列表

引用

如果你使用了本代码或其中的部分内容,请引用以下信息:

@software{fan-ziqi2024rl_sar,
  author = {fan-ziqi},
  title = {rl_sar:机器人强化学习算法的仿真验证与物理部署},
  url = {https://github.com/fan-ziqi/rl_sar},
  year = {2024}
}

致谢

本项目使用了以下开源代码仓库中的部分代码:

版本历史

v4.1.02026/03/19
v4.0.02025/10/29
v3.2.02025/09/19
v3.1.02025/07/10
v3.0.12025/07/05
v3.0.02025/06/28
v2.52025/06/23
v2.42025/06/14
v2.32025/03/13
v2.22025/01/11
v2.12024/10/15
v2.02024/08/15
v1.22024/08/09
v1.12024/08/09
v1.02024/05/24

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|1周前
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|1周前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

156.8k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

108.3k|★★☆☆☆|5天前
开发框架图像Agent

gemini-cli

gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

100.8k|★★☆☆☆|6天前
插件Agent图像

markitdown

MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|1周前
插件开发框架