feishu-reader
Инструмент для извлечения облачных документов Feishu (Feishu Reader)
Это настольное приложение, написанное на Python и PyQt6, предназначенное для того, чтобы помочь пользователям быстро извлекать документы Feishu (Docx / Wiki) и преобразовывать их в формат Markdown для локального хранения.
🌟 Функциональные особенности
Графический интерфейс пользователя: Предоставляет простой и удобный интерфейс на базе PyQt6.
Извлечение в один клик: Поддержка вставки ссылок на документы/базы знаний Feishu, получение и создание файлов в формате
.mdодним нажатием.Полная поддержка форматов: Парсинг поддерживает текст, многоуровневые заголовки, блоки кода, списки, цитаты, таблицы, диаграммы Mermaid и другие распространенные элементы документов Feishu.
Локализация изображений: Автоматическая загрузка изображений из документа в локальную директорию
assets_<doc_token>/с генерацией относительных путей в Markdown.Права доступа и аутентификация:
Прямой ввод App ID и App Secret приложения Feishu в интерфейсе для получения Access Token в один клик.
Поддержка ручного ввода токена и опция «Запомнить» для сохранения учетных данных локально.
Локальное хранилище: Автоматическая генерация имен файлов с временными метками и сохранение в указанную пользователем директорию.
Related MCP server: Feishu MCP Server
🔑 Настройка приложения Feishu
Этот инструмент обращается к документам через собственное приложение (self-built app) на открытой платформе Feishu. Для первого использования необходимо выполнить следующую настройку.
Шаг 1: Создание собственного приложения
Откройте открытую платформу Feishu и войдите под учетной записью администратора.
Перейдите в консоль разработчика → нажмите Создать приложение в правом верхнем углу → выберите Собственное приложение.
Введите название приложения (например, "Инструмент извлечения документов"), описание, загрузите иконку и нажмите «Подтвердить создание».
Перейдите на страницу сведений о приложении, на вкладке Учетные данные и базовая информация скопируйте:
App ID (например,
cli_xxxxxxxxxxxxxxxx)App Secret (нажмите «Просмотреть», чтобы скопировать)
Шаг 2: Предоставление необходимых прав
Перейдите на страницу сведений о приложении → Управление правами → найдите и активируйте следующие права:
Идентификатор права | Название права | Описание использования |
| Получение информации о базе знаний | Доступ к документам базы знаний типа |
| Просмотр новых документов | Чтение содержимого блоков документов Feishu в формате Docx |
| Загрузка изображений и вложений | Загрузка изображений из документа локально |
| Просмотр содержимого облачного документа | Получение содержимого документов, доступных приложению |
| Просмотр новых документов | Получение содержимого новых документов |
Примечание: После активации прав перейдите на вкладку Управление версиями и публикация, создайте и опубликуйте версию, чтобы права вступили в силу.
Шаг 3: Предоставление приложению доступа к документу
По умолчанию документы Feishu видны только авторизованным пользователям. Необходимо предоставить доступ к целевому документу (или базе знаний) роботу приложения:
Откройте нужный документ Feishu, нажмите Поделиться в правом верхнем углу.
В появившемся окне найдите название вашего приложения и установите права на Просмотр.
Нажмите «Подтвердить», после чего приложение сможет получить доступ к документу.
Если это документ базы знаний (Wiki), необходимо добавить робота приложения в управление участниками базы знаний и предоставить права на просмотр.
🛠️ Установка и запуск
Системные требования
Python 3.10 или выше
Установка зависимостей
pip install -r requirements.txtЗапуск настольного приложения
python main.py🔌 Режим сервера MCP
Поддерживается запуск в качестве сервера MCP для удобного вызова непосредственно в ИИ-инструментах, таких как Claude или Cursor.
Настройка переменных окружения
export FEISHU_APP_ID="cli_xxxxxxxxxxxxx"
export FEISHU_APP_SECRET="xxxxxxxxxxxxxxxx"Запуск сервера MCP
python mcp_server.pyНастройка для Claude / Cursor
Добавьте в ~/.claude.json или в конфигурацию MCP проекта:
{
"mcpServers": {
"feishu-reader": {
"command": "python",
"args": ["mcp_server.py"],
"env": {
"FEISHU_APP_ID": "cli_xxxxxxxxxxxxx",
"FEISHU_APP_SECRET": "xxxxxxxxxxxxxxxx"
},
"workingDirectory": "/path/to/feishu-reader-mcp"
}
}
}📖 Руководство пользователя
Ввод учетных данных: Введите App ID и App Secret вашего приложения Feishu в верхней части интерфейса (сохраняются автоматически после первого использования).
Получение токена: Нажмите кнопку [Обновить] справа от строки Access Token для автоматического получения и заполнения токена; также можно вставить токен вручную.
Вставка ссылки на документ: Вставьте ссылку на документ или страницу базы знаний Feishu в поле «URL документа» (поддерживаются ссылки типов
/docx/,/doc/,/wiki/).Начало извлечения: Нажмите [Начать извлечение] и выберите директорию для сохранения Markdown-файла в появившемся окне.
Ожидание завершения: В нижней области логов будет отображаться прогресс в реальном времени. После завершения вы найдете
.mdфайл и директорию с изображениямиassets_xxx/в целевой папке.
📄 Структура проекта
Файл | Описание |
| Точка входа, содержит определение интерфейса PyQt6 и логику асинхронных потоков |
| Уровень взаимодействия с Feishu OpenAPI, отвечает за получение дерева блоков и загрузку изображений |
| Движок преобразования в Markdown, отображает блоки Feishu в синтаксис Markdown |
| Точка входа для режима сервера MCP |
| Список зависимостей Python |
💡 Примечания
Инструмент адаптирован для нового формата документов Feishu (на базе OpenAPI
/docx/v1/documents), в старых версиях документов возможны отклонения в форматировании.Для загрузки изображений приложению требуются права
docs:document.media:download, а документ должен быть правильно предоставлен роботу приложения, иначе загрузка изображений будет пропущена, а причина ошибки будет указана в логах.Существуют ограничения на частоту вызовов API (5 запросов в секунду / 10 000 в день), пожалуйста, не извлекайте крупные документы слишком часто.
Срок действия токена по умолчанию составляет около 2 часов, после истечения срока просто нажмите [Обновить] для повторного получения.
This server cannot be deployed
Maintenance
Related MCP Connectors
Convert documents and web pages to clean Markdown: PDF, DOCX, XLSX, EPUB, scanned files, any URL.
Parse PDF/Word/PPT/HTML to Markdown; tables as JSON, image extraction, RAG chunking, page ranges.
Search and reason over your Obsidian-style Markdown vault, right from ChatGPT.
Document conversion and OCR for AI agents: PDF, Office docs, images to text.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI models to interact with Feishu (Lark) APIs for document management, bot messaging, chat operations, and multi-dimensional table (Bitable) CRUD operations through natural language.8 npm1MIT
- AlicenseNot gradedqualityDmaintenanceEnables Claude to read and interact with Feishu (Lark) documents, spreadsheets, and multi-dimensional tables. It provides tools for extracting content and metadata from various Feishu resources through secure OAuth or tenant-level authentication.338 npm3MIT
- AlicenseAqualityDmaintenanceAllows AI assistants to fetch and read Enterprise WeChat documents in real time using cookie authentication and HTML-to-Markdown conversion.3MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI applications to access Feishu (Lark) knowledge base and cloud documents through the MCP protocol.8 npm1ISC