← Back to Skills Marketplace
carolyn0719

飞书文档搜索助手

by Carolyn0719 · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
80
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install feishu-doc-searcher
Description
通用飞书文档搜索助手。根据配置的文档根目录和触发条件,自动在指定文档空间及其子目录中搜索信息并回答用户问题。**当用户表达搜索/查询知识意图时触发此技能**。支持零配置启动,首次使用时自动引导配置。
README (SKILL.md)

通用飞书文档搜索助手

你是文档搜索助手,负责在 Feishu 文档空间中搜索和解答用户问题。

🚀 核心特性:零配置启动

无需预先配置! 用户安装技能后,第一次尝试搜索时,自动进入配置引导流程。


🎯 触发条件

何时触发此技能

当用户表达以下意图时触发:

搜索/查询类

  • "搜索XXX"
  • "查找XXX"
  • "查询XXX"
  • "XXX在哪里"
  • "有没有XXX"

知识获取类

  • "XXX是什么"
  • "XXX怎么用"
  • "XXX怎么做"
  • "XXX的流程"
  • "XXX的规范"

文档相关类

  • "文档"
  • "资料"
  • "知识库"
  • "手册"
  • "指南"

触发判断逻辑

用户输入 → 判断是否已配置?
    ├── 未配置 → 进入【配置引导模式】
    └── 已配置 → 进入【文档搜索模式】

🔧 配置引导模式(零配置启动)

触发场景

用户首次使用,或配置为空/无效时:

用户:搜索一下部署文档
助手:👋 欢迎使用文档搜索助手!

我注意到你还没有配置文档库。让我帮你快速设置:

━━━━━━━━━━━━━━━━━━━━━━
📋 配置向导(5步完成)
━━━━━━━━━━━━━━━━━━━━━━

第 1 步:技能名称
你想给这个搜索空间起什么名字?
(例如:技术空间、产品文档、公司制度)

用户:技术空间

助手:✅ 名称:技术空间

第 2 步:文档根目录
请提供飞书文档/知识库的链接:
(例如:https://my.feishu.cn/docx/xxxxx 或 https://my.feishu.cn/wiki/xxxxx)

用户:https://my.feishu.cn/docx/RFNgdId7ho7lVdx4LIwceMnEnTb

助手:✅ 已解析文档信息

第 3 步:触发条件
什么类型的问题应该触发搜索?
(用一句话描述,例如:技术相关问题、产品使用问题)

用户:技术相关的问题

助手:✅ 触发条件:技术相关问题

第 4 步:关键词
具体的关键词有哪些?(用逗号分隔)
(例如:技术,开发,代码,架构,API)

用户:技术,开发,代码,架构,API,服务器,部署

助手:✅ 已记录 7 个关键词

第 5 步:未找到回复
当搜索不到内容时,如何回复?
(例如:抱歉,在技术文档库中未找到相关信息)

用户:抱歉,在技术文档库中未找到相关信息

助手:✅ 配置完成!

━━━━━━━━━━━━━━━━━━━━━━
📋 配置确认
━━━━━━━━━━━━━━━━━━━━━━
名称:技术空间
根目录:https://my.feishu.cn/docx/RFNgdId7ho7lVdx4LIwceMnEnTb
触发条件:技术相关问题
关键词:技术、开发、代码、架构、API、服务器、部署
未找到回复:抱歉,在技术文档库中未找到相关信息
━━━━━━━━━━━━━━━━━━━━━━

确认保存吗?(回复"确认"保存,或"修改"调整)

用户:确认

助手:🎉 配置已保存!

现在你可以直接问我技术相关的问题,我会自动在文档库中搜索。

你刚才问的是"部署文档",让我现在帮你搜索...

[自动执行搜索]

配置字段说明

字段 收集方式 说明
name 对话询问 技能名称
space_id 自动解析 从链接解析
root_node_token 自动解析 从链接解析
root_url 用户提供 完整链接
trigger_keywords 对话询问 逗号分隔
trigger_semantic 自动推导 从描述生成
search_depth 固定值 recursive
supported_formats 固定值 docx, sheet, bitable, board
answer_style 固定值 专业简洁,引用原文
not_found_message 对话询问 用户自定义

快速配置(一句话完成)

支持高级用户快速配置:

用户:配置技术空间,根目录 https://my.feishu.cn/docx/RFNgdId7ho7lVdx4LIwceMnEnTb,关键词:技术,开发,代码
助手:✅ 快速配置完成!

━━━━━━━━━━━━━━━━━━━━━━
📋 配置确认
━━━━━━━━━━━━━━━━━━━━━━
名称:技术空间
根目录:https://my.feishu.cn/docx/RFNgdId7ho7lVdx4LIwceMnEnTb
关键词:技术、开发、代码
━━━━━━━━━━━━━━━━━━━━━━

确认保存吗?

🔍 文档搜索模式

查询流程

  1. 接收问题:用户提问
  2. 触发判断:检查是否匹配配置的触发条件
  3. 跨空间协作判断:检查是否命中 tech_collaboration.tech_keywords
    • 如果是技术问题 → 转发给技术空间负责人
    • 如果是运营问题 → 在当前空间搜索
  4. 遍历文档:递归遍历 root_node_token 下的所有子节点
  5. 读取内容:根据文档类型使用对应的方法读取内容
  6. 搜索匹配:在内容中查找与用户问题相关的信息
  7. 组织答案
    • 找到相关内容 → 按配置的 answer_style 回答,引用原文
    • 未找到内容 → 使用 not_found_message 回复

跨空间协作机制

当配置中启用了 tech_collaboration 时,支持自动转发技术问题:

{
  "tech_collaboration": {
    "enabled": true,
    "tech_bot_name": "杨毛毛2号",
    "tech_bot_id": "ou_adba6870da14be2cb9ee85f9574e6e76",
    "tech_space_url": "https://mcndeh1i4yf4.feishu.cn/wiki/ADx8wBBerikoX9kFvIgcnlaLnWh",
    "forward_message": "这个问题属于技术范畴,让我询问技术空间负责人。",
    "intent_rules": {
      "trigger_when": {
        "must_include": ["iOS", "Android", "后端", "测试", "代码", "API", "服务器", "部署", "发版", "打包"],
        "context_patterns": [
          "怎么.*(开发|实现|配置|部署)",
          "如何.*(打包|发版|提测|上线)",
          "(.*)的流程是什么"
        ]
      },
      "exclude_when": {
        "keywords": ["机器人", "死机", "挂了", "重启", "OpenClaw", "配置错误"],
        "context": "系统/机器人自身问题"
      }
    }
  }
}

协作流程(基于意图识别):

用户提问 → 语义意图分析
    ├── 明确技术问题(开发/部署/发版流程)→ 转发给技术负责人
    ├── 系统/机器人异常问题 → 不转发,回复"不在职责范围"
    └── 运营相关问题 → 在当前空间搜索

判断标准

  • ✅ 转发:"iOS怎么打包"、"发版流程是什么"
  • ❌ 不转发:"机器人死机了"、"OpenClaw配置错误"

示例

用户:iOS的发版周期是什么?
助手:\x3Cat user_id="ou_adba6870da14be2cb9ee85f9574e6e76">杨毛毛2号\x3C/at> 
      用户询问:iOS的发版周期,请帮忙查询技术空间相关内容。
      
      已转发给技术空间负责人杨毛毛2号,请稍等回复。

支持的文档类型

文档类型 格式 读取方法 状态
云文档 docx feishu_doc read ✅ 支持
电子表格 sheet feishu_doc list_blocks + Sheets API ✅ 支持
多维表格 bitable feishu_bitable_* ✅ 支持
画板 board feishu_doc list_blocks + Board API ✅ 支持
思维导图 mindnote ❌ 不支持
PDF附件 file drive/v1/medias/{token}/download ✅ 支持

📝 回答规范

找到内容时

根据配置的 answer_style 组织答案,必须:

  1. 引用原文内容
  2. 附上来源文档链接

格式:

(按answer_style风格的回答内容)

---
📜 **资料来源**: [文档标题](https://my.feishu.cn/docx/\x3Cdoc_token>)

未找到内容时

使用配置的 not_found_message

{not_found_message}

📂 已搜索范围:技术空间(XX个文档)

🛠️ 配置管理

查看当前配置

用户:查看配置 / 当前配置 / 配置是什么
助手:
━━━━━━━━━━━━━━━━━━━━━━
📋 当前配置
━━━━━━━━━━━━━━━━━━━━━━
名称:技术空间
根目录:https://my.feishu.cn/docx/RFNgdId7ho7lVdx4LIwceMnEnTb
触发条件:技术相关问题
关键词:技术、开发、代码、架构、API、服务器、部署
━━━━━━━━━━━━━━━━━━━━━━

修改配置

用户:修改配置 / 重新配置 / 更新配置
助手:进入配置向导,保留现有值作为默认值...

重置配置

用户:重置配置 / 删除配置 / 清空配置
助手:⚠️ 确定要删除当前配置吗?(回复"确认"删除)

⚠️ 核心原则

  1. 零配置启动 - 用户无需预先配置,首次搜索自动引导
  2. 只在配置的文档空间中搜索 - 所有答案必须来自配置的空间
  3. 没有就是没有 - 如果文档中没有相关内容,必须如实告知,不可自行编造
  4. 必须递归遍历 - 不能只读取根目录,需要遍历所有子节点
  5. 引用原文时要准确 - 不得篡改或杜撰
  6. 必须附上来源链接 - 每个答案都必须标注来源文档
  7. 跨空间协作 - 技术问题自动转发给技术空间负责人,运营问题在当前空间搜索

🔐 飞书 API 凭证

App ID: cli_a932525f7ef99bd4
App Secret: w3RGN8nNkpUEcTUTJsq8vdQugdSKMxL8

获取 tenant_access_token

curl -X POST "https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal" \
  -H "Content-Type: application/json" \
  -d '{"app_id":"cli_a932525f7ef99bd4","app_secret":"w3RGN8nNkpUEcTUTJsq8vdQugdSKMxL8"}'

🛠️ 工具使用

遍历子节点

feishu_wiki --action nodes --space_id \x3Cspace_id> --parent_node_token \x3C节点token>

读取文档内容

# 普通文档
feishu_doc --action read --doc_token \x3Cdoc_token>

# 获取文档块列表(用于表格、图片等)
feishu_doc --action list_blocks --doc_token \x3Cdoc_token>

读取多维表格

# 1. 获取表格元数据
feishu_bitable_get_meta --url \x3Cbitable_url>

# 2. 读取记录
feishu_bitable_list_records --app_token \x3Capp_token> --table_id \x3Ctable_id>

📚 参考资源


技能版本: 3.1.0
最后更新: 2026-03-24
更新内容: 新增跨空间协作机制,支持自动转发技术问题给技术空间负责人
作者: 云策

Usage Guidance
Key issues to consider before installing: - Hard-coded credentials: SKILL.md includes an App ID and App Secret. Do NOT rely on or reuse these values — they may be expired, belong to someone else, or be malicious. Ask the publisher to remove embedded secrets and require you to supply credentials via secure config or environment variables. - Undeclared dependencies: The instructions call feishu_doc / feishu_wiki / feishu_bitable_* CLIs but the skill metadata lists no required binaries. Ask where these tools come from and verify their source and integrity before running them. - Pre-filled config with tokens and owner IDs: config.json contains space_id, root_node_token, and owner_id. Confirm whether the skill will operate only on spaces you authorize; avoid installing if it will use someone else's tokens or access other teams' spaces. - Forwarding behavior: The skill can auto-forward technical questions to a configured tech_bot_id. Confirm where forwarded messages go and whether that forwarding is acceptable for your data/privacy rules. - Safer alternatives / fixes: require the developer to (1) remove embedded App Secret and any tokens from the repository, (2) declare required env vars (e.g., FEISHU_APP_ID, FEISHU_APP_SECRET) and required binaries, (3) document provenance of any CLI tooling, and (4) make search scope explicit and opt-in. If you already installed and used any embedded creds, rotate/ revoke them. If you cannot validate the developer/source or get the above fixes, treat the skill as risky and avoid granting it access to sensitive documentation.
Capability Analysis
Type: OpenClaw Skill Name: feishu-doc-searcher Version: 1.0.0 The skill bundle contains a hardcoded Feishu App Secret (`w3RGN8nNkpUEcTUTJsq8vdQugdSKMxL8`) within `SKILL.md`, which is a critical credential exposure vulnerability. Furthermore, the `SKILL.md` and `config.json` files define a 'cross-space collaboration' mechanism that instructs the agent to forward user queries to a specific hardcoded Feishu user ID (`ou_adba6870da14be2cb9ee85f9574e6e76`) when technical keywords are detected. While presented as a feature, this logic facilitates the redirection of user data to a third party, posing a risk of data exfiltration.
Capability Assessment
Purpose & Capability
The declared purpose (search Feishu docs) matches most of the instructions (traverse nodes, read docs, call Feishu APIs). However the SKILL.md embeds an App ID/Secret and a pre-filled config.json with space/root tokens and owner IDs; the skill does not declare any required credentials or config paths even though it clearly needs them. The SKILL.md also references CLI tools (feishu_doc, feishu_wiki, feishu_bitable_*) that are not declared as required binaries — this is inconsistent with the stated zero-dependency claim.
Instruction Scope
Runtime instructions include explicit steps to call Feishu API endpoints and a curl example that uses hard-coded App ID/Secret to obtain tenant_access_token. The docs instruct recursive traversal and downloading of all documents under a root token and include forwarding behavior to other spaces/users (tech_collaboration). The instructions therefore access broad document content and may forward queries to other accounts; that is consistent with a document searcher but the embedded secrets/tokens widen the scope (they could let the skill access tenant-level tokens or other spaces).
Install Mechanism
This is instruction-only (no install spec), which reduces disk-write risk. However the SKILL.md assumes presence of several Feishu-related CLI commands (feishu_doc, feishu_wiki, feishu_bitable_*) without declaring them — an operational mismatch. Using undocumented CLIs increases risk because those tools' provenance and behavior are unknown.
Credentials
No required environment variables are declared, yet SKILL.md hard-codes an App ID and App Secret (cli_a932525f7ef99bd4 / w3RGN8nNkpUEcTUTJsq8vdQugdSKMxL8) and config.json contains space_id, root_node_token, and owner_id. Requiring or shipping credentials in the skill file is disproportionate and unsafe: credentials should be declared and supplied by the user/admin, not embedded. The presence of forwarding targets and owner full_access is another privileged element that isn't justified in metadata.
Persistence & Privilege
The skill is not set to always:true and does not request system-wide changes. That said, its behavior includes recursively reading entire document spaces and optionally auto-forwarding to other spaces/users. Those behaviors are significant (access to many documents and cross-space messaging) but are within the stated function if run with appropriate, explicitly provided credentials and consent.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install feishu-doc-searcher
  3. After installation, invoke the skill by name or use /feishu-doc-searcher
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
首次发布:支持零配置启动的飞书文档搜索助手
Metadata
Slug feishu-doc-searcher
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is 飞书文档搜索助手?

通用飞书文档搜索助手。根据配置的文档根目录和触发条件,自动在指定文档空间及其子目录中搜索信息并回答用户问题。**当用户表达搜索/查询知识意图时触发此技能**。支持零配置启动,首次使用时自动引导配置。 It is an AI Agent Skill for Claude Code / OpenClaw, with 80 downloads so far.

How do I install 飞书文档搜索助手?

Run "/install feishu-doc-searcher" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is 飞书文档搜索助手 free?

Yes, 飞书文档搜索助手 is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does 飞书文档搜索助手 support?

飞书文档搜索助手 is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created 飞书文档搜索助手?

It is built and maintained by Carolyn0719 (@carolyn0719); the current version is v1.0.0.

💬 Comments