Token导航 LogoToken导航

Agent Skill · 研究检索

openakita%2fskills%40yuque-skills(openakita%2fskills%40yuque 技能)

openakita%2fskills%40yuque-skills 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

openakita%2fskills%40yuque-skills 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为接触敏感数据;许可证信息还不明确,暂无第三方扫描结果,按安装量在研究检索类的 73,675 个 Skill 里排第 56,510。

总安装 449周安装 18GitHub Stars 1,674下载 145核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

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

请帮我安装这个 Agent Skill:openakita%2fskills%40yuque-skills(openakita%2fskills%40yuque 技能)
来源仓库:https://github.com/openakita/openakita
仓库路径:skills/openakita%2Fskills%40yuque-skills
安装命令:
npx skills add https://github.com/openakita/openakita --skill openakita/skills@yuque-skills
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/openakita/openakita --skill openakita/skills@yuque-skills

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

用于查找、检索和筛选相关信息。适合在 Codex、Claude、Cursor、Gemini CLI 中根据关键词快速定位候选结果。通过 npx skills add 命令从 GitHub 安装使用。安装前需确认权限范围和维护状态,注意是否触发联网或文件读写。

openakita%2fskills%40yuque-skills 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

来源仓库内路径:skills/openakita%2Fskills%40yuque-skills

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/openakita/openakita --skill openakita/skills@y…;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要接触敏感数据,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

openakita%2fskills%40yuque-skills 怎么安装?

在终端执行 npx skills add https://github.com/openakita/openakita --skill openakita/skills@yuque-skill…。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

openakita%2fskills%40yuque-skills 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

openakita%2fskills%40yuque-skills 需要什么权限?

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

openakita%2fskills%40yuque-skills 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

openakita%2fskills%40yuque-skills 用的人多吗?

公开数据是累计安装 449 次,近一周安装 18 次,下载 145 次,GitHub 1,674 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

openakita%2fskills%40yuque-skills 安全吗?

没有查到第三方扫描结果,安全性无法从公开资料判断,安装前请自行审查源码、依赖和命令行为。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 来源仓库有 1,674 星,维护活跃度相对可查。

先想清楚的地方

  • 需要接触敏感数据,装到常用环境前要先评估影响面。
  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 没有第三方扫描结果,安全性只能靠自己读源码判断。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 环境里有大量密钥、凭证,不方便给第三方 Skill 读取的人。
  • 需要明确授权才能用到公司项目里的场景。
  • 要求有安全扫描结论才肯安装的团队。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
openakita%2fskills%40yuque-skills

openakita%2fskills%40yuque 技能 · 本页

4491,674接触敏感数据未明确未收录

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Yuque Skills — 语雀知识管理

When to Use

  • 用户需要搜索语雀中的文档和知识
  • 需要创建、编辑、发布语雀文档
  • 需要生成周报/月报并发布到语雀
  • 需要管理知识库结构(目录、分类)
  • 需要在团队知识库中进行协作
  • 需要从语雀导出文档或同步内容
  • 需要统计知识库的使用数据

Prerequisites

必需配置

