运维安装
- 作者仓库星标 0
- 作者更新于 实时读取
- 作者仓库 FarmFriend-Terminal-React
- 领域
- 运维部署 · hosting · deployment · sftp
- 兼容 Agent
-
- Claude Code
- Cursor
- Cline
- Codex
- Windsurf
- Gemini CLI
- +20
- 信任分
- 98 / 100 · 已通过审计
- 作者 / 版本 / 许可
- @0-CYBERDYNE-SYSTEMS-0 · v1.0.0 · 未声明 license
- Token 消耗评级
- 低消耗
- 接入复杂程度
- 需简单配置
- 是否需要外部 API Key
- 不需要
- 兼容的系统
- 未声明(默认跨平台)
- 底层运行要求
- Python
- 文件与系统权限
-
- 只读
- 允许写入 / 修改
- Shell 执行
- 读取环境变量
- 网络行为
- 仅限本地
- 安装命令数
- 26 条
档案由构建时根据 SKILL.md 与安装命令自动衍生,可能与作者实际意图存在差异。
---
name: DreamHost Manager
description: Complete DreamHost website management via SFTP/SSH for React JS deployments, multi-site routing…
category: 运维部署
runtime: Python
---
# DreamHost Manager 输出预览
## PART A: 任务判断
- 适用问题:部署、CI、环境检查、发布或运维排障。
- 输入要求:目标材料、限制条件、期望输出和验收方式。
- 证据边界:围绕“Quick Start / 1. Setup Credentials / 2. Configure Domain Mappings (Optional but Recommended)”读取原文规则,不把推断写成作者承诺。
## PART B: 执行结果
- **01** 任务判断:确认你的需求是否属于部署、CI、环境检查、发布或运维排障,并标出输入、限制和预期结果。
- **02** 执行计划:优先按“Quick Start / 1. Setup Credentials / 2. Configure Domain Mappings (Optional but Recommended)”拆成步骤,说明每一步会读取什么、修改什么、产出什么。
- **03** 交付结果:给出可复制的命令、文件改动、检查清单或内容草稿,并说明如何继续迭代。
- **04** 风险边界:结合 读取文件、写入/修改文件、执行终端命令、读取环境变量、主要在本地完成、通常不需要额外 API Key 给出执行前确认项。
## Running Rules
- 读取文件、写入/修改文件、执行终端命令、读取环境变量;主要在本地完成;通常不需要额外 API Key。
- 先小样例验证,再放大到真实任务。
- 交付时同时给结果、检查口径和下一步迭代建议。 原文出现了 `/home`、`/backup` 这类斜杠命令;如果你的 Agent 支持命令触发,优先用命令开场,再补充目标和边界。
告诉 Agent 目标文件或材料、期望结果、不可改范围、是否允许联网或执行命令。本 Skill 的权限画像是:读取文件、写入/修改文件、执行终端命令、读取环境变量。
先用一个小任务确认它会围绕“Quick Start / 1. Setup Credentials / 2. Configure Domain Mappings (Optional but Recommended)”工作;涉及文件或命令时,先看 diff、日志、预览或测试结果。
检查最终产物是否包含明确结果、必要证据和下一步动作;如果输出泛泛而谈,就补充输入、边界和验收标准后重跑。
---
name: DreamHost Manager
description: Complete DreamHost website management via SFTP/SSH for React JS deployments, multi-site routing…
category: 运维部署
source: 0-CYBERDYNE-SYSTEMS-0/FarmFriend-Terminal-React
---
# DreamHost Manager
## 什么时候使用
- DreamHost Manager 是运维部署方向的技能,让 Agent 操作环境、改配置、跑发布流程 适合处理部署、CI、发布、回滚、环境检查和运维排障,核心价值是把输入、判断、执行、验证和交付边界固定下来,避免 Agent 泛泛回答…
- 面向部署、CI、环境检查、发布或运维排障,优先处理能明确输入、步骤和验收标准的工作。
## 需要提供什么
- 目标材料、目录范围、期望结果和不可改动内容。
- 是否允许联网、执行命令、读写文件或调用外部服务。
## 执行规则
- 围绕「Quick Start / 1. Setup Credentials / 2. Configure Domain Mappings (Optional but Recommended)」组织步骤,不把推断写成作者事实。
- 读取文件、写入/修改文件、执行终端命令、读取环境变量;主要在本地完成;通常不需要额外 API Key。
- 先跑小样例,确认结果可检查后再扩大任务范围。
## 输出要求
- 给出最终产物、关键证据、验证方式和下一步动作。
- 信息不足时标记 unknown,不编造命令、平台或依赖。 作者原文负责流程事实;仓库文件负责来源和命令;流狐只补充适用场景、限制和质量判断。
skill "DreamHost Manager" {
输入层 -> 用户目标 + 目标文件 + 禁止范围 + 验收标准
上下文层 -> Quick Start / 1. Setup Credentials / 2. Configure Domain Mappings (Optional but Recommended)
规则层 -> SKILL.md 触发条件 / 执行顺序 / 输出格式
运行层 -> Python | 读取文件、写入/修改文件、执行终端命令、读取环境变量 | 主要在本地完成
安全层 -> 通常不需要额外 API Key + 小任务验证 + diff / 日志复核
输出层 -> 可复制结果 + 检查清单 + 下一步迭代
} DreamHost Manager Skill
Complete solution for managing websites on DreamHost hosting via SFTP/SSH.
Quick Start
1. Setup Credentials
Copy and configure .env file:
cp assets/.env.template .env
# Edit .env with your DreamHost credentials
See setup_guide.md for detailed credential setup.
2. Configure Domain Mappings (Optional but Recommended)
Add your domains to .env for convenient naming:
# .env
DOMAIN_farm-friend.com=/home/dh_cqevup/farm-friend.com
DOMAIN_yourdomain.com=/home/username/yourdomain.com
3. Test Connection
Verify your setup works (using domain name or full path):
# Using domain name (if configured in .env)
python scripts/sftp_operations.py list farm-friend.com
# Using full path (always works)
python scripts/sftp_operations.py list /home/dh_cqevup/farm-friend.com
4. Deploy Your Site
For React apps:
# Using domain name
python scripts/react_deployer.py deploy . farm-friend.com
python scripts/routing_manager.py configure-app farm-friend.com
# Or using full path
python scripts/react_deployer.py deploy . /home/dh_cqevup/farm-friend.com
python scripts/routing_manager.py configure-app /home/dh_cqevup/farm-friend.com
For static sites:
python scripts/directory_sync.py upload ./my-website farm-friend.com
For backups:
python scripts/backup_restore.py backup farm-friend.com ./backups
Core Features
React Application Deployment
Deploy React apps built with Create React App, Vite, or Next.js:
python scripts/react_deployer.py deploy <project_dir> <remote_path>
Automatically:
- Detects framework type
- Runs build process
- Uploads optimized artifacts
- Cleans old deployments
Multi-Site Routing
Configure multiple sites on same domain using:
- Subdomains:
app1.yourdomain.com,app2.yourdomain.com - Subdirectories:
yourdomain.com/app1,yourdomain.com/app2
# Subdomain
python scripts/routing_manager.py configure-subdomain /home/user/app1.yourdomain.com
# Subdirectory
python scripts/routing_manager.py configure-subdir app1 /home/user/yourdomain.com/app1
File Operations
Upload, download, and manage files:
# Upload single file
python scripts/sftp_operations.py upload ./index.html yourdomain.com/index.html
# Download file
python scripts/sftp_operations.py download yourdomain.com/index.html ./backup.html
# List files
python scripts/sftp_operations.py list yourdomain.com
# Create directory
python scripts/sftp_operations.py mkdir yourdomain.com/new-folder
# Delete file
python scripts/sftp_operations.py delete yourdomain.com/old.html
Note: Use domain names (if configured in .env) or full paths like /home/user/yourdomain.com
Directory Synchronization
Sync entire directories for quick deployments:
python scripts/directory_sync.py upload ./my-website yourdomain.com
Features:
- Recursive upload/download
- Timestamp comparison (skips unchanged files)
- Automatic exclusion (.git, node_modules, etc.)
- Progress tracking
Backup & Restore
Create and restore timestamped backups:
# Create backup
python scripts/backup_restore.py backup yourdomain.com ./backups
# List backups
python scripts/backup_restore.py list ./backups
# Restore backup
python scripts/backup_restore.py restore ./backups/backup_20240115_120000.tar.gz yourdomain.com
Features:
- Automatic timestamped backups
- Tar.gz compression
- Safe restore (backs up current version first)
- Large file support
Blog & Content Management
Upload and manage blog posts:
# Upload post with images
python scripts/blog_manager.py upload ./posts/my-post.md yourdomain.com/blog
# List posts
python scripts/blog_manager.py list yourdomain.com/blog
# Update post
python scripts/blog_manager.py update ./posts/my-post.md yourdomain.com/blog/my-post.md
# Delete post
python scripts/blog_manager.py delete yourdomain.com/blog/old.md
Server Commands
Execute shell commands on the server:
# Check disk usage
python scripts/ssh_commands.py disk-usage yourdomain.com
# Change file permissions
python scripts/ssh_commands.py chmod yourdomain.com/config.php 644
# Recursively change permissions (standard web setup)
python scripts/ssh_commands.py chmod-recursive yourdomain.com 644 755
# Create symlink
python scripts/ssh_commands.py symlink yourdomain.com /backup
# Find files
python scripts/ssh_commands.py find yourdomain.com "*.html"
# Execute custom command
python scripts/ssh_commands.py exec "cd /home/user/yourdomain.com && ls -la"
Scripts Reference
| Script | Purpose | Key Functions |
|---|---|---|
sftp_operations.py |
Core file operations | upload, download, list, mkdir, delete, rename |
directory_sync.py |
Sync directories | Recursive upload/download with timestamp checking |
react_deployer.py |
Deploy React apps | Auto-detect framework, build, deploy artifacts |
routing_manager.py |
Configure routing | .htaccess for React Router, multi-site setup |
backup_restore.py |
Backup management | Create, restore, list timestamped backups |
ssh_commands.py |
Server commands | chmod, symlinks, find, disk usage |
blog_manager.py |
Blog content | Upload posts, manage assets, organize content |
Documentation
- setup_guide.md - Credential setup and first-time configuration
- common_workflows.md - Practical examples for deployment, backups, content management
- react_deployment.md - React-specific deployment and multi-site routing
Configuration
.env File Format
DREAMHOST_HOST=your_host.dreamhost.com
DREAMHOST_USER=your_username
DREAMHOST_PASSWORD=your_password
# OR for SSH key (more secure):
# DREAMHOST_SSH_KEY_PATH=/path/to/.ssh/id_rsa
See assets/.env.template for complete template with security notes.
Domain Name Mapping & Per-Domain Credentials
Each domain can have its own DreamHost credentials (host, user, password). Configure them in your .env file:
# .env
# ========== DOMAIN 1: farm-friend.com ==========
DOMAIN_farm-friend.com=/home/dh_cqevup/farm-friend.com
DREAMHOST_HOST_farm-friend.com=server1.dreamhost.com
DREAMHOST_USER_farm-friend.com=user1
DREAMHOST_PASSWORD_farm-friend.com=password1
# ========== DOMAIN 2: yourdomain.com ==========
DOMAIN_yourdomain.com=/home/dh_xxxx/yourdomain.com
DREAMHOST_HOST_yourdomain.com=server2.dreamhost.com
DREAMHOST_USER_yourdomain.com=user2
DREAMHOST_PASSWORD_yourdomain.com=password2
The agent automatically extracts the domain from your command and uses the matching credentials:
# Agent automatically uses farm-friend.com credentials
python scripts/sftp_operations.py list farm-friend.com
# Agent automatically uses yourdomain.com credentials
python scripts/react_deployer.py deploy . yourdomain.com
# Also works with full paths (uses credentials from the domain in the path)
python scripts/sftp_operations.py list /home/dh_cqevup/farm-friend.com
How it works:
- Agent extracts domain from the command:
farm-friend.com - Looks up credentials in .env:
DREAMHOST_HOST_farm-friend.com,DREAMHOST_USER_farm-friend.com, etc. - Connects to that domain's DreamHost account
- Performs the requested operation
This allows seamless management of multiple domains with different DreamHost accounts.
Common Workflows
Deploy Static Website
python scripts/directory_sync.py upload ./website yourdomain.com
Deploy React App with Routing
python scripts/react_deployer.py deploy . yourdomain.com
python scripts/routing_manager.py configure-app yourdomain.com
Daily Backup
python scripts/backup_restore.py backup yourdomain.com ./backups
Update Blog Post
python scripts/blog_manager.py update ./posts/post.md yourdomain.com/blog/post.md
See references/common_workflows.md for more examples.
Dependencies
Install required packages:
pip install -r requirements.txt
Required:
- paramiko - SFTP/SSH library
- python-dotenv - Environment variable loading
- scp - Enhanced file transfer
Troubleshooting
Connection Issues
- Verify credentials in
.env - Check host is accessible
- Confirm SFTP port 22 is open
- Test with:
python scripts/sftp_operations.py list /home/username
See references/setup_guide.md for detailed troubleshooting.
Next Steps
- Follow setup in
references/setup_guide.md - Test with examples in
references/common_workflows.md - Deploy your site!
先判断是否适合
作者设计意图
作者的方法与取舍
边界和复核