Token导航 LogoToken导航TokenDH.com
运维和基础设施敏感数据github未标认证来源可访问clear审计异常

using-crabnebula-cloud-with-tauriusing crabnebula cloud with Tauri 命令行

Agent Skill

using-crabnebula-cloud-with-tauri 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

1,223

周安装

52

GitHub Stars

18

下载量

428
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

3

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:using-crabnebula-cloud-with-tauri(using crabnebula cloud with Tauri 命令行)
来源仓库:https://github.com/dchuk/claude-code-tauri-skills
仓库路径:skills/using-crabnebula-cloud-with-tauri
安装命令:
npx skills add https://github.com/dchuk/claude-code-tauri-skills --skill using-crabnebula-cloud-with-tauri
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/dchuk/claude-code-tauri-skills --skill using-crabnebula-cloud-with-tauri

简介

用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息。

  • 适合在 Codex、Claude、Cursor、Gemini CLI 中围绕仓库状态、代码变更或协作事项进行整理。
  • 通过 npx skills add 命令从指定 GitHub 仓库安装使用。
  • 安装前需确认权限范围、维护状态及是否触发联网或文件操作。
  • using-crabnebula-cloud-with-tauri 属于运维和基础设施类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

CrabNebula Cloud with Tauri

CrabNebula is an official Tauri partner providing a platform for application distribution that seamlessly integrates with the Tauri updater. The platform offers global CDN distribution, release management, and built-in auto-update support.

Overview

CrabNebula Cloud provides:

  • Global CDN: Worldwide distribution of installers and updates
  • Release Channels: Support for multiple release tracks (stable, beta, nightly)
  • Auto-Updates: Built-in update server compatible with Tauri's updater plugin
  • Download Metrics: Analytics for tracking application downloads
  • CI/CD Integration: GitHub Actions support for automated releases

Initial Setup

1. Create CrabNebula Cloud Account

  1. Navigate to CrabNebula Cloud
  2. Sign in using GitHub or GitLab authentication
  3. Create an organization with a unique slug
  4. Create an application within your organization

2. Generate API Key

  1. Navigate to API Keys section in CrabNebula Cloud
  2. Generate a new key with Read/Write permissions
  3. Save this key securely (displayed only once)
  4. Add as CN_API_KEY repository secret in GitHub

Important: Use repository secrets, not environment secrets, as environment secrets may appear in logs.

CLI Installation

Install the CrabNebula CLI to manage releases locally:

# macOS/Linux
curl -L https://cdn.crabnebula.app/install/cn | sh

# Or via cargo
cargo install cn-cli

Release Workflow

The release process follows four steps: draft, upload, publish, fetch.

Manual CLI Commands

# Create a release draft
cn release draft ORG_SLUG/APP_SLUG VERSION

# Upload assets with Tauri framework detection
cn release upload ORG_SLUG/APP_SLUG RELEASE_ID --framework tauri

# Publish the release
cn release publish ORG_SLUG/APP_SLUG RELEASE_ID

# Fetch latest release info
cn release latest ORG_SLUG/APP_SLUG

Upload Command Options

cn release upload ORG_SLUG/APP_SLUG RELEASE_ID \
  --framework tauri \
  --channel stable \
  --update-platform linux-x86_64 \
  --file path/to/binary \
  --signature path/to/signature
FlagDescription
--frameworkAuto-detect bundles (tauri or packager)
--channelRelease channel (must match draft channel)
--update-platformPlatform identifier for updates
--filePath to binary asset
--signaturePath to signature file (required with --update-platform)

GitHub Actions Workflow

Create .github/workflows/release.yml:

name: Release

on:
  push:
    branches:
      - main
  workflow_dispatch:

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

env:
  CN_APPLICATION: "your-org/your-app"

