documents
feishu.agent.toolkit.documents
¶
文档工具工厂:搜索文档、读取文档正文、读取消息线程、读取会议记录(全部为读类)。
各工厂返回的 feishu.agent.tools.Tool 只负责「取数」——抓取并回传原始正文/转录文本,由 feishu.agent.loop.Agent 背后的模型在自己的回复里做总结。处理函数内绝不调用模型。 详见 feishu.agent.toolkit。
search_documents
¶
search_documents(*, description: str, name: str = 'search_documents', locale: str = 'zh-CN', as_user: bool = True, auth_scopes: Sequence[str] = ()) -> Tool
读类工厂:搜索/列举请求用户可见的文档,返回一个 feishu.agent.tools.Tool。
传入 query 时走知识库全文检索(client.wiki.search);否则列举云空间文件夹下的文件
(client.drive.files.list)。两者均以请求用户身份调用以保持权限边界。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
|
str
|
工具描述(产品本地化文案)。 |
必需 |
|
str
|
工具名。默认为 |
'search_documents'
|
|
str
|
本地化标识。默认为 |
'zh-CN'
|
|
bool
|
是否以请求用户身份读取。默认为 |
True
|
|
Sequence[str]
|
缺少授权时申请的飞书权限范围。 |
()
|
返回:
| 类型 | 描述 |
|---|---|
Tool
|
示例:
| Python Console Session | |
|---|---|
源代码位于: feishu/agent/toolkit/documents.py
get_document_content
¶
get_document_content(*, description: str, name: str = 'get_document_content', locale: str = 'zh-CN', as_user: bool = True, auth_scopes: Sequence[str] = (), lang: int | None = None) -> Tool
读类工厂:抓取一篇飞书文档的纯文本正文,返回一个 feishu.agent.tools.Tool。
从参数(文档 URL/token/类型)解析出文档引用,经 resolve_document_reference 解析(含 wiki 反查),
再用 client.docx.raw_content 读取 docx 纯文本并原样回传,由模型自行总结。lang 控制文档中
@ 提及等内容的展示语言(0 默认、1 中文、2 英文)。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
|
str
|
工具描述(产品本地化文案)。 |
必需 |
|
str
|
工具名。默认为 |
'get_document_content'
|
|
str
|
本地化标识。默认为 |
'zh-CN'
|
|
bool
|
是否以请求用户身份读取。默认为 |
True
|
|
Sequence[str]
|
缺少授权时申请的飞书权限范围。 |
()
|
|
int | None
|
|
None
|
返回:
| 类型 | 描述 |
|---|---|
Tool
|
示例:
| Python Console Session | |
|---|---|
源代码位于: feishu/agent/toolkit/documents.py
get_message_thread
¶
get_message_thread(*, description: str, name: str = 'get_message_thread', locale: str = 'zh-CN', as_user: bool = True, auth_scopes: Sequence[str] = ()) -> Tool
读类工厂:抓取一条消息所在回复链的转录文本,返回一个 feishu.agent.tools.Tool。
以 client.im.list_reply_chain 沿 parent_id 向上抓取消息,按时间正序汇总,再用
message_transcript 渲染为「发送者: 文本」逐行转录并回传,由模型自行总结。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
|
str
|
工具描述(产品本地化文案)。 |
必需 |
|
str
|
工具名。默认为 |
'get_message_thread'
|
|
str
|
本地化标识。默认为 |
'zh-CN'
|
|
bool
|
是否以请求用户身份读取。默认为 |
True
|
|
Sequence[str]
|
缺少授权时申请的飞书权限范围。 |
()
|
返回:
| 类型 | 描述 |
|---|---|
Tool
|
示例:
| Python Console Session | |
|---|---|
源代码位于: feishu/agent/toolkit/documents.py
get_meeting_record
¶
get_meeting_record(*, description: str, name: str = 'get_meeting_record', locale: str = 'zh-CN', as_user: bool = True, auth_scopes: Sequence[str] = (), timezone: str = 'Asia/Shanghai', lang: int | None = None) -> Tool
读类工厂:解析一场会议并抓取其会议纪要正文,返回一个 feishu.agent.tools.Tool。
优先从参数里直接解析纪要文档引用(URL/token);否则按 meeting_id(client.vc.meetings.get)或
meeting_no + start_time/end_time(client.vc.meetings.list_by_no,时间经 unix_seconds 以
timezone 归一)解析出会议,再从会议对象里取纪要引用。最终以 client.docx.raw_content 读取纪要
docx 纯文本并回传,由模型自行总结。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
|
str
|
工具描述(产品本地化文案)。 |
必需 |
|
str
|
工具名。默认为 |
'get_meeting_record'
|
|
str
|
本地化标识。默认为 |
'zh-CN'
|
|
bool
|
是否以请求用户身份读取。默认为 |
True
|
|
Sequence[str]
|
缺少授权时申请的飞书权限范围。 |
()
|
|
str
|
解析 |
'Asia/Shanghai'
|
|
int | None
|
|
None
|
返回:
| 类型 | 描述 |
|---|---|
Tool
|
示例:
| Python Console Session | |
|---|---|
源代码位于: feishu/agent/toolkit/documents.py
| Python | |
|---|---|
237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 | |