配置项说明
YUQUE_TOKEN语雀 API Token
YUQUE_HOST语雀 API 地址(默认 https://www.yuque.com/api/v2)

获取 Token:

  1. 登录语雀 → 点击头像 → 设置 → Token
  2. 或访问:https://www.yuque.com/settings/tokens
  3. 创建新 Token,勾选所需权限

在 .env 中配置:

YUQUE_TOKEN=your_yuque_token_here
YUQUE_HOST=https://www.yuque.com/api/v2
企业版语雀的 Host 格式为 https://your-company.yuque.com/api/v2

必需依赖

依赖用途安装方式
httpxHTTP API 调用pip install httpx

可选依赖

依赖用途安装方式
markdownifyHTML → Markdown 转换pip install markdownify
beautifulsoup4HTML 解析pip install beautifulsoup4

验证配置

curl -s -H "X-Auth-Token: $YUQUE_TOKEN" "https://www.yuque.com/api/v2/user" | python -m json.tool

Instructions

语雀核心概念

概念英文说明
用户User个人账号
团队Group组织/团队空间
知识库Book/Repo文档集合,类似文件夹
文档Doc具体的内容页面
目录TOC知识库内的文档组织结构
协作者Collaborator知识库的共同维护者

API 基础调用

所有 API 请求需携带 Token:

import httpx

YUQUE_HOST = os.environ.get("YUQUE_HOST", "https://www.yuque.com/api/v2")
YUQUE_TOKEN = os.environ["YUQUE_TOKEN"]

headers = {
    "X-Auth-Token": YUQUE_TOKEN,
    "Content-Type": "application/json",
    "User-Agent": "OpenAkita-Agent/1.0"
}

async def yuque_api(method, path, data=None):
    async with httpx.AsyncClient() as client:
        url = f"{YUQUE_HOST}{path}"
        response = await client.request(method, url, headers=headers, json=data)
        response.raise_for_status()
        return response.json()["data"]

权限说明

权限可执行操作
只读搜索、查看文档、导出
读写创建、编辑、删除文档
管理知识库设置、成员管理

Workflows

Workflow 1: 个人文档搜索

步骤 1 — 获取用户信息

user = await yuque_api("GET", "/user")
user_login = user["login"]
print(f"当前用户: {user['name']} ({user_login})")

步骤 2 — 搜索文档

async def search_docs(query, scope="user"):
    """搜索语雀文档"""
    params = {
        "q": query,
        "type": "doc",
        "scope": scope,
    }
    result = await yuque_api("GET", f"/search?q={query}&type=doc")
    return result

步骤 3 — 获取文档内容

async def get_doc(repo_slug, doc_slug):
    """获取文档详细内容"""
    doc = await yuque_api("GET", f"/repos/{repo_slug}/docs/{doc_slug}")
    return {
        "title": doc["title"],
        "body": doc["body"],        # Markdown 格式
        "body_html": doc["body_html"],  # HTML 格式
        "word_count": doc["word_count"],
        "updated_at": doc["updated_at"],
    }

步骤 4 — 返回搜索结果摘要


Workflow 2: 周报/月报生成

步骤 1 — 收集周报内容

向用户询问或从其他来源汇总:

模块内容
本周完成已完成的工作项列表
进行中正在推进的工作
下周计划下周的工作安排
风险与阻塞需要协助的问题
数据指标关键 KPI 变化

步骤 2 — 生成 Markdown 内容

def generate_weekly_report(data):
    """生成周报 Markdown"""
    report = f"""# 周报 | {data['date_range']}

## ✅ 本周完成

{format_task_list(data['completed'])}

## 🔄 进行中

{format_task_list(data['in_progress'])}

## 📋 下周计划

{format_task_list(data['next_week'])}

## ⚠️ 风险与阻塞

{format_risk_list(data['risks'])}

## 📊 关键指标

{format_metrics_table(data['metrics'])}
"""
    return report

步骤 3 — 发布到语雀

async def publish_report(repo_slug, title, content):
    """发布周报到指定知识库"""
    doc_data = {
        "title": title,
        "slug": generate_slug(title),
        "body": content,
        "format": "markdown",
        "status": 1,  # 0=草稿, 1=发布
    }
    result = await yuque_api("POST", f"/repos/{repo_slug}/docs", data=doc_data)
    return result

步骤 4 — 返回文档链接


Workflow 3: 知识库管理

列出所有知识库

async def list_repos(user_login=None, group_login=None):
    """列出知识库"""
    if group_login:
        repos = await yuque_api("GET", f"/groups/{group_login}/repos")
    else:
        repos = await yuque_api("GET", f"/users/{user_login}/repos")

    return [{
        "id": r["id"],
        "name": r["name"],
        "slug": r["slug"],
        "description": r["description"],
        "docs_count": r["items_count"],
        "namespace": r["namespace"],
        "public": r["public"],
        "updated_at": r["updated_at"],
    } for r in repos]

获取知识库目录

async def get_toc(repo_namespace):
    """获取知识库的目录结构"""
    toc = await yuque_api("GET", f"/repos/{repo_namespace}/toc")
    return toc

创建知识库

async def create_repo(user_or_group_login, name, description="", public=0):
    """创建新知识库"""
    data = {
        "name": name,
        "slug": slugify(name),
        "description": description,
        "public": public,  # 0=私有, 1=公开
        "type": "Book",
    }
    result = await yuque_api("POST", f"/users/{user_or_group_login}/repos", data=data)
    return result

Workflow 4: 文档 CRUD 操作

创建文档

async def create_doc(repo_namespace, title, body, format="markdown"):
    data = {
        "title": title,
        "slug": generate_slug(title),
        "body": body,
        "format": format,
    }
    return await yuque_api("POST", f"/repos/{repo_namespace}/docs", data=data)

更新文档

async def update_doc(repo_namespace, doc_id, title=None, body=None):
    data = {}
    if title:
        data["title"] = title
    if body:
        data["body"] = body
    return await yuque_api("PUT", f"/repos/{repo_namespace}/docs/{doc_id}", data=data)

删除文档

async def delete_doc(repo_namespace, doc_id):
    return await yuque_api("DELETE", f"/repos/{repo_namespace}/docs/{doc_id}")

导出文档

async def export_doc(repo_namespace, doc_slug, format="markdown"):
    """导出文档为指定格式"""
    doc = await get_doc(repo_namespace, doc_slug)
    if format == "markdown":
        return doc["body"]
    elif format == "html":
        return doc["body_html"]
    elif format == "text":
        from bs4 import BeautifulSoup
        return BeautifulSoup(doc["body_html"], "html.parser").get_text()

Workflow 5: 团队协作

列出团队

async def list_groups():
    """列出用户加入的所有团队"""
    groups = await yuque_api("GET", "/users/groups")
    return [{
        "id": g["id"],
        "name": g["name"],
        "login": g["login"],
        "description": g["description"],
        "members_count": g["members_count"],
    } for g in groups]

团队知识库报告

async def generate_team_report(group_login):
    """生成团队知识库使用报告"""
    repos = await list_repos(group_login=group_login)

    report = {
        "total_repos": len(repos),
        "total_docs": sum(r["docs_count"] for r in repos),
        "repos_detail": [],
    }

    for repo in repos:
        docs = await yuque_api("GET", f"/repos/{repo['namespace']}/docs")
        recent_docs = sorted(docs, key=lambda d: d["updated_at"], reverse=True)[:5]
        report["repos_detail"].append({
            "name": repo["name"],
            "doc_count": repo["docs_count"],
            "recent_updates": [d["title"] for d in recent_docs],
        })

    return report

知识库协作者管理

async def add_collaborator(repo_namespace, user_login, role="writer"):
    """添加知识库协作者"""
    data = {
        "login": user_login,
        "role": role,  # reader, writer, admin
    }
    return await yuque_api("POST", f"/repos/{repo_namespace}/collaborators", data=data)

Workflow 6: 知识库内容同步

将外部内容同步到语雀,或从语雀同步到本地:

从 Markdown 文件同步到语雀

async def sync_markdown_to_yuque(md_dir, repo_namespace):
    """将本地 Markdown 文件目录同步到语雀知识库"""
    import glob

    md_files = glob.glob(f"{md_dir}/**/*.md", recursive=True)

    for md_file in md_files:
        with open(md_file, "r", encoding="utf-8") as f:
            content = f.read()

        title = os.path.splitext(os.path.basename(md_file))[0]

        existing = await search_doc_by_title(repo_namespace, title)
        if existing:
            await update_doc(repo_namespace, existing["id"], body=content)
            print(f"更新: {title}")
        else:
            await create_doc(repo_namespace, title, content)
            print(f"创建: {title}")

从语雀导出到本地

async def export_repo_to_local(repo_namespace, output_dir):
    """将语雀知识库导出为本地 Markdown 文件"""
    docs = await yuque_api("GET", f"/repos/{repo_namespace}/docs")

    os.makedirs(output_dir, exist_ok=True)

    for doc_info in docs:
        doc = await get_doc(repo_namespace, doc_info["slug"])
        file_path = os.path.join(output_dir, f"{doc_info['slug']}.md")
        with open(file_path, "w", encoding="utf-8") as f:
            f.write(f"# {doc['title']}\n\n{doc['body']}")
        print(f"导出: {doc['title']} -> {file_path}")

Output Format

搜索结果

🔍 搜索 "项目规范" 共找到 5 条结果:

1. 📄 代码规范 v2.0
   - 知识库: 工程团队/开发规范
   - 更新时间: 2025-02-28
   - 链接: https://www.yuque.com/team/repo/doc-slug

2. 📄 项目管理规范
   - 知识库: PMO/流程文档
   - 更新时间: 2025-02-25
   - 链接: https://www.yuque.com/team/repo/doc-slug2

...

周报输出

生成后返回发布链接和摘要。

知识库统计

📊 团队知识库统计
- 总知识库数: 12
- 总文档数: 456
- 本月新增: 28 篇
- 最活跃知识库: "产品设计" (本月 12 篇更新)
- 最近更新:
  1. API 接口文档 v3 (2 小时前)
  2. Q1 OKR 复盘 (昨天)
  3. 新员工入职手册 (3 天前)

Common Pitfalls

1. Token 权限不足

症状:API 返回 401 或 403 解决:

  • 确认 Token 有读写权限
  • 企业版语雀可能需要管理员授权
  • 检查 Token 是否过期

2. namespace 格式错误

语雀的 namespace 格式为 {user_or_group_login}/{repo_slug},例如 myteam/dev-docs。

错误:使用 repo 名称代替 slug 正确:使用 URL 中的 slug

3. Markdown 与 HTML 格式混淆

语雀文档有两种内容格式:

  • body:Markdown 格式(创建时使用 format: "markdown")
  • body_html:HTML 格式

创建文档时需明确指定 format 参数。

4. API 频率限制

语雀 API 有请求频率限制:

  • 个人版:约 100 次/分钟
  • 企业版:通常更高

解决:批量操作时添加延迟:

import asyncio
for doc in docs:
    await process_doc(doc)
    await asyncio.sleep(0.5)

5. 文档 slug 冲突

同一知识库中 slug 必须唯一。创建文档前先检查是否已存在:

async def safe_create_doc(repo_namespace, title, body):
    slug = generate_slug(title)
    existing = await find_doc_by_slug(repo_namespace, slug)
    if existing:
        slug = f"{slug}-{int(time.time())}"
    return await create_doc(repo_namespace, title, body, slug=slug)

6. 企业版与个人版 API 差异

企业版语雀的部分 API 路径和参数可能有差异:

  • Host 不同(your-company.yuque.com)
  • 部分接口需要额外权限
  • 团队管理接口更丰富

7. 大文档性能问题

超过 5 万字的文档在创建/更新时可能超时。建议:

  • 拆分为多篇文档
  • 使用分页上传
  • 图片先上传到 CDN 再引用

EXTEND.md 扩展

用户可在技能同目录下创建 EXTEND.md 添加:

  • 默认知识库 namespace
  • 团队的语雀 Host 地址
  • 周报/月报模板定制
  • 常用知识库列表和别名
  • 自定义文档模板

平台分布

Codex

33.76%
按下载量换算49

Claude

31.73%
按下载量换算46

Cursor

17.29%
按下载量换算25

Gemini CLI

8.8%
按下载量换算13

安全审计

暂无安全审计结果可展示。

权限和风险

接触敏感数据

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

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills