Article Bookmarker: AI 驱动的网页内容归档 - Openclaw Skills

作者:互联网

2026-04-11

AI教程

什么是 文章书签技能?

Article Bookmarker 技能是为希望构建结构化、版本控制的网页资源库的开发者和研究人员提供的强大解决方案。通过直接集成到 Openclaw Skills 生态系统中,它通过获取内容、生成深刻的摘要并通过 AI 驱动的自动标签应用一致的分类,自动化了繁琐的手动书签过程。

该技能专注于持久性和便携性,将所有数据存储在与 GitHub 同步的本地目录中。这确保了您的知识库可以离线访问,可通过标准 markdown 工具搜索,并得到安全备份。无论您是在追踪技术文档还是行业新闻,该工具都能在 Openclaw Skills 框架内简化信息保留。

下载入口:https://github.com/openclaw/skills/tree/main/skills/chliny/article-bookmarker

安装与下载

1. ClawHub CLI

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

npx clawhub@latest install article-bookmarker

2. 手动安装

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

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

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

3. 提示词安装

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

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

文章书签技能 应用场景

  • 归档技术教程和研究论文,以便永久离线访问。
  • 构建具有自动化双向标签映射的策划个人知识库。
  • 通过自动提取和总结 README 文件来追踪 GitHub 仓库。
  • 使用 Git 维护专业阅读和见解的版本控制历史。
文章书签技能 工作原理
  1. 该技能通过读取存储路径并验证 Git 配置来初始化工作空间。
  2. 它从提供的 URL 获取完整的文章内容,支持 markdown 提取和特定于 GitHub 的 README 检测。
  3. 精密的 AI 模型分析原始内容,生成 2-3 段的摘要并识别相关关键词。
  4. 系统创建一个标准化的 markdown 文件,包含 URL、元数据、摘要和原始内容。
  5. 中央标签索引自动更新,以反映新条目并维护组织层级。
  6. 更改被提交并推送到远程仓库,以确保跨设备同步。

文章书签技能 配置指南

要开始使用 Openclaw Skills 的这一组件,请配置您的环境变量并初始化目录:

# 设置所需的环境变量
export ARTICLE_BOOKMARK_DIR="/path/to/your/bookmarks"
export ARTICLE_BOOKMARK_GITHUB="yourusername/your-repo"

# 可选:如果需要,配置代理
export HTTP_PROXY="http://proxy.example.com:8080"

# 初始化书签系统
scripts/bookmark.sh init

文章书签技能 数据架构与分类体系

该技能维护一个结构化目录,以确保 Openclaw Skills 内的数据完整性和搜索便利性:

文件/路径 描述
TAG_INDEX.md 将标签映射到文章以及反之亦然的主索引。
*.md 使用 SEO 友好别名命名的单个书签文件。
references/ 包含结构定义,如 file-structure.md

每个书签文件都包含一个 YAML frontmatter 部分,其中包含源 URL、时间戳和 AI 生成的标签数组。

name: article-bookmarker
description: Save and organize web articles as bookmarks with AI summaries and auto-tagging. Use when the user wants to bookmark or collect articles.
homepage: https://github.com/chliny/article-bookmarker-skill
metadata: {"openclaw": {"emoji":"??","requires":{"env":["ARTICLE_BOOKMARK_DIR", "ARTICLE_BOOKMARK_GITHUB"], "bins":["gh", "git"]}}}

Article Bookmarker Skill

IMPORTANT: Before any operation, read the environment variable $ARTICLE_BOOKMARK_DIR to determine the bookmark storage directory. All bookmark files and the tag index must be stored under this path. If the variable is not set, prompt the user to configure it.

When calling scripts/bookmark.sh, you must pass ARTICLE_BOOKMARK_DIR and ARTICLE_BOOKMARK_GITHUB as inline environment variables — the script runs in a subprocess and does not inherit them automatically.

Quick Start

When the user provides a URL or article text to bookmark:

  1. Run scripts/bookmark.sh init to initialize the bookmark directory
  2. Read $ARTICLE_BOOKMARK_DIR to get the storage path
  3. Use web_fetch to get the article content
  4. Generate a concise summary using the current model
  5. Auto-generate relevant tags based on content analysis
  6. Create a markdown file with URL, content, summary, and tags (see file-structure.md for format details)
  7. Save to the bookmark directory with descriptive filename
  8. Update the tag index file
  9. Run scripts/bookmark.sh save "Brief commit message" to commit and push changes

For deletion requests: find the article, confirm details with user, then remove, update index, and run scripts/bookmark.sh save "Delete article xxx".

Workflow

Adding Articles

