mcpField
Y
yuque-personal-smart-search

yuque-personal-smart-search

github.com/yuque生産性74338 回インストール35 週間前に更新
リポジトリ

yuque-personal-smart-search について

yuque-personal-smart-searchは、個人のYuqueナレッジベースを検索し、参照元付きの回答をまとめるスキルです。自然言語から短いキーワードを抽出して関連文書を読み、回答を構成します。

主な機能

  1. 01自然言語クエリの処理
  2. 02キーワードによる文書検索
  3. 03文書全文の取得
  4. 04関連結果の選別と順位付け
  5. 05参照元付きの回答

活用シーン

  1. 01個人のYuque文書から手順を探す
  2. 02保存したメモを使って質問に回答
  3. 03特定の文書や情報を見つける

MCP 対応

yuque-mcpサーバーのyuque_searchとyuque_get_docツールを使って文書を検索・取得します。このスキル自体がMCPサーバーを提供するとは記載されていません。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/yuque/yuque-plugin --skill yuque-personal-smart-search

インストール後、Claude Code で/yuque-personal-smart-searchを入力して読み込まれたか確認します。

詳細

スマート検索 — Yuque 個人ナレッジベースの検索と Q&A

自然言語を使って個人の Yuque ナレッジベースを検索し、関連するドキュメントを読み、参照情報を添えて明確な回答をまとめます。

使用するタイミング

  • ユーザーが、個人の Yuque ドキュメントで答えられそうな質問をした場合
  • ユーザーが、自分のナレッジベースで特定の情報を探したい場合
  • ユーザーが「搜一下我的文档」、「search my Yuque」、「我的知识库里有没有...」と言った場合

必須の MCP ツール

すべてのツールは yuque-mcp サーバーのものです。

  • yuque_search — キーワードでドキュメントを検索します
  • yuque_get_doc — slug/id を指定してドキュメントの全文を読み込みます

ワークフロー

Step 1: 検索キーワードを抽出する

ユーザーの自然言語のクエリから、簡潔な中国語のキーワードを1~3個抽出します。Yuque の検索では、短く具体的な用語が最適です。

例:

  • 「我的部署流程文档在哪?」→ キーワード:部署流程
  • 「How do I handle error logging?」→ キーワード:错误日志 または 日志处理
  • 「我之前写的技术评审笔记」→ キーワード:技术评审
Step 2: ドキュメントを検索する

抽出したキーワードを使って yuque_search を呼び出します。

Tool: yuque_search
Parameters:
  query: "<keywords>"
  type: "doc"

検索結果がない場合:

  1. 別のキーワード(同義語、より広い用語)を試します
  2. 複合語を分割して試します(例:「部署流程」→「部署」または「流程」)
  3. それでも結果がない場合は、ユーザーに正直に伝えます:「あなたの語雀ナレッジベースで関連するドキュメントが見つかりませんでした。別のキーワードを試すか、ドキュメントが存在するか確認してください。」
Step 3: 結果を絞り込み、順位付けする

検索結果から、以下に基づいて関連性の高い上位3~5件のドキュメントを選びます。

  • クエリとのタイトルの関連性
  • ドキュメントの更新日時(最近のものを優先)
  • リポジトリのコンテキスト(ユーザー個人のリポジトリを優先)
Step 4: ドキュメントの内容を読む

選択した各ドキュメントの全文を取得します。

Tool: yuque_get_doc
Parameters:
  repo_id: "<namespace>"    # e.g., "username/my-notes" (from search result's book.namespace)
  doc_id: "<slug>"          # e.g., "api" (from search result's target.slug)

注:検索結果にはネストされたデータが含まれます。以下の主要フィールドを抽出してください。

  • target.slug → doc_id として使用
  • target.book.namespace → repo_id として使用
  • target.title → ドキュメントのタイトル
  • target.updated_at → 最終更新日時

ドキュメントは最大3件まで読み込みます。最初のドキュメントだけで質問への回答が完全に得られる場合は、残りを省略してもかまいません。

Step 5: 内容をまとめて回答する

以下の形式で回答を作成します。

## 回答

[直接回答用户的问题,2-4 句话,简洁明了]

## 关键要点

- **要点 1**:[从文档中提取的关键信息]
- **要点 2**:[从文档中提取的关键信息]
- **要点 3**:[从文档中提取的关键信息]

## 参考文档

1. [文档标题](文档链接) — 来自「知识库名称」,更新于 YYYY-MM-DD
2. [文档标题](文档链接) — 来自「知识库名称」,更新于 YYYY-MM-DD

ガイドライン

  • 必ずユーザーが使った言語(中国語または英語)で回答します
  • 関連する場合は、ドキュメントの具体的な内容を引用します — > の引用ブロックを使用します
  • ドキュメントに矛盾する情報が含まれている場合は、その食い違いを示し、どのドキュメントが新しいかを説明します
  • 回答の一部しか見つからなかった場合は、見つかった内容と不足している内容を伝えます
  • ドキュメントに記載されていない情報を捏造してはいけません
  • ユーザーが出典の全文を読めるよう、ドキュメントへのリンクを含めます
  • このスキルはユーザー個人のナレッジベースを検索します。チームのナレッジベースには、yuque-group プラグインの smart-search スキルを使用します

エラー処理

状況対応
yuque_search の結果が空別のキーワードを試し、その後ユーザーに伝えます
yuque_get_doc が失敗(404)このドキュメントをスキップし、削除された可能性があることを伝えます
yuque_get_doc が失敗(403)このドキュメントへのアクセス権がない可能性をユーザーに伝えます
API がタイムアウト1回再試行し、その後接続の問題をユーザーに伝えます
結果が多すぎる関連性の高い上位3件に絞り込み、ほかにも結果があることを伝えます

コメント