are.na-claw: Are.na API 管理 CLI 工具 - Openclaw Skills

作者:互联网

2026-04-05

AI教程

什么是 are.na-claw?

are.na-claw 是一款透明且高性能的命令行界面,专为需要直接访问 Are.na 帐户的研究人员和创作者设计。与沉重的应用程序不同,该工具避开了 AI 开销和复杂的集成,完全专注于高效的 API 交互。作为 Openclaw Skills 生态系统的一部分,它提供了一种安全的方式来列出频道内容、创建新面板以及上传媒体,而无需离开开发环境。

该工具基于本地优先理念构建,依赖于 curl 和 python3 等标准系统实用程序,确保您的数据和令牌除了直接与 Are.na 通信外,绝不会离开您的机器。对于在个人知识管理工作流程中重视速度、隐私和极简设计的 Openclaw Skills 用户来说,它是完美的选择。

下载入口:https://github.com/openclaw/skills/tree/main/skills/koellins/arena-claw

安装与下载

1. ClawHub CLI

从源直接安装技能的最快方式。

npx clawhub@latest install arena-claw

2. 手动安装

将技能文件夹复制到以下位置之一

全局模式 ~/.openclaw/skills/ 工作区 /skills/

优先级:工作区 > 本地 > 内置

3. 提示词安装

将此提示词复制到 OpenClaw 即可自动安装。

请帮我使用 Clawhub 安装 arena-claw。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。

are.na-claw 应用场景

  • 在研究过程中即时向特定频道添加图像和网页链接。
  • 使用 watch 命令实时监控频道活动,获取灵感或进行协作。
  • 使用简单的配置文件命令管理并切换多个 Are.na 帐户。
  • 直接从 Shell 界面批量搜索和探索热门内容。
are.na-claw 工作原理
  1. 用户提供 Are.na API 令牌,该令牌存储在主目录或专用配置文件夹中。
  2. 执行 arena channel 等命令时,工具会生成对 Are.na 官方 API 的直接请求。
  3. 该技能使用 curl 处理网络传输,确保最大的兼容性和安全性。
  4. Python3 处理来自 API 的 JSON 响应,并在终端中格式化并显示请求的信息。
  5. 明确的命令允许进行状态更改(如创建频道或添加区块),无后台自动化操作。

are.na-claw 配置指南

# 克隆仓库到本地机器
git clone https://github.com/yourusername/arena-claw ~/arena-claw

# 将脚本安装到本地 bin 目录
mkdir -p ~/bin
cp ~/arena-claw/arena ~/bin/arena
chmod +x ~/bin/arena

# 确保 ~/bin 在您的 PATH 中
export PATH="$HOME/bin:$PATH"

# 验证您的帐户
arena auth YOUR_API_TOKEN

are.na-claw 数据架构与分类体系

该技能在本地组织数据,并与 Are.na 分类法进行如下交互:

组件 描述
~/.arena_token 存储默认帐户 API 令牌,以便快速访问。
~/.openclaw/.arena_tokens 用于多帐户配置文件管理的安全目录。
频道 (Channels) 通过 Slug 标识;作为区块的主要容器。
区块 (Blocks) 在 API 调用中按类型(图像、链接、文本、附件)分类。
name: are.na-claw
description: Simple CLI wrapper for the are.na API. Lists channels, adds blocks, watches feeds. No AI, no automation, no external integrations. Just API calls.
read_when:
  - Managing are.na channels and blocks via API
  - Listing channel contents
  - Adding images/links to channels
  - Watching channels for changes
metadata: {"clawdbot":{"emoji":"??","requires":{"bins":["curl","python3"]}}}
allowed-tools: Bash(arena:*) - No file writes, no exec beyond curl

are.na-claw

Simple, transparent CLI for are.na API. No AI. No automation. No hidden features.

What This Does

  • Makes API calls to are.na
  • Lists channels and blocks
  • Adds images/links to channels
  • Watches channels for changes
  • Switches between multiple accounts

What This Does NOT Do

  • ? AI-powered curation
  • ? Automatic content discovery
  • ? Cross-platform sync
  • ? External integrations
  • ? Image analysis or color extraction
  • ? Scheduled automation