jobs:
  draft:
    runs-on: ubuntu-latest
    outputs:
      version: ${{ steps.read-version.outputs.version }}
    steps:
      - uses: actions/checkout@v4

      - name: Read version from tauri.conf.json
        id: read-version
        run: |
          VERSION=$(jq -r '.version' src-tauri/tauri.conf.json)
          echo "version=$VERSION" >> $GITHUB_OUTPUT

      - name: Create draft release
        uses: crabnebula-dev/cloud-release@v0
        with:
          command: release draft ${{ env.CN_APPLICATION }} ${{ steps.read-version.outputs.version }} --framework tauri
          api-key: ${{ secrets.CN_API_KEY }}

  build:
    needs: draft
    strategy:
      fail-fast: false
      matrix:
        include:
          - platform: ubuntu-22.04
            args: ""
          - platform: macos-latest
            args: "--target aarch64-apple-darwin"
          - platform: macos-latest
            args: "--target x86_64-apple-darwin"
          - platform: windows-latest
            args: ""
    runs-on: ${{ matrix.platform }}
    steps:
      - uses: actions/checkout@v4

      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: lts/*

      - name: Install Rust stable
        uses: dtolnay/rust-action@stable
        with:
          targets: ${{ matrix.platform == 'macos-latest' && 'aarch64-apple-darwin,x86_64-apple-darwin' || '' }}

      - name: Install Linux dependencies
        if: matrix.platform == 'ubuntu-22.04'
        run: |
          sudo apt-get update
          sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf

      - name: Install frontend dependencies
        run: npm ci

      - name: Build Tauri app
        uses: tauri-apps/tauri-action@v0
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
          TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }}
        with:
          args: ${{ matrix.args }}

      - name: Upload assets to CrabNebula Cloud
        uses: crabnebula-dev/cloud-release@v0
        with:
          command: release upload ${{ env.CN_APPLICATION }} --framework tauri
          api-key: ${{ secrets.CN_API_KEY }}

  publish:
    needs: [draft, build]
    runs-on: ubuntu-latest
    steps:
      - name: Publish release
        uses: crabnebula-dev/cloud-release@v0
        with:
          command: release publish ${{ env.CN_APPLICATION }} ${{ needs.draft.outputs.version }}
          api-key: ${{ secrets.CN_API_KEY }}

Auto-Updates Configuration

1. Generate Signing Keys

cargo tauri signer generate -w ~/.tauri/myapp.key

This creates:

  • ~/.tauri/myapp.key - Private key (keep secret)
  • ~/.tauri/myapp.key.pub - Public key (add to config)

Add to GitHub repository secrets:

  • TAURI_SIGNING_PRIVATE_KEY: Contents of myapp.key
  • TAURI_SIGNING_PRIVATE_KEY_PASSWORD: Your password

2. Configure tauri.conf.json

{
  "version": "0.1.0",
  "bundle": {
    "createUpdaterArtifacts": true
  },
  "plugins": {
    "updater": {
      "active": true,
      "endpoints": [
        "https://cdn.crabnebula.app/update/YOUR_ORG/YOUR_APP/{{target}}-{{arch}}/{{current_version}}"
      ],
      "dialog": true,
      "pubkey": "dW50cnVzdGVkIGNvbW1lbnQ6IG1pbmlzaWduIHB1YmxpYyBrZXk..."
    }
  }
}

Important: Keep the {{target}}, {{arch}}, and {{current_version}} placeholders unchanged. Tauri replaces these dynamically at runtime.

For migrations from Tauri v1, use "createUpdaterArtifacts": "v1Compatible".

3. Configure Capabilities

Update /src-tauri/capabilities/main.json:

{
  "$schema": "../gen/schemas/desktop-schema.json",
  "identifier": "main-capability",
  "description": "Main capability for the application",
  "windows": ["main"],
  "permissions": [
    "core:default",
    "dialog:default",
    "updater:default",
    "process:default",
    "process:allow-restart"
  ]
}

4. Install Dependencies

Add to src-tauri/Cargo.toml:

[dependencies]
tauri-plugin-updater = "2"
tauri-plugin-dialog = "2"
tauri-plugin-process = "2"

Install frontend packages:

npm install @tauri-apps/plugin-updater @tauri-apps/plugin-dialog @tauri-apps/plugin-process

5. Register Plugins (Rust)

Update src-tauri/src/lib.rs:

use tauri::Manager;

#[cfg_attr(mobile, tauri::mobile_entry_point)]
pub fn run() {
    tauri::Builder::default()
        .plugin(tauri_plugin_updater::Builder::new().build())
        .plugin(tauri_plugin_dialog::init())
        .plugin(tauri_plugin_process::init())
        .run(tauri::generate_context!())
        .expect("error while running tauri application");
}

6. Implement Update Check (TypeScript)

Create src/updater.ts:

import { check } from "@tauri-apps/plugin-updater";
import { ask } from "@tauri-apps/plugin-dialog";
import { relaunch } from "@tauri-apps/plugin-process";

export async function checkForAppUpdates(): Promise<void> {
  try {
    const update = await check();

    if (!update?.available) {
      console.log("No update available");
      return;
    }

    const proceed = await ask(
      `Version ${update.version} is available!\n\nRelease notes:\n${update.body}`,
      {
        title: "Update Available",
        kind: "info",
        okLabel: "Update Now",
        cancelLabel: "Later"
      }
    );

    if (proceed) {
      console.log("Downloading and installing update...");
      await update.downloadAndInstall();
      await relaunch();
    }
  } catch (error) {
    console.error("Update check failed:", error);
  }
}

Call early in your app lifecycle:

// React example
import { useEffect } from "react";
import { checkForAppUpdates } from "./updater";

function App() {
  useEffect(() => {
    checkForAppUpdates();
  }, []);

  return <div>Your app content</div>;
}

Release Channels

For multiple distribution channels (beta, stable, nightly):

Option 1: Channel Argument

# Create draft with channel
cn release draft ORG/APP VERSION --channel beta

# Upload must specify same channel
cn release upload ORG/APP RELEASE_ID --framework tauri --channel beta

Option 2: Separate Applications

Create separate applications in CrabNebula Cloud:

  • your-org/your-app (stable)
  • your-org/your-app-beta (beta)

Configure different update endpoints per channel in your app builds.

Environment Variables Summary

VariableLocationDescription
CN_API_KEYGitHub SecretsCrabNebula Cloud API key
TAURI_SIGNING_PRIVATE_KEYGitHub SecretsContents of private signing key
TAURI_SIGNING_PRIVATE_KEY_PASSWORDGitHub SecretsPassword for signing key
CN_APPLICATIONWorkflow envOrganization/application slug

Troubleshooting

Update Check Fails

  1. Verify endpoint URL matches your organization and app slugs
  2. Ensure public key in config matches the generated key
  3. Check that createUpdaterArtifacts is set to true
  4. Verify capabilities include required permissions

Build Fails on Upload

  1. Ensure CN_API_KEY is set as repository secret (not environment secret)
  2. Verify the draft was created successfully before upload
  3. Check that signing keys are properly configured

Signature Mismatch

  1. Ensure TAURI_SIGNING_PRIVATE_KEY matches the public key in config
  2. Verify the same key pair is used across all builds
  3. For v1 migrations, use "createUpdaterArtifacts": "v1Compatible"

Resources

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Antigravity

26.22%
按下载量换算112

Claude Code

23.45%
按下载量换算100

windsurf

16.23%
按下载量换算69

Gemini CLI

13.01%
按下载量换算56

OpenCode

8.04%
按下载量换算34

Codex

3.52%
按下载量换算15

安全审计

Gen Agent Trust Hub

未通过

Socket

通过

Snyk

可疑

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。

来源信息

继续浏览同类 Skills