1. Run scripts/bookmark.sh init
2. Read $ARTICLE_BOOKMARK_DIR
3. Receive URL or text content
4. Extract/save content (web_fetch for URLs)
5. Generate summary (model-based)
6. Auto-tag (keyword/topic analysis)
7. Create bookmark file (markdown format)
8. Update tag index
9. Run scripts/bookmark.sh save "Add article: "
</CODE></PRE>
<H3 id=deleting-articles>Deleting Articles</H3><PRE><CODE>1. Run ARTICLE_BOOKMARK_DIR="$ARTICLE_BOOKMARK_DIR" ARTICLE_BOOKMARK_GITHUB="$ARTICLE_BOOKMARK_GITHUB" scripts/bookmark.sh init
2. Read $ARTICLE_BOOKMARK_DIR
3. Identify target article (by filename, topic, or content)
4. Display article details for confirmation
5. Get user confirmation
6. Delete bookmark file
7. Update tag index
8. Run ARTICLE_BOOKMARK_DIR="$ARTICLE_BOOKMARK_DIR" ARTICLE_BOOKMARK_GITHUB="$ARTICLE_BOOKMARK_GITHUB" scripts/bookmark.sh save "Delete article: <title>"
</CODE></PRE>
<H2 id=tag-management>Tag Management</H2>
<H3 id=auto-tagging-logic>Auto-Tagging Logic</H3>
<P>Generate tags by analyzing:</P>
<UL>
<LI>Article domain/topic keywords</LI>
<LI>Technical terms and concepts</LI>
<LI>Content categories (tutorial, news, research, etc.)</LI>
<LI>Named entities and proper nouns</LI></UL>
<P>Maintain consistent tag vocabulary to avoid duplicates (e.g., use "AI" not "artificial-intelligence").</P>
<H3 id=tag-index-format>Tag Index Format</H3>
<P>TAG_INDEX.md maintains bidirectional mapping (see file-structure.md for full format):</P><PRE><CODE class=language-markdown># Article Tag Index

## Tags

- **AI**: [article1](article1.md), [article2](article2.md)
- **Research**: [...]

## Articles by Tag Count

