Skip to content

mozinator/rhino-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rhino CLI

A three-tier HTTP server for controlling Rhino 3D from the command line with robust process management and health monitoring.

Architecture

Client (rhino CLI) → HTTP → Go Server → TCP → Python Server (in Rhino)

The Go server manages Rhino as a subprocess, provides REST API on port 9090, handles request queuing with 4 workers, and monitors Rhino health every 30 seconds with auto-restart on failures.

Key Features:

  • Detached Rhino subprocess with zombie prevention
  • Multi-layer health checks (HTTP + process PIDs)
  • Graceful shutdown with timeout and force-kill fallback
  • TCP/Unix socket support for Python server communication

Learn more about the architecture →

Installation

go build -o rhino cmd/rhino/main.go

Quick Start

Prerequisites: Run rhino doctor --fix to disable autosave before starting.

# Start server (port 9090)
rhino server

# Check if server is running
rhino ping

# Start MCP server for Claude Desktop
rhino mcp

# Execute Python code
rhino exec --code "rs.AddPoint([0,0,0]); sc.doc.Views.Redraw()"

# Evaluate expressions
rhino eval --expr "rs.UnitSystem()"

View all commands →

Documentation

Development

# Build
go build -o rhino cmd/rhino/main.go

# Test
./rhino server
./rhino exec --code "print('Hello from Rhino')"

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •