sn-image-doctor
sn-image-doctor
Overview
sn-image-doctor is an infrastructure skill (tier 0) that validates the SenseNova-Skills environment before running other skills. It ensures SenseNova-Skills project is properly installed and configured.
This skill performs comprehensive checks including:
- Installation verification of SenseNova-Skills project
- Python dependency validation
- Environment variable configuration checks, with interactive prompts to configure missing required variables and save them to
.env - Automatic environment reload after configuration changes, with agent restart suggestion if reload fails
Usage
Run the doctor check to validate your environment:
# Basic check
python scripts/check_environment.py
# Verbose output with detailed diagnostics
python scripts/check_environment.py --verbose
Output Format
Text Output
=== SenseNova-Skills Environment Check ===
[1/3] Checking sn-image-base installation...
✅ Installation looks good
[2/3] Checking Python dependencies...
✅ Python 3.11.0
✅ All required packages installed
[3/3] Checking environment variables...
❌ SN_IMAGE_GEN_API_KEY: Image generation API key is not set; configure SN_API_KEY, or configure SN_IMAGE_GEN_API_KEY only for an image-generation-specific override
Some required environment variables are missing.
Enter values below to save them to /path/to/.env.
Press Enter to skip a variable.
SN_API_KEY: <user input>
✅ Saved to /path/to/.env: SN_API_KEY
🔄 Reloading environment...
✅ Environment reloaded successfully
=== Summary ===
✅ Environment is properly configured
If reload fails, the output will suggest restarting the agent:
✅ Saved to /path/to/.env: SN_API_KEY
🔄 Reloading environment...
⚠️ Failed to reload environment: <error message>
💡 Suggestion: Restart the agent to apply new configuration
Error Output
When checks fail:
=== SenseNova-Skills Environment Check ===
[1/3] Checking sn-image-base installation...
❌ sn-image-base directory not found
Expected location: /path/to/skills/sn-image-base
[2/3] Checking Python dependencies...
❌ Missing packages: httpx, pillow
Run: pip install -r skills/sn-image-base/requirements.txt
=== Summary ===
❌ Environment check failed
Please fix the errors above before using SenseNova-Skills.
Troubleshooting
sn-image-base Not Found
Problem: sn-image-base directory not found
Solution:
# Ensure you're in the project root
cd /path/to/SenseNova-Skills
# Verify the directory exists
ls -la skills/sn-image-base
Missing Dependencies
Problem: Required Python packages not installed
Solution:
# Install dependencies
pip install -r skills/sn-image-base/requirements.txt
# Or use a virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
pip install -r skills/sn-image-base/requirements.txt
Missing Environment Variables
Problem: Required environment variables not set
Solution:
# If all capabilities use the same gateway, set only the global values.
export SN_API_KEY="your-api-key"
export SN_BASE_URL="https://your-api-endpoint.com"
# Or create a .env file
cat > .env << EOF
SN_API_KEY=your-api-key
SN_BASE_URL=https://token.sensenova.cn/v1
SN_CHAT_TYPE=openai-completions
SN_CHAT_MODEL=sensenova-6.7-flash-lite
EOF
# Load .env file
source .env # Or use a tool like python-dotenv
Fallback priority is capability-specific variable > domain shared variable > global variable. For example, text calls use SN_TEXT_API_KEY -> SN_CHAT_API_KEY -> SN_API_KEY; vision calls use SN_VISION_API_KEY -> SN_CHAT_API_KEY -> SN_API_KEY; image generation uses SN_IMAGE_GEN_API_KEY -> SN_API_KEY.
API Connectivity Issues
Problem: Cannot reach API endpoints
Solution:
-
Verify network connectivity
-
Check firewall settings
-
Verify API endpoint URLs are correct
-
Test with curl:
curl -I https://your-api-endpoint.com
Integration with Other Skills
This skill is designed to be run before using other skills in the SenseNova-Skills project:
# 1. Run doctor check
python skills/sn-image-doctor/scripts/check_environment.py
# 2. If checks pass, use other skills
python skills/sn-image-base/scripts/sn_agent_runner.py sn-image-generate \
--prompt "A beautiful landscape"
Command-Line Options
| Option | Description |
|---|---|
--verbose |
Show detailed diagnostic information |
--help |
Show help message |
Exit Codes
| Code | Meaning |
|---|---|
0 |
All checks passed |
1 |
One or more checks failed |
See Also
sn-image-base/SKILL.md- Base-layer skill documentationsn-image-base/references/api_spec.md- API specificationsn-infographic/SKILL.md- Example of a skill that depends on sn-image-base