# opsxclaw
**Repository Path**: attacker/opsxclaw
## Basic Information
- **Project Name**: opsxclaw
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-02-24
- **Last Updated**: 2026-02-25
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# OpsXClaw

**A powerful operations automation platform inspired by OpenClaw**
[](https://golang.org/)
[](https://vuejs.org/)
[](LICENSE)
## Features
- **Agent Management**: Deploy and manage distributed agents across your infrastructure
- **Skill System**: Modular skills for extending functionality
- **Task Scheduling**: Cron-like job scheduling with web UI
- **Web Dashboard**: Modern Vue3-based management interface
- **Gateway**: Central hub for agent communication
- **Authentication**: JWT-based authentication with role-based access control
- **Real-time**: WebSocket support for live updates
- **Migration Tools**: Easy migration from OpenClaw
## Architecture
```
┌─────────────────────────────────────────────────────────────┐
│ OpsXClaw │
├─────────────────────────────────────────────────────────────┤
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Agent │ │ Gateway │ │ Skills │ │
│ │ (Workers) │ │ (WebSocket)│ │ (Modules) │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
├─────────────────────────────────────────────────────────────┤
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Cron │ │ Auth │ │ API │ │
│ │ (Scheduler) │ │ (JWT/RBAC) │ │ (REST) │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
├─────────────────────────────────────────────────────────────┤
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ SQLite │ │ MySQL │ │ PostgreSQL │ │
│ │ (Default) │ │ (Optional) │ │ (Optional) │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
└─────────────────────────────────────────────────────────────┘
```
## Quick Start
### Installation
```bash
# Clone the repository
git clone https://github.com/opsxclaw/opsxclaw.git
cd opsxclaw
# Build the project
make build
# Or install dependencies and build manually
go mod download
cd web && npm install && npm run build
cd ..
go build -o opsxclaw .
```
### Initial Setup
```bash
# Run interactive onboarding
./opsxclaw onboard
# Or quick setup with defaults
./opsxclaw onboard --quick
```
### Start the Dashboard
```bash
# Start the web dashboard
./opsxclaw dashboard
# Access the dashboard at http://localhost:8080
```
## Commands
```
Commands:
onboard 首次命令行交互shell初始化
dashboard web页面管理
agent Interact with the agent directly
auth Manage authentication (login, logout, status)
gateway Start picoclaw gateway
status Show picoclaw status
cron Manage scheduled tasks
migrate Migrate from OpenClaw to PicoClaw
skills Manage skills (install, list, remove)
version Show version information
```
## CLI Usage
### Agent Management
```bash
# Start the agent
opsxclaw agent --start
# Check agent status
opsxclaw agent --status
# Execute a command
opsxclaw agent --exec "echo hello"
# Interactive shell
opsxclaw agent --shell
```
### Authentication
```bash
# Login
opsxclaw auth login
# Check status
opsxclaw auth status
# Logout
opsxclaw auth logout
```
### Skills Management
```bash
# List installed skills
opsxclaw skills list
# Install a skill
opsxclaw skills install ssh-manager
# Remove a skill
opsxclaw skills remove ssh-manager
```
### Cron Jobs
```bash
# List scheduled tasks
opsxclaw cron list
# Add a new job
opsxclaw cron add "0 * * * *" "backup.sh" --name "Hourly Backup"
# Remove a job
opsxclaw cron remove 1
```
## Development
### Backend Development
```bash
# Run backend in development mode
go run . dashboard --mode debug
# Run tests
go test ./...
# Generate API documentation
make docs
```
### Frontend Development
```bash
cd web
# Install dependencies
npm install
# Start development server
npm run dev
# Build for production
npm run build
```
## Configuration
Configuration file location: `~/.opsxclaw/config.yaml`
**Default directory structure:**
```
~/.opsxclaw/
├── config.yaml # Main configuration file
├── sqlite3.db # SQLite database (default)
├── agent/ # Agent working directory
├── workspace/ # Sandbox workspace
└── logs/
└── opsxclaw.log # Log files
```
**Environment variables:**
- `OPSXCLAW_HOME` - Override default home directory
- All config values can be overridden with `OPSXCLAW__`
```yaml
server:
host: "0.0.0.0"
port: "8080"
mode: "release"
database:
type: "sqlite"
path: "sqlite3.db" # Relative to ~/.opsxclaw/
auth:
jwt_secret: "" # Auto-generated on first run
token_expiry: 24
refresh_expiry: 7
agent:
enabled: true
auto_start: true
max_workers: 10
gateway:
enabled: false
port: "9090"
cron:
enabled: true
worker_count: 5
channels:
enabled: true
sandbox:
enabled: true
```
## API Documentation
API documentation is available at `/api/docs` when running in debug mode.
### Authentication
```bash
# Get token
curl -X POST http://localhost:8080/api/v1/auth/login \
-H "Content-Type: application/json" \
-d '{"username":"admin","password":"secret"}'
# Use token
curl http://localhost:8080/api/v1/agents \
-H "Authorization: Bearer "
```
## Project Structure
```
opsxclaw/
├── cmd/ # CLI commands
│ ├── onboard/ # Onboarding wizard
│ ├── dashboard/ # Dashboard server
│ ├── agent/ # Agent commands
│ ├── auth/ # Authentication commands
│ ├── gateway/ # Gateway server
│ ├── cron/ # Cron management
│ ├── migrate/ # Migration tools
│ ├── skills/ # Skills management
│ └── version/ # Version info
├── internal/ # Internal packages
│ ├── api/ # REST API handlers
│ ├── agent/ # Agent core
│ ├── auth/ # Authentication
│ ├── config/ # Configuration
│ ├── cron/ # Cron scheduler
│ ├── gateway/ # Gateway core
│ ├── logger/ # Logging
│ ├── middleware/ # HTTP middleware
│ ├── migrate/ # Migration logic
│ ├── models/ # Database models
│ └── skills/ # Skills manager
├── pkg/ # Public packages
│ └── utils/ # Utilities
├── web/ # Vue3 frontend
│ ├── src/
│ │ ├── api/ # API clients
│ │ ├── components/ # Vue components
│ │ ├── layouts/ # Page layouts
│ │ ├── router/ # Vue Router
│ │ ├── store/ # Pinia stores
│ │ ├── styles/ # SCSS styles
│ │ ├── types/ # TypeScript types
│ │ └── views/ # Page views
│ └── package.json
├── docs/ # Documentation
├── configs/ # Configuration templates
├── scripts/ # Build scripts
├── Makefile # Build automation
├── go.mod # Go module
└── README.md # This file
```
## Contributing
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Acknowledgments
- Inspired by [OpenClaw](https://github.com/openclaw/openclaw)
- Built with [Gin](https://gin-gonic.com/) and [Vue3](https://vuejs.org/)
## Support
- Documentation: https://docs.opsxclaw.io
- Issues: https://github.com/opsxclaw/opsxclaw/issues
- Discussions: https://github.com/opsxclaw/opsxclaw/discussions