← 返回
未分类

Sun-Panel Navigation

Manage Sun-Panel navigation by adding websites, creating and editing shortcut groups, and getting icon recommendations for bookmarks.
管理 Sun-Panel 导航:添加网站、创建和编辑快捷方式组,获取书签图标推荐。
meichuanyi
未分类 clawhub v1.0.0 1 版本 100000 Key: 无需
★ 0
Stars
📥 346
下载
💾 0
安装
1
版本
#latest

概述

Sun-Panel 导航面板操作指南

Sun-Panel 是一个服务器/NAS导航面板工具。本 skill 帮助 AI Agent 通过 API 操作它。

配置文件

配置文件路径:~/.openclaw/skills/sun-panel/config.json

首次使用流程

  1. 检查配置文件是否存在
  2. 如果不存在,引导用户创建配置文件
  3. 读取配置,登录获取 Token,执行操作

配置文件格式

{
  "url": "http://your-sunpanel-host:3002",
  "username": "your_username",
  "password": "your_password"
}

检查和创建配置

CONFIG_FILE="$HOME/.openclaw/skills/sun-panel/config.json"

# 检查配置文件是否存在
if [ ! -f "$CONFIG_FILE" ]; then
    echo "首次使用 Sun-Panel 技能,请提供以下信息:"
    echo "1. Sun-Panel 服务地址(如 http://192.168.10.3:3002)"
    echo "2. 登录账号"
    echo "3. 登录密码"
    echo ""
    echo "AI Agent 将引导用户输入并创建配置文件"
fi

# 读取配置
SUN_PANEL_URL=$(jq -r '.url' "$CONFIG_FILE")
SUN_PANEL_USERNAME=$(jq -r '.username' "$CONFIG_FILE")
SUN_PANEL_PASSWORD=$(jq -r '.password' "$CONFIG_FILE")

创建配置文件(AI Agent 执行)

# 确保目录存在
mkdir -p "$HOME/.openclaw/skills/sun-panel"

# 写入配置文件(使用用户提供的值)
cat > "$HOME/.openclaw/skills/sun-panel/config.json" << 'EOF'
{
  "url": "USER_PROVIDED_URL",
  "username": "USER_PROVIDED_USERNAME",
  "password": "USER_PROVIDED_PASSWORD"
}
EOF

echo "配置已保存到 $HOME/.openclaw/skills/sun-panel/config.json"

快速开始

1. 登录获取 Token

# 从配置文件读取
CONFIG_FILE="$HOME/.openclaw/skills/sun-panel/config.json"
SUN_PANEL_URL=$(jq -r '.url' "$CONFIG_FILE")
SUN_PANEL_USERNAME=$(jq -r '.username' "$CONFIG_FILE")
SUN_PANEL_PASSWORD=$(jq -r '.password' "$CONFIG_FILE")

# 登录
RESPONSE=$(curl -s -X POST "$SUN_PANEL_URL/api/login" \
  -H "Content-Type: application/json" \
  -d "{\"username\":\"$SUN_PANEL_USERNAME\",\"password\":\"$SUN_PANEL_PASSWORD\"}")

# 检查登录结果
if echo "$RESPONSE" | jq -e '.code == 0' > /dev/null; then
    TOKEN=$(echo "$RESPONSE" | jq -r '.data.token')
    echo "登录成功,Token 已获取"
else
    echo "登录失败:$(echo "$RESPONSE" | jq -r '.msg')"
fi

核心 API

获取分组列表

curl -s -X POST "$SUN_PANEL_URL/api/panel/itemIconGroup/getList" \
  -H "Content-Type: application/json" \
  -H "token: $TOKEN"

# 返回示例:
# {"code":0,"data":{"list":[{"id":1,"title":"开发工具","icon":"","sort":1}]}}

创建分组

curl -s -X POST "$SUN_PANEL_URL/api/panel/itemIconGroup/edit" \
  -H "Content-Type: application/json" \
  -H "token: $TOKEN" \
  -d '{"title":"AI工具","icon":"mdi:robot","description":"AI相关工具"}'

# id=0 时创建新分组,返回包含新 id

批量添加图标