- 3 tags: [article1](article1.md)
- 1 tag: [...]
</CODE></PRE>
<H2 id=implementation-details>Implementation Details</H2>
<H3 id=content-extraction>Content Extraction</H3>
<UL>
<LI>Use <CODE>web_fetch</CODE> with <CODE>extractMode: "markdown"</CODE> for web articles</LI>
<LI>Handle truncation gracefully (respect <CODE>maxChars</CODE> limits)</LI>
<LI>Preserve original formatting where possible</LI>
<LI><STRONG>GitHub Repository URLs</STRONG>: When the URL is a GitHub repository (e.g., <CODE>https://github.com/user/repo</CODE>), prioritize fetching the README content from the repository's main page or from <CODE>README.md</CODE>, <CODE>readme.md</CODE>, or <CODE>README.rst</CODE> files in the root directory</LI></UL>
<H3 id=proxy-configuration-and-retry>Proxy Configuration and Retry</H3>
<P>When fetching article content from URLs fails:</P>
<OL>
<LI><STRONG>First Attempt</STRONG>: Try fetching without proxy</LI>
<LI><STRONG>On Failure</STRONG>: Load proxy configuration from environment variables:
<UL>
<LI><CODE>HTTP_PROXY</CODE> or <CODE>http_proxy</CODE>: HTTP proxy URL</LI>
<LI><CODE>HTTPS_PROXY</CODE> or <CODE>https_proxy</CODE>: HTTPS proxy URL</LI>
<LI><CODE>NO_PROXY</CODE> or <CODE>no_proxy</CODE>: Comma-separated list of hosts to bypass</LI></UL></LI>
<LI><STRONG>Retry</STRONG>: Re-attempt fetching with proxy configuration</LI>
<LI><STRONG>Final Failure</STRONG>: Notify user if both attempts fail</LI></OL>
<P>Example environment variables:</P><PRE><CODE class=language-bash>export HTTP_PROXY="http://proxy.example.com:8080"
export HTTPS_PROXY="http://proxy.example.com:8080"
export NO_PROXY="localhost,127.0.0.1,.example.com"
</CODE></PRE>
<H3 id=summary-generation>Summary Generation</H3>
<P>Generate 2-3 paragraph summaries that capture:</P>
<UL>
<LI>Main thesis or argument</LI>
<LI>Key insights or findings </LI>
<LI>Practical implications or applications</LI></UL>
<P>Keep summaries informative but concise (typically 150-300 words).</P>
<H3 id=file-naming>File Naming</H3>
<P>Create SEO-friendly filenames:</P>
<UL>
<LI>Convert title to lowercase</LI>
<LI>Replace spaces and special chars with hyphens</LI>
<LI>Limit length to ~50 characters</LI>
<LI>Ensure uniqueness by appending numbers if needed</LI></UL>
<H3 id=safety-checks>Safety Checks</H3>
<UL>
<LI>Validate URLs before fetching</LI>
<LI>Confirm deletions with users (show path and key details)</LI>
<LI>Maintain backup of index before modifications</LI>
<LI>Handle concurrent access gracefully</LI></UL>                                                        
                             
                           </div>
														                            <div class="lastanext flexRow">
							 							 							  <a class="lastart flexRow"  href="/wz/356645.html"  ><span>上一篇:</span><span>AI 3D 生成:文本与图像转 3D 工作流 - Openclaw Skills</span></a>
							 							 
                             							                                 <a class="nextart flexRow"  href="/wz/356650.html" ><span>下一篇:</span><span>Recruiting Pro: 本地招聘流程与管道管理 - 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/365801.html"  >
                                                                                        <img src="https://images.jiaoben.net/uploads/20260417/logo_69e20e59c4d4f1.png" >
                                                                                        </a>
                                            <div class="imdt-right flexColumn">
                                                <a class="imdtra flexRow overflowclass"  href="/wz/365801.html"  >阿里云+本地免费部署OpenClaw及FreeRide教程:免费调用30 主流大模型指南</a>
                                                <a class="imdtrap flexRow overflowclass"  href="/wz/365801.html"  >
                                                                                                                                     OpenClaw与FreeRide的组合,构建了一套**永久免费、稳定可靠、自动降级、无人值守**的AI运行环境,让个人用户、学生、小型团队无需承担API费用,即可使用30+顶级模型能力。FreeRide自动优选、自动切换、自动监控的特性,彻底解决限流、中断、密钥管理等痛点,让OpenClaw从“需要付费才能运行”变为“完全免费长期使用”。
                                                                                                                </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/365801.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/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/365732.html"  >
                                                                                        <img src="https://images.jiaoben.net/uploads/20260417/logo_69e20757ecb5f1.jpeg" >
                                                                                        </a>
                                            <div class="imdt-right flexColumn">
                                                <a class="imdtra flexRow overflowclass"  href="/wz/365732.html"  >2026 最新 Claude Code 国内账号准备指南:邮箱、套餐、支付方式先搞清这几件事</a>
                                                <a class="imdtrap flexRow overflowclass"  href="/wz/365732.html"  >
                                                                                                                                     2026 最新 Claude Code 国内账号准备指南:邮箱、套餐、支付方式先搞清这几件事 写在前面 很多人以为 Claude Code 的门槛主要在安装,其实不是。真正让新手反复卡住的,往往是账号
                                                                                                                </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/365732.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>

                        </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/356654.html"  >
                                                                                     <img src="/jiaoben/image/noimg.png" >
                                                                                    </a>
                                    <div class="wktpa-right flexColumn">
                                        <a class="wktpara flexRow overflowclass"  href="/wz/356654.html"  >Rynjer 图像生成:智能体优先的营销视觉效果 - Openclaw Skills</a>
                                        <a class="wktparp flexRow overflowclass"  href="/wz/356654.html"  >
                                                                                            什么是 Rynjer 图像生成
                                                                                        
                                        </a>
                                    </div>
                                </div>
								
															
															
															
															
															
															
															
															
															
								
                                <div class="weekch-list">
                                										
																											<div class="weekch-con flexRow">
											<div class="weekch-icon flexRow"><b></b></div>
											<a  href="/wz/356653.html"  class="weekcha flexRow flexcenter overflowclass" >Notion 数据库周报生成器:自动生成任务报告 - Openclaw Skills</a>
										</div>
										
																											<div class="weekch-con flexRow">
											<div class="weekch-icon flexRow"><b></b></div>
											<a  href="/wz/356652.html"  class="weekcha flexRow flexcenter overflowclass" >工资管理与税务合规 AI Agent - Openclaw Skills</a>
										</div>
										
																											<div class="weekch-con flexRow">
											<div class="weekch-icon flexRow"><b></b></div>
											<a  href="/wz/356651.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/356650.html"  class="weekcha flexRow flexcenter overflowclass" >Recruiting Pro: 本地招聘流程与管道管理 - Openclaw Skills</a>
										</div>
										
																											<div class="weekch-con flexRow">
											<div class="weekch-icon flexRow"><b></b></div>
											<a  href="/wz/356645.html"  class="weekcha flexRow flexcenter overflowclass" >AI 3D 生成:文本与图像转 3D 工作流 - Openclaw Skills</a>
										</div>
										
																											<div class="weekch-con flexRow">
											<div class="weekch-icon flexRow"><b></b></div>
											<a  href="/wz/356643.html"  class="weekcha flexRow flexcenter overflowclass" >GitHub Issue 回复助手:自动执行仓库分拣 - Openclaw Skills</a>
										</div>
										
																											<div class="weekch-con flexRow">
											<div class="weekch-icon flexRow"><b></b></div>
											<a  href="/wz/356571.html"  class="weekcha flexRow flexcenter overflowclass" >Agent Autonomy Kit: 主动型 AI Agent 自动化 - Openclaw Skills</a>
										</div>
										
																											<div class="weekch-con flexRow">
											<div class="weekch-icon flexRow"><b></b></div>
											<a  href="/wz/356570.html"  class="weekcha flexRow flexcenter overflowclass" >计划面谈:AI 智能体结构化需求收集 - Openclaw Skills</a>
										</div>
										
																											<div class="weekch-con flexRow">
											<div class="weekch-icon flexRow"><b></b></div>
											<a  href="/wz/356569.html"  class="weekcha flexRow flexcenter overflowclass" >中国制造贸易数据分析师:中国出口洞察 - Openclaw Skills</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/359556.html"   class="bloga flexRow over"><p class="overflowclass">MoltMon:拓麻歌子风格的 AI 智能体电子宠物 - Openclaw Skills</p><div class="blogtime"><span>04/</span>17</div></a>
							                                <a  href="/wz/359557.html"   class="bloga flexRow over"><p class="overflowclass">Banana Cog: AI 多图生成与编排 - Openclaw Skills</p><div class="blogtime"><span>04/</span>17</div></a>
							                                <a  href="/wz/359560.html"   class="bloga flexRow over"><p class="overflowclass">Moltbook Negotiator:AI 对 AI 市场谈判 - Openclaw Skills</p><div class="blogtime"><span>04/</span>17</div></a>
							                                <a  href="/wz/359561.html"   class="bloga flexRow over"><p class="overflowclass">Markdown 幻灯片:生成独立 HTML 演示文稿 - Openclaw Skills</p><div class="blogtime"><span>04/</span>17</div></a>
							                                <a  href="/wz/359562.html"   class="bloga flexRow over"><p class="overflowclass">创意实验室:自主创新与原型开发 - Openclaw Skills</p><div class="blogtime"><span>04/</span>17</div></a>
							                                <a  href="/wz/359563.html"   class="bloga flexRow over"><p class="overflowclass">Gumroad 卖家:自动化数字产品销售 - Openclaw Skills</p><div class="blogtime"><span>04/</span>17</div></a>
							                                <a  href="/wz/359564.html"   class="bloga flexRow over"><p class="overflowclass">闪卡制作器:自动生成 Anki 和 Quizlet 牌组 - Openclaw Skills</p><div class="blogtime"><span>04/</span>17</div></a>
							                                <a  href="/wz/359565.html"   class="bloga flexRow over"><p class="overflowclass">紧急响应技能:管理争议与升级 - Openclaw Skills</p><div class="blogtime"><span>04/</span>17</div></a>
							                                <a  href="/wz/359566.html"   class="bloga flexRow over"><p class="overflowclass">DNS 查询:网络分析与传播 - Openclaw Skills</p><div class="blogtime"><span>04/</span>17</div></a>
							                                <a  href="/wz/359567.html"   class="bloga flexRow over"><p class="overflowclass">DeFi 收益优化器:安全的稳定币策略 - 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/365745.html"  title="" class="ailta ">
                                                                        <img src="https://images.jiaoben.net/uploads/20260417/logo_69e2082ad8b5b1.jpeg" >
                                                                        <p ><span>从零开发一个 MCP 服务器 +</span></p></a>
																																																																																																																																																                               
                            </div>
                            <div class="ail-down">
																																																						<a class="ali-con flexRow"  href="/wz/365737.html"  title="">
										<div class="alicon-left flexRow"><span>精选</span></div>
										<p class="aliconp overflowclass">MCP协议设计与实现-第11章 Python Client 实现剖析</p>
									</a>
																																<a class="ali-con flexRow"  href="/wz/365731.html"  title="">
										<div class="alicon-left flexRow"><span>精选</span></div>
										<p class="aliconp overflowclass">MCP协议设计与实现-第14章 SSE 与 WebSocket</p>
									</a>
																																<a class="ali-con flexRow"  href="/wz/365730.html"  title="">
										<div class="alicon-left flexRow"><span>精选</span></div>
										<p class="aliconp overflowclass">MCP协议设计与实现-第7章 Prompt:可复用的交互模板</p>
									</a>
																																<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>
															                               
                            </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>