ワンクリックで
meta-wopr
Installation, configuration, and deployment guide for WOPR - the self-sovereign AI session management system.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Installation, configuration, and deployment guide for WOPR - the self-sovereign AI session management system.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Comprehensive P2P networking plugin for WOPR using Hyperswarm, identity management, topic-based discovery, and secure peer communication
WOPR security configuration reference covering trust levels, capabilities, sandbox isolation, access patterns, and session security.
Complete WOPR CLI reference for session management, skills, plugins, providers, middleware, cron jobs, security, and sandbox isolation.
| name | meta-wopr |
| description | Installation, configuration, and deployment guide for WOPR - the self-sovereign AI session management system. |
This skill covers installing, configuring, and deploying WOPR from scratch.
node --version # Should be v20.0.0 or higher
npm --version # Should be 9.0.0 or higher
Using nvm (recommended):
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
source ~/.bashrc # or ~/.zshrc
nvm install 20
nvm use 20
Using package manager:
# Ubuntu/Debian
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs
# macOS with Homebrew
brew install node@20
# Windows (use installer from nodejs.org)
npm install -g @tsavo/wopr
wopr --version
wopr --help
npm update -g @tsavo/wopr
npm uninstall -g @tsavo/wopr
rm -rf ~/.wopr # Remove all data (optional)
Run the onboarding wizard for guided setup:
wopr onboard
The wizard will:
~/.wopr/ directory structureIf you prefer manual setup:
# Create directory structure
mkdir -p ~/.wopr/{sessions,skills,plugins,config,logs,cache}
# Initialize configuration
wopr configure
Run the configuration wizard anytime to update settings:
wopr configure
The wizard covers:
For users with Claude Max or Pro subscriptions:
wopr auth login
This opens a browser for OAuth authentication with Anthropic. After successful login, credentials are stored securely in ~/.wopr/config/credentials.json.
For direct API access:
# Interactive (masked input)
wopr auth api-key
# Direct (not recommended for security)
wopr auth api-key sk-ant-api03-xxxxx
wopr auth # Show current auth status
wopr auth logout # Clear current credentials
wopr auth login # Re-authenticate with OAuth
# or
wopr auth api-key # Switch to API key
Configure additional AI providers:
wopr providers add anthropic sk-ant-xxxxx
wopr providers add codex sk-xxxxx
The daemon runs in the background to handle cron jobs, webhooks, and inter-session communication.
wopr daemon start
wopr daemon status # Check if daemon is running
wopr daemon stop # Stop the daemon
wopr daemon logs # View daemon logs
Linux (systemd):
# Create service file
sudo tee /etc/systemd/system/wopr.service << 'EOF'
[Unit]
Description=WOPR AI Agent Daemon
After=network.target
[Service]
Type=simple
User=$USER
ExecStart=/usr/bin/wopr daemon start --foreground
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF
# Enable and start
sudo systemctl daemon-reload
sudo systemctl enable wopr
sudo systemctl start wopr
macOS (launchd):
# Create plist file
cat > ~/Library/LaunchAgents/com.wopr.daemon.plist << 'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.wopr.daemon</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/wopr</string>
<string>daemon</string>
<string>start</string>
<string>--foreground</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
</dict>
</plist>
EOF
# Load the service
launchctl load ~/Library/LaunchAgents/com.wopr.daemon.plist
WOPR stores all data in ~/.wopr/:
~/.wopr/
├── config.json # Main configuration
├── sessions.json # Session ID mappings
├── sessions/
│ └── <session-name>/
│ ├── context.md # Session context
│ └── *.conversation.jsonl # Conversation history
├── skills/
│ └── <skill-name>/
│ └── SKILL.md # Skill definition
├── plugins/
│ └── <plugin-name>/ # Installed plugins
├── identity.json # P2P identity (if P2P plugin installed)
├── access.json # P2P access grants
├── peers.json # Known P2P peers
├── crons.json # Scheduled jobs
├── registries.json # Skill registries
├── daemon.pid # Daemon process ID
└── daemon.log # Daemon logs
# Full backup
tar -czf wopr-backup-$(date +%Y%m%d).tar.gz ~/.wopr
# Sessions only
tar -czf wopr-sessions-$(date +%Y%m%d).tar.gz ~/.wopr/sessions
# Restore from backup
tar -xzf wopr-backup-20250130.tar.gz -C ~/
Configure WOPR behavior via environment variables:
# Core settings
export WOPR_HOME=~/.wopr # Data directory (default: ~/.wopr)
# Authentication
export ANTHROPIC_API_KEY=sk-ant-xxxxx # Anthropic API key
export OPENAI_API_KEY=sk-xxxxx # OpenAI API key
# Daemon settings
export WOPR_DAEMON_PORT=7437 # Daemon port (default: 7437)
export WOPR_DAEMON_HOST=127.0.0.1 # Daemon host (default: 127.0.0.1)
Add to your shell profile (~/.bashrc, ~/.zshrc, etc.):
# WOPR Configuration
export ANTHROPIC_API_KEY="sk-ant-xxxxx"
Create docker-compose.yml:
version: '3.8'
services:
wopr:
image: tsavo/wopr:latest
container_name: wopr
restart: unless-stopped
volumes:
- ~/.wopr:/root/.wopr
environment:
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
- WOPR_DAEMON_HOST=0.0.0.0
ports:
- "7437:7437"
healthcheck:
test: ["CMD", "wopr", "daemon", "status"]
interval: 30s
timeout: 10s
retries: 3
Run with:
docker-compose up -d
docker-compose logs -f
# Dockerfile
FROM node:20-alpine
RUN npm install -g @tsavo/wopr
WORKDIR /root
ENTRYPOINT ["wopr"]
CMD ["daemon", "start", "--foreground"]
docker build -t wopr:local .
docker run -d --name wopr -v ~/.wopr:/root/.wopr wopr:local
The npm global bin directory is not in your PATH.
# Find npm global bin
npm config get prefix
# Add to PATH (add to ~/.bashrc or ~/.zshrc)
export PATH="$(npm config get prefix)/bin:$PATH"
# Reload shell
source ~/.bashrc
Fix npm permissions:
# Option 1: Use nvm (recommended)
nvm install 20
nvm use 20
# Option 2: Fix npm prefix
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
export PATH=~/.npm-global/bin:$PATH
npm install -g @tsavo/wopr
Configure authentication:
wopr auth login # For OAuth
# or
wopr auth api-key # For API key
Check for port conflicts:
# Check if port is in use
lsof -i :7437
# Use different port
export WOPR_DAEMON_PORT=7438
wopr daemon start
List available sessions:
wopr session list
Clear cache and retry:
wopr skill cache clear
npm cache clean --force
wopr plugin install <plugin-name>
Enable verbose logging for troubleshooting:
export DEBUG=wopr:*
wopr daemon start
wopr providers health-check # Check AI provider connectivity
wopr daemon status # Check daemon status
wopr config list # Verify configuration
wopr daemon logs # Recent logs
cat ~/.wopr/daemon.log # Full daemon log
If configuration is corrupted:
# Backup first
cp -r ~/.wopr ~/.wopr.backup
# Reset config only
rm ~/.wopr/config.json
wopr configure
# Full reset (loses all data)
rm -rf ~/.wopr
wopr onboard
wopr --help # General help
wopr <command> --help # Command-specific help
npm install -g @tsavo/woprwopr onboardwopr auth login or wopr auth api-key)wopr daemon start)wopr session create main "You are a helpful assistant")wopr session inject main "Hello!")After installation:
wopr skill search and wopr skill installwopr providers addwopr cron addwopr plugin searchwopr plugin install wopr-plugin-p2pSee the wopr skill for complete CLI reference.