curl -s -X POST "$SUN_PANEL_URL/api/panel/itemIcon/addMultiple" \
  -H "Content-Type: application/json" \
  -H "token: $TOKEN" \
  -d '[
    {
      "title": "GitHub",
      "url": "https://github.com",
      "lanUrl": "",
      "description": "代码托管平台",
      "icon": {"itemType": 3, "text": "mdi:github"},
      "openMethod": 2,
      "itemIconGroupId": 1
    },
    {
      "title": "ChatGPT",
      "url": "https://chat.openai.com",
      "icon": {"itemType": 3, "text": "mdi:chat"},
      "openMethod": 2,
      "itemIconGroupId": 2
    }
  ]'

单个添加/编辑图标

curl -s -X POST "$SUN_PANEL_URL/api/panel/itemIcon/edit" \
  -H "Content-Type: application/json" \
  -H "token: $TOKEN" \
  -d '{
    "title": "Google",
    "url": "https://google.com",
    "icon": {"itemType": 3, "text": "mdi:google"},
    "openMethod": 2,
    "itemIconGroupId": 1
  }'

# id=0 时创建,有 id 时更新

自动获取网站 Favicon

curl -s -X POST "$SUN_PANEL_URL/api/panel/itemIcon/getSiteFavicon" \
  -H "Content-Type: application/json" \
  -H "token: $TOKEN" \
  -d '{"url":"https://github.com"}'

# 返回:{"code":0,"data":{"iconUrl":"/uploads/xxx.png"}}
# 使用此路径作为 itemType=2 的 src

图标类型说明