Installation

# Clone the repository
git clone https://github.com/yourusername/arena-claw ~/arena-claw

# Or copy just the arena script
cp arena-claw/arena ~/bin/arena
chmod +x ~/bin/arena

# Add to PATH (add to ~/.zshrc or ~/.bashrc)
export PATH="$HOME/bin:$PATH"

Source Code

The CLI is a single Python script: arena

It uses only:

  • curl for API calls
  • python3 for parsing
  • Local files for token storage

No dependencies, no external imports.

Authentication

Your API token stays on your machine.

Tokens are stored locally:

  • Single account: ~/.arena_token
  • Multi-account: ~/.openclaw/.arena_tokens

The skill never sends your tokens anywhere except to are.na API.

# Add your account
arena auth YOUR_API_TOKEN

# Or add named account
arena auth YOUR_API_TOKEN myaccount

# Switch accounts
arena switch myaccount

# List accounts
arena accounts

Usage

# Check your account
arena me

# List your channels
arena channels

# Get channel contents
arena channel channel-name

# Add image to channel
arena add image https://example.com/image.jpg --channel my-channel

# Add link to channel  
arena add link https://example.com --channel my-channel --title "Example"

# Watch for new items
arena watch channel-name --interval 60

# Search channels
arena search glitch

# Create channel
arena create "my-channel"

Multi-Account

# Add multiple accounts
arena auth TOKEN1 account1
arena auth TOKEN2 account2

# Use specific account
arena -a account1 me
arena -a account2 channel shared-channel

# Switch default account
arena switch account1

Commands