itemType说明必填字段
--------------------------
1文字图标text(显示的文字)
2图片图标src(图片路径,可从 favicon API 获取)
3Iconify图标text(图标ID,如 mdi:github

openMethod 说明

说明
----------
1当前页面打开
2新窗口打开
3小窗打开(iframe)

图标推荐表

常用网站图标

网站推荐 Iconify 图标
------------------------
github.commdi:github
google.commdi:google
youtube.commdi:youtube
twitter.com / x.commdi:twitter
facebook.commdi:facebook
instagram.commdi:instagram
reddit.commdi:reddit
linkedin.commdi:linkedin
stackoverflow.commdi:stack-overflow
notion.somdi:notion
figma.commdi:figma
slack.commdi:slack
discord.commdi:discord
spotify.commdi:spotify
twitch.tvmdi:twitch
pinterest.commdi:pinterest
medium.commdi:medium
dribbble.commdi:dribbble
behance.netmdi:behance
trello.commdi:trello
jira.atlassian.commdi:jira
bitbucket.orgmdi:bitbucket
gitlab.commdi:gitlab
docker.commdi:docker
kubernetes.iomdi:kubernetes
aws.amazon.commdi:aws
azure.microsoft.commdi:azure
cloud.google.commdi:google-cloud
digitalocean.commdi:digital-ocean
vercel.commdi:vercel
netlify.commdi:netlify
heroku.commdi:heroku

AI 相关网站

网站推荐 Iconify 图标
------------------------
chat.openai.commdi:chatmdi:robot
claude.aimdi:robot-outline
gemini.google.commdi:sparkles
copilot.microsoft.commdi:robot-happy
huggingface.comdi:face-man-hug
replicate.commdi:content-copy
perplexity.aimdi:magnify
midjourney.commdi:palette
stability.aimdi:creation
anthropic.commdi:brain
openai.commdi:robot

开发工具

类型推荐 Iconify 图标
------------------------
Gitmdi:git
VS Codemdi:visual-studio-code
JetBrainsmdi:intellij
Terminal/SSHmdi:console
Databasemdi:database
APImdi:api
Dockermdi:docker
Kubernetesmdi:kubernetes
Servermdi:server
Nginxmdi:web
Redismdi:flash
PostgreSQLmdi:database-postgre
MySQLmdi:database-mysql
MongoDBmdi:leaf

通用图标(按用途)

用途推荐 Iconify 图标
------------------------
文档/笔记mdi:file-document, mdi:notebook, mdi:book-open
搜索mdi:magnify, mdi:search-web
邮件mdi:email, mdi:mail
云存储mdi:cloud, mdi:folder-cloud
音乐mdi:music, mdi:playlist-music
视频mdi:video, mdi:play-circle
图片mdi:image, mdi:camera
下载mdi:download, mdi:cloud-download
设置mdi:cog, mdi:settings
监控mdi:monitor, mdi:chart-line
安全mdi:shield, mdi:lock
日历mdi:calendar
聊天mdi:chat, mdi:message
书签mdi:bookmark, mdi:star
首页mdi:home, mdi:house

分组推荐表

网站类型推荐分组名推荐分组图标
----------------------------------
GitHub, GitLab, Bitbucket开发工具mdi:code
ChatGPT, Claude, GeminiAI工具mdi:robot
YouTube, Netflix, Spotify视频娱乐mdi:play-circle
Twitter, Facebook, Discord社交媒体mdi:account-group
Google, Bing, DuckDuckGo搜索引擎mdi:magnify
Notion, Trello, Jira效率工具mdi:clipboard-check
Gmail, Outlook, ProtonMail邮件服务mdi:email
AWS, Azure, GCP云服务mdi:cloud
Plex, Jellyfin, Emby媒体服务器mdi:server-network
Grafana, Prometheus监控工具mdi:chart-areaspline
Portainer, Dockge容器管理mdi:docker
Nextcloud, Syncthing文件同步mdi:folder-sync

操作流程示例

AI Agent 标准工作流程

# Step 1: 检查配置文件
CONFIG_FILE="$HOME/.openclaw/skills/sun-panel/config.json"

if [ ! -f "$CONFIG_FILE" ]; then
    # 引导用户创建配置
    echo "首次使用 Sun-Panel 技能"
    echo "请提供 Sun-Panel 的配置信息:"
    echo "- URL: Sun-Panel 服务地址"
    echo "- Username: 登录账号"
    echo "- Password: 登录密码"
    # 等待用户提供信息后,创建配置文件
    exit 0
fi

# Step 2: 读取配置
SUN_PANEL_URL=$(jq -r '.url' "$CONFIG_FILE")
SUN_PANEL_USERNAME=$(jq -r '.username' "$CONFIG_FILE")
SUN_PANEL_PASSWORD=$(jq -r '.password' "$CONFIG_FILE")

# Step 3: 登录获取 Token
RESPONSE=$(curl -s -X POST "$SUN_PANEL_URL/api/login" \
  -H "Content-Type: application/json" \
  -d "{\"username\":\"$SUN_PANEL_USERNAME\",\"password\":\"$SUN_PANEL_PASSWORD\"}")

if ! echo "$RESPONSE" | jq -e '.code == 0' > /dev/null; then
    echo "登录失败,请检查配置文件中的账号密码"
    exit 1
fi

TOKEN=$(echo "$RESPONSE" | jq -r '.data.token')

# Step 4: 执行用户请求的操作
# (添加网站、创建分组等)

添加一批 AI 工具网站

# 1. 检查是否存在 "AI工具" 分组
GROUPS=$(curl -s -X POST "$SUN_PANEL_URL/api/panel/itemIconGroup/getList" \
  -H "token: $TOKEN")
AI_GROUP_ID=$(echo "$GROUPS" | jq -r '.data.list[] | select(.title=="AI工具") | .id')

# 2. 如果不存在,创建分组
if [ -z "$AI_GROUP_ID" ] || [ "$AI_GROUP_ID" == "null" ]; then
  curl -s -X POST "$SUN_PANEL_URL/api/panel/itemIconGroup/edit" \
    -H "Content-Type: application/json" \
    -H "token: $TOKEN" \
    -d '{"title":"AI工具","icon":"mdi:robot"}'
  GROUPS=$(curl -s -X POST "$SUN_PANEL_URL/api/panel/itemIconGroup/getList" -H "token: $TOKEN")
  AI_GROUP_ID=$(echo "$GROUPS" | jq -r '.data.list[] | select(.title=="AI工具") | .id')
fi

# 3. 批量添加图标
curl -X POST "$SUN_PANEL_URL/api/panel/itemIcon/addMultiple" \
  -H "Content-Type: application/json" \
  -H "token: $TOKEN" \
  -d "[
    {
      \"title\": \"ChatGPT\",
      \"url\": \"https://chat.openai.com\",
      \"description\": \"OpenAI ChatGPT\",
      \"icon\": {\"itemType\": 3, \"text\": \"mdi:chat\"},
      \"openMethod\": 2,
      \"itemIconGroupId\": $AI_GROUP_ID
    },
    {
      \"title\": \"Claude\",
      \"url\": \"https://claude.ai\",
      \"description\": \"Anthropic Claude AI\",
      \"icon\": {\"itemType\": 3, \"text\": \"mdi:robot-outline\"},
      \"openMethod\": 2,
      \"itemIconGroupId\": $AI_GROUP_ID
    },
    {
      \"title\": \"Gemini\",
      \"url\": \"https://gemini.google.com\",
      \"description\": \"Google Gemini AI\",
      \"icon\": {\"itemType\": 3, \"text\": \"mdi:sparkles\"},
      \"openMethod\": 2,
      \"itemIconGroupId\": $AI_GROUP_ID
    }
  ]"

添加单个网站(智能推荐图标)

当用户说"帮我添加 xxx 网站"时:

  1. 根据网站 URL 或名称,从推荐表选择图标
  2. 根据网站类型,推荐或创建分组
  3. 调用 API 添加

示例:用户说"添加 bilibili"

# bilibili 不在预设表中,但属于视频娱乐类
# 推荐: icon=mdi:video, group=视频娱乐

# 1. 获取/创建分组
# 2. 添加图标
curl -X POST "$SUN_PANEL_URL/api/panel/itemIcon/edit" \
  -H "Content-Type: application/json" \
  -H "token: $TOKEN" \
  -d '{
    "title": "Bilibili",
    "url": "https://www.bilibili.com",
    "description": "哔哩哔哩视频网站",
    "icon": {"itemType": 3, "text": "mdi:video"},
    "openMethod": 2,
    "itemIconGroupId": 3
  }'

使用自动获取 Favicon

# 获取网站 favicon
ICON_RESP=$(curl -s -X POST "$SUN_PANEL_URL/api/panel/itemIcon/getSiteFavicon" \
  -H "Content-Type: application/json" \
  -H "token: $TOKEN" \
  -d '{"url":"https://example.com"}')

ICON_URL=$(echo $ICON_RESP | jq -r '.data.iconUrl')

# 使用获取到的 favicon 作为图标
curl -X POST "$SUN_PANEL_URL/api/panel/itemIcon/edit" \
  -H "Content-Type: application/json" \
  -H "token: $TOKEN" \
  -d '{
    "title": "Example",
    "url": "https://example.com",
    "icon": {"itemType": 2, "src": "'$ICON_URL'"},
    "openMethod": 2,
    "itemIconGroupId": 1
  }'

Iconify 图标搜索

如果推荐表中没有对应图标,可以搜索:

  • 图标库地址: https://icon-sets.iconify.design/
  • 常用图标集: mdi (Material Design Icons), fa (Font Awesome), carbon, tabler

搜索格式:

# Material Design Icons 示例
mdi:github    → GitHub
mdi:home      → 首页图标
mdi:cog       → 设置图标

# Font Awesome 示例
fa:github
fa:home

常见问题

配置文件不存在

AI Agent 引导用户创建配置文件,收集 URL、账号、密码信息。

Token 过期

重新登录获取新 token。

分组不存在

先调用 itemIconGroup/edit 创建分组,再添加图标。

图标不显示

  • itemType=3 时确保 icon ID 正确(带前缀如 mdi:xxx
  • itemType=2 时确保 src 路径正确
  • 可调用 getSiteFavicon 自动获取网站图标

登录失败

检查配置文件中的账号密码是否正确,提示用户更新配置。

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-05-07 15:49 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

developer-tools

Github

steipete
使用 `gh` CLI 与 GitHub 交互,通过 `gh issue`、`gh pr`、`gh run` 和 `gh api` 管理议题、PR、CI 运行及高级查询。
★ 672 📥 324,437
ai-intelligence

self-improving agent

pskoett
捕获经验教训、错误和纠正,以实现持续改进。使用时机:(1)命令或操作意外失败;(2)用户纠正……
★ 4,061 📥 799,115
ai-intelligence

Self-Improving + Proactive Agent

ivangdavila
自我反思+自我批评+自我学习+自组织记忆。智能体评估自身工作、发现错误并持续改进。
★ 1,362 📥 318,920