Command Description
arena auth [name] Add API token
arena accounts List configured accounts
arena switch Switch default account
arena me Show current user
arena channels [user] List channels
arena channel Get channel contents
arena add --channel Add block to channel
arena watch Watch for changes
arena search Search channels
arena create </CODE></TD> <TD>Create new channel</TD></TR> <TR> <TD><CODE>arena trending</CODE></TD> <TD>Search trending</TD></TR> <TR> <TD><CODE>arena explore <keywords></CODE></TD> <TD>Search by keywords</TD></TR> <TR> <TD><CODE>arena analyze <slug></CODE></TD> <TD>Count block types</TD></TR> <TR> <TD><CODE>arena doctor</CODE></TD> <TD>Debug connection</TD></TR></TBODY></TABLE></DIV> <H2 id=security>Security</H2> <UL> <LI><STRONG>No credential harvesting</STRONG> - Tokens stored only in your home directory</LI> <LI><STRONG>No external calls</STRONG> - Only talks to api.are.na</LI> <LI><STRONG>No data exfiltration</STRONG> - All data stays local</LI> <LI><STRONG>No automatic execution</STRONG> - Every command is explicit</LI> <LI><STRONG>No dependencies</STRONG> - Only curl and shell built-ins</LI></UL> <H2 id=uninstall>Uninstall</H2><PRE><CODE class=language-bash>rm -rf ~/arena-claw rm ~/.arena_token ~/.openclaw/.arena_tokens </CODE></PRE> <H2 id=no-warranty>No Warranty</H2> <P>This is a simple wrapper. Use at your own risk. Always verify what commands do before running them.</P> </div> <div class="lastanext flexRow"> <a class="lastart flexRow" href="/wz/339608.html" ><span>上一篇:</span><span>ClawPurse:面向 AI 智能体的 NTMPI 加密钱包 - Openclaw Skills</span></a> <a class="nextart flexRow" href="/wz/339610.html" ><span>下一篇:</span><span>零代码前端构建器:生成生产级 React UI - Openclaw Skills</span></a> </div> </div> <div class="dtl-xgtj"> <div class="jb-titles flexRow"> <div class="jbtle-left flexRow"><b></b><p>相关推荐</p></div> </div> <div class="tjlist flexRow"> <div class="tj-item "> <div class="tjitemd"> <div class="tjimd-top flexRow"> <a class="imdta flexRow" href="/wz/365747.html" > <img src="https://images.jiaoben.net/uploads/20260417/logo_69e2083c4a2421.jpeg" > </a> <div class="imdt-right flexColumn"> <a class="imdtra flexRow overflowclass" href="/wz/365747.html" >claude code 安装</a> <a class="imdtrap flexRow overflowclass" href="/wz/365747.html" > 本次记录为windows环境 1.前置工作 安装了node 20+版本, git, powershell 2.安装 有梯子 打开 PowerShell 终端运行以下安装命令即可: 或者Windows </a> </div> </div> <div class="tjimd-down flexRow"> <div class="imdd-tab flexRow"> <p class="imddt-time flexRow"><b></b><span>2026-04-17</span></p> </div> <a href="/wz/365747.html" class="imdd-more flexRow flexcenter" >立即查看</a> </div> </div> </div> <div class="tj-item "> <div class="tjitemd"> <div class="tjimd-top flexRow"> <a class="imdta flexRow" href="/wz/365693.html" > <img src="https://images.jiaoben.net/uploads/20260417/logo_69e1f9b7960dc1.jpeg" > </a> <div class="imdt-right flexColumn"> <a class="imdtra flexRow overflowclass" href="/wz/365693.html" >2026 最新 Claude Code 国内上手教程:从安装到第一次跑通,完整流程一次讲清</a> <a class="imdtrap flexRow overflowclass" href="/wz/365693.html" > 2026 最新 Claude Code 国内上手教程:从安装到第一次跑通,完整流程一次讲清 写在前面 很多人第一次接触 Claude Code,最容易误会它只是“把 Claude 放进终端里”。真上手 </a> </div> </div> <div class="tjimd-down flexRow"> <div class="imdd-tab flexRow"> <p class="imddt-time flexRow"><b></b><span>2026-04-17</span></p> </div> <a href="/wz/365693.html" class="imdd-more flexRow flexcenter" >立即查看</a> </div> </div> </div> <div class="tj-item "> <div class="tjitemd"> <div class="tjimd-top flexRow"> <a class="imdta flexRow" href="/wz/365630.html" > <img src="https://images.jiaoben.net/uploads/20260417/logo_69e1ebb455d601.jpeg" > </a> <div class="imdt-right flexColumn"> <a class="imdtra flexRow overflowclass" href="/wz/365630.html" >面试官问我:“AI 写代码比你快 100 倍,你的价值在哪?”</a> <a class="imdtrap flexRow overflowclass" href="/wz/365630.html" > 面试官是一个看着很资深的技术总监。他喝了口水,突然抛出了一个非常尖锐的问题: “你平时用 AI 写代码吗?现在 AI 敲代码的速度比你快 100 倍,错误率还比你低。在这种背景下,你觉得程序员的核心价 </a> </div> </div> <div class="tjimd-down flexRow"> <div class="imdd-tab flexRow"> <p class="imddt-time flexRow"><b></b><span>2026-04-17</span></p> </div> <a href="/wz/365630.html" class="imdd-more flexRow flexcenter" >立即查看</a> </div> </div> </div> <div class="tj-item "> <div class="tjitemd"> <div class="tjimd-top flexRow"> <a class="imdta flexRow" href="/wz/365612.html" > <img src="https://images.jiaoben.net/uploads/20260417/logo_69e1ea7d0bcc61.jpeg" > </a> <div class="imdt-right flexColumn"> <a class="imdtra flexRow overflowclass" href="/wz/365612.html" >快速搭建自己的 AI 平台创业:10 分钟用 Nexior 设置你的 SaaS 盈利机器</a> <a class="imdtrap flexRow overflowclass" href="/wz/365612.html" > 在 Ace Data Cloud 这个分发系统中,最有效的盈利方式是什么?答案并不是撰写文章或在社交媒体上发帖,而是——搭建自己的 AI 平台。 听起来很复杂?实际上,借助开源项目 Nexior,你可 </a> </div> </div> <div class="tjimd-down flexRow"> <div class="imdd-tab flexRow"> <p class="imddt-time flexRow"><b></b><span>2026-04-17</span></p> </div> <a href="/wz/365612.html" class="imdd-more flexRow flexcenter" >立即查看</a> </div> </div> </div> </div> </div> </div> <div class="cd-right dtlcd-right"> <div class="dtl-ht"> <div class="jb-titles flexRow"> <div class="jbtle-left flexRow"><b></b><p>专题</p></div> </div> <div class="dtlht-list "> <div class="htl-item flexRow"> <div class="htmitem-left"> <div class="htiteml-top flexRow"> <a href="/wz/zt-69351.html" >#数据可视化</a> <span></span> </div> <a class="htiteml-down flexRow" href="/wz/zt-69351.html" >数据可视化(Data Visu</a> </div> <p class="htmitem-right flexRow flexcenter gz" data-id="69351" >+ 收藏</p> </div> <div class="htl-item flexRow"> <div class="htmitem-left"> <div class="htiteml-top flexRow"> <a href="/wz/zt-69342.html" >#自然语言处理</a> <span></span> </div> <a class="htiteml-down flexRow" href="/wz/zt-69342.html" >自然语言处理(Natural</a> </div> <p class="htmitem-right flexRow flexcenter gz" data-id="69342" >+ 收藏</p> </div> <div class="htl-item flexRow"> <div class="htmitem-left"> <div class="htiteml-top flexRow"> <a href="/wz/zt-68363.html" >#Excel公式</a> <span></span> </div> <a class="htiteml-down flexRow" href="/wz/zt-68363.html" >Excel公式就是:用函数 +</a> </div> <p class="htmitem-right flexRow flexcenter gz" data-id="68363" >+ 收藏</p> </div> <div class="htl-item flexRow"> <div class="htmitem-left"> <div class="htiteml-top flexRow"> <a href="/wz/zt-68355.html" >#Excel技巧</a> <span></span> </div> <a class="htiteml-down flexRow" href="/wz/zt-68355.html" >Excel是日常生活中必不可</a> </div> <p class="htmitem-right flexRow flexcenter gz" data-id="68355" >+ 收藏</p> </div> <div class="htl-item flexRow"> <div class="htmitem-left"> <div class="htiteml-top flexRow"> <a href="/wz/zt-68081.html" >#蛋仔派对</a> <span></span> </div> <a class="htiteml-down flexRow" href="/wz/zt-68081.html" >蛋仔派对最新官方活动、关卡速</a> </div> <p class="htmitem-right flexRow flexcenter gz" data-id="68081" >+ 收藏</p> </div> <div class="htl-item flexRow"> <div class="htmitem-left"> <div class="htiteml-top flexRow"> <a href="/wz/zt-68000.html" >#人工智能</a> <span></span> </div> <a class="htiteml-down flexRow" href="/wz/zt-68000.html" >人工智能(AI),简单说,就</a> </div> <p class="htmitem-right flexRow flexcenter gz" data-id="68000" >+ 收藏</p> </div> </div> </div> <div class=" dtl-zt"> <div class="jb-titles flexRow"> <div class="jbtle-left flexRow"><b></b><p>最新数据</p></div> </div> <div class="wkch-downs"> <div class="weekch-top flexRow"> <a class="wktpa flexRow" href="/wz/339615.html" > <img src="/jiaoben/image/noimg.png" > </a> <div class="wktpa-right flexColumn"> <a class="wktpara flexRow overflowclass" href="/wz/339615.html" >Amazon & Etsy 产品调研引擎:AI 驱动的市场洞察 - Openclaw Skills</a> <a class="wktparp flexRow overflowclass" href="/wz/339615.html" > 什么是 Amazon & </a> </div> </div> <div class="weekch-list"> <div class="weekch-con flexRow"> <div class="weekch-icon flexRow"><b></b></div> <a href="/wz/339614.html" class="weekcha flexRow flexcenter overflowclass" >应用内购买:实现订阅与付费墙 - Openclaw Skills</a> </div> <div class="weekch-con flexRow"> <div class="weekch-icon flexRow"><b></b></div> <a href="/wz/339613.html" class="weekcha flexRow flexcenter overflowclass" >空文件网关:二进制测试文件 API 集成 - Openclaw Skills</a> </div> <div class="weekch-con flexRow"> <div class="weekch-icon flexRow"><b></b></div> <a href="/wz/339612.html" class="weekcha flexRow flexcenter overflowclass" >UCM:统一的 AI 智能体 API 市场 - Openclaw Skills</a> </div> <div class="weekch-con flexRow"> <div class="weekch-icon flexRow"><b></b></div> <a href="/wz/339611.html" class="weekcha flexRow flexcenter overflowclass" >A2A4B2B:AI 智能体对智能体 B2B 网络 - Openclaw 技能</a> </div> <div class="weekch-con flexRow"> <div class="weekch-icon flexRow"><b></b></div> <a href="/wz/339607.html" class="weekcha flexRow flexcenter overflowclass" >WhatsApp GIF 集成:通过 AI 智能体发送反应 - Openclaw Skills</a> </div> <div class="weekch-con flexRow"> <div class="weekch-icon flexRow"><b></b></div> <a href="/wz/339606.html" class="weekcha flexRow flexcenter overflowclass" >OpenBot ClawHub 技能:AI 龙虾社交世界 - Openclaw Skills</a> </div> <div class="weekch-con flexRow"> <div class="weekch-icon flexRow"><b></b></div> <a href="/wz/339605.html" class="weekcha flexRow flexcenter overflowclass" >利基市场选择:个体创业者的盈利市场策略 - Openclaw Skills</a> </div> <div class="weekch-con flexRow"> <div class="weekch-icon flexRow"><b></b></div> <a href="/wz/339604.html" class="weekcha flexRow flexcenter overflowclass" >OpenCal:AI卡路里与营养追踪技能 - Openclaw Skills</a> </div> <div class="weekch-con flexRow"> <div class="weekch-icon flexRow"><b></b></div> <a href="/wz/339603.html" class="weekcha flexRow flexcenter overflowclass" >接地实践:AI智能体对齐与完整性 - Openclaw技能库</a> </div> </div> </div> </div> <div class=" dtl-wz"> <div class="jb-titles flexRow"> <div class="jbtle-left flexRow"><b></b><p>相关文章</p></div> </div> <div class="blog-list"> <a href="/wz/359568.html" class="bloga flexRow over"><p class="overflowclass">客户 CRM:管理客户关系与销售 - Openclaw Skills</p><div class="blogtime"><span>04/</span>17</div></a> <a href="/wz/359569.html" class="bloga flexRow over"><p class="overflowclass">课程创作者:自动化在线课程设计与销售 - Openclaw Skills</p><div class="blogtime"><span>04/</span>17</div></a> <a href="/wz/359570.html" class="bloga flexRow over"><p class="overflowclass">Config Diff:比较与合并配置文件 - Openclaw Skills</p><div class="blogtime"><span>04/</span>17</div></a> <a href="/wz/359571.html" class="bloga flexRow over"><p class="overflowclass">自主行动:自我发起的 AI 智能体任务 - Openclaw Skills</p><div class="blogtime"><span>04/</span>17</div></a> <a href="/wz/359572.html" class="bloga flexRow over"><p class="overflowclass">审批队列:人机协同工作流管理 - Openclaw Skills</p><div class="blogtime"><span>04/</span>17</div></a> <a href="/wz/359573.html" class="bloga flexRow over"><p class="overflowclass">智能路由:智能 AI 模型选择 - Openclaw Skills</p><div class="blogtime"><span>04/</span>17</div></a> <a href="/wz/359575.html" class="bloga flexRow over"><p class="overflowclass">分析追踪:GA4 和 GTM 实施指南 - Openclaw Skills</p><div class="blogtime"><span>04/</span>17</div></a> <a href="/wz/359576.html" class="bloga flexRow over"><p class="overflowclass">主机 Ping:Openclaw Skills 的实时网络连通性工具</p><div class="blogtime"><span>04/</span>17</div></a> <a href="/wz/359577.html" class="bloga flexRow over"><p class="overflowclass">OpenClaw 自愈:AI 驱动的网关恢复 - Openclaw Skills</p><div class="blogtime"><span>04/</span>17</div></a> <a href="/wz/359578.html" class="bloga flexRow over"><p class="overflowclass">NSFW Detector Pro:高级 AI 内容审核 - Openclaw Skills</p><div class="blogtime"><span>04/</span>17</div></a> </div> </div> <div class="cdr-ai"> <div class="jb-titles flexRow"> <div class="jbtle-left flexRow"><b></b><p>AI精选 </p></div> <a class="jbtitle-more flexRow" href="/category/list_344_1.html" title=""><span>更多</span><b></b></a> </div> <div class="ai-list"> <div class="ail-top flexRow"> <a href="/wz/365746.html" title="" class="ailta "> <img src="https://images.jiaoben.net/uploads/20260417/logo_69e208357343d1.jpeg" > <p ><span>MCP协议设计与实现-第13章 </span></p></a> <a href="/wz/365737.html" title="" class="ailta "> <img src="https://images.jiaoben.net/uploads/20260417/logo_69e207b2ddf8a1.jpeg" > <p ><span>MCP协议设计与实现-第11章 </span></p></a> </div> <div class="ail-down"> <a class="ali-con flexRow" href="/wz/365699.html" title=""> <div class="alicon-left flexRow"><span>精选</span></div> <p class="aliconp overflowclass">MCP协议设计与实现-第20章 从零构建一个生产级 MCP Server</p> </a> <a class="ali-con flexRow" href="/wz/365698.html" title=""> <div class="alicon-left flexRow"><span>精选</span></div> <p class="aliconp overflowclass">MCP协议设计与实现-第16章 服务发现与客户端注册</p> </a> <a class="ali-con flexRow" href="/wz/365691.html" title=""> <div class="alicon-left flexRow"><span>精选</span></div> <p class="aliconp overflowclass">MCP协议设计与实现-第18章 Elicitation、Roots 与配置管理</p> </a> <a class="ali-con flexRow" href="/wz/365689.html" title=""> <div class="alicon-left flexRow"><span>精选</span></div> <p class="aliconp overflowclass">MCP协议设计与实现-第10章 Python Server 实现剖析</p> </a> <a class="ali-con flexRow" href="/wz/365683.html" title=""> <div class="alicon-left flexRow"><span>精选</span></div> <p class="aliconp overflowclass">MCP协议设计与实现-第17章 sampling</p> </a> <a class="ali-con flexRow" href="/wz/365682.html" title=""> <div class="alicon-left flexRow"><span>精选</span></div> <p class="aliconp overflowclass">MCP协议设计与实现-第09章 TypeScript Client 实现剖析</p> </a> <a class="ali-con flexRow" href="/wz/365676.html" title=""> <div class="alicon-left flexRow"><span>精选</span></div> <p class="aliconp overflowclass">MCP协议设计与实现-第19章 Claude Code 的 MCP 客户端:12 万行的实战</p> </a> <a class="ali-con flexRow" href="/wz/365675.html" title=""> <div class="alicon-left flexRow"><span>精选</span></div> <p class="aliconp overflowclass">MCP协议设计与实现-第12章 STDIO 传输:本地进程通信</p> </a> </div> </div> </div> <div class="cdr-blog"> <div class="jb-titles flexRow"> <div class="jbtle-left flexRow"><b></b><p>脚本推荐</p></div> </div> <div class="blog-list"> <a href="/wz/zt-49225.html" title="" class="bloga flexRow over"><p class="overflowclass">SeeDance 2.0 Video Creator专区</p></a> <a href="/wz/zt-49224.html" title="" class="bloga flexRow over"><p class="overflowclass">OpenClaw AI专区</p></a> <a href="/wz/zt-49223.html" title="" class="bloga flexRow over"><p class="overflowclass">cowork专区</p></a> <a href="/wz/zt-49222.html" title="" class="bloga flexRow over"><p class="overflowclass">claude code skills专区</p></a> </div> </div> </div> </div> </div> </div> </main> <script> $(function() { // “+ 收藏”按钮点击事件 $(document).on('click', '.htmitem-right, .ztop-right', function(e) { // 仅针对包含 “+ 收藏” 文字的按钮 if ($(this).text().indexOf('+ 收藏') === -1) return; e.preventDefault(); const id = $(this).data('id'); if (!id) { layer.msg('该项暂无有效ID,无法收藏'); return; } // 构造收藏 URL: 当前域名 + /wz/zt- + id + / const bookmarkUrl = window.location.origin + '/wz/zt-' + id + '.html'; // 获取收藏标题 (优先从同级元素获取话题名称,否则使用页面标题) let bookmarkTitle = $(this).closest('.htl-item, .zttopd').find('a:first, span.overflowclass').text().trim() || document.title; if (bookmarkTitle.startsWith('#')) bookmarkTitle = bookmarkTitle.substring(1); // 浏览器收藏逻辑 (带 Fallback) try { if (window.sidebar && window.sidebar.addPanel) { // Firefox < 23 window.sidebar.addPanel(bookmarkTitle, bookmarkUrl, ""); } else if (window.external && ('AddFavorite' in window.external)) { // IE window.external.AddFavorite(bookmarkUrl, bookmarkTitle); } else { // Chrome, Safari, Firefox 23+, etc. const isMac = /Mac/i.test(navigator.userAgent); const keyStr = isMac ? 'Command + D' : 'Ctrl + D'; layer.confirm('由于浏览器安全限制,请使用 <b>' + keyStr + '</b> 手动添加收藏。<br><br>收藏地址:<br><small>' + bookmarkUrl + '</small>', { title: '收藏提示', btn: ['复制链接', '知道了'], yes: function(index) { copyToClipboard(bookmarkUrl).then(() => { layer.msg('链接已复制,请手动添加到收藏夹'); }).catch(() => { layer.msg('复制失败,请手动选择复制'); }); layer.close(index); } }); } } catch (err) { layer.msg('收藏失败,请手动添加'); } }); // 兼容非 HTTPS 的复制函数 function copyToClipboard(text) { if (navigator.clipboard && window.isSecureContext) { return navigator.clipboard.writeText(text); } else { let textArea = document.createElement("textarea"); textArea.value = text; textArea.style.position = "fixed"; textArea.style.left = "-999999px"; textArea.style.top = "-999999px"; document.body.appendChild(textArea); textArea.focus(); textArea.select(); return new Promise((res, rej) => { document.execCommand('copy') ? res() : rej(); textArea.remove(); }); } } }); </script> <footer> <div class="foot "> <div class="foot-top flexRow"> <div class="foot-left"> <div class="ftl-top flexRow"><span class="flexRow flexcenter">脚本</span>在线</div> <p class="ftl-down"> 智能赋能梦想,脚本构筑现实。我们致力于链接AI智能指令 与传统自动化,为您提供一站式、高效率的脚 本资产与生成 服务。 </p> </div> <div class="foot-right flexRow"> <div class="ftr-list flexColumn"> <p>核心板块</p> <span>AI脚本库</span> <span>自动化仓库</span> <span>脚本实验室</span> </div> <div class="ftr-list flexColumn"> <p>关于我们</p> <a href="/category/list_229_1.html" >最新游戏</a> <span>商务合作</span> <span>隐私政策</span> </div> <div class="ftr-list flexColumn"> <p>社区支持</p> <span >API文档</span> <a href="/category/list_334_1.html" >攻略资讯</a> <span>违规举报</span> </div> </div> </div> <div class="foot-down flexColumn"> <p>© 2026 jiaoben.net | 脚本在线 | 联系:jiaobennet2026@163.com</p> <p>备案:<a style="color: #7F7F7F;" href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">湘ICP备18025217号-11</a> </p> </div> </div> </footer> <div style="display:none;"> <script type="text/javascript"> var _paq = window._paq = window._paq || []; _paq.push(['trackPageView']); _paq.push(['enableLinkTracking']); (function() { var u="//tongji.zhangwan.net/"; _paq.push(['setTrackerUrl', u+'matomo.php']); _paq.push(['setSiteId', '29']); // Add this code below within the Matomo JavaScript tracker code // Important: the tracker url includes the /matomo.php var secondaryTrackerUrl = u+'matomo.php'; var secondaryWebsiteId = 27; // Also send all of the tracking data to this other Matomo server, in website ID 77 _paq.push(['addTracker', secondaryTrackerUrl, secondaryWebsiteId]); // That's it! var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.type='text/javascript'; g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); })(); </script> <script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?5d3cfe1f36b1988029fe82a0d475b20d"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> </div> </body> </html>