session
feishu.agent.session
¶
SessionStore
¶
Bases: Protocol
会话历史存储协议,是自定义持久化后端的扩展契约。
feishu.agent.loop.Agent 通过该协议读写各会话的对话历史;内置实现为
feishu.agent.session.InMemorySessionStore,可自行实现该协议接入数据库等持久化后端。该协议标注了
runtime_checkable,可用 isinstance 校验实现是否符合契约。
示例:
源代码位于: feishu/agent/session.py
InMemorySessionStore
¶
基于内存的 feishu.agent.session.SessionStore 实现。
将各会话历史保存在进程内字典中,写操作以锁保护因而并发安全。仅适用于单进程、可接受重启即丢失历史的 场景;生产环境请自行实现 feishu.agent.session.SessionStore 接入持久化后端。
示例:
源代码位于: feishu/agent/session.py
get
async
¶
get(session_id: str) -> list[Message]
append
async
¶
append(session_id: str, *messages: Message) -> None
向指定会话追加一条或多条消息。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
|
str
|
会话标识。 |
必需 |
|
Message
|
待追加的消息。 |
()
|
源代码位于: feishu/agent/session.py
PendingApproval
dataclass
¶
一次挂起的工具审批,记录恢复对话所需的全部上下文。
当工具的 requires_approval 为 True 时,feishu.agent.loop.Agent 会创建该记录并发送审批卡片;
用户在卡片上批准或拒绝后,依据其中保存的会话与工具调用信息恢复本轮对话。
示例:
| Python Console Session | |
|---|---|
源代码位于: feishu/agent/session.py
PendingApprovalStore
¶
Bases: Protocol
挂起审批存储协议,是自定义审批持久化后端的扩展契约。
feishu.agent.loop.Agent 通过该协议保存与取回挂起的 feishu.agent.session.PendingApproval;
内置实现为 feishu.agent.session.InMemoryPendingApprovalStore。该协议标注了 runtime_checkable,
可用 isinstance 校验实现是否符合契约。
示例:
源代码位于: feishu/agent/session.py
put
async
¶
put(approval: PendingApproval) -> None
InMemoryPendingApprovalStore
¶
基于内存的 feishu.agent.session.PendingApprovalStore 实现。
将挂起审批保存在进程内字典中,写操作以锁保护因而并发安全。每个审批仅可被取出一次,取出即移除,可天然 防止重复执行。仅适用于单进程场景;生产环境请自行实现 feishu.agent.session.PendingApprovalStore。
示例:
源代码位于: feishu/agent/session.py
put
async
¶
put(approval: PendingApproval) -> None
pop
async
¶
pop(approval_id: str) -> PendingApproval | None
按 approval_id 取出并移除一次挂起的审批。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
|
str
|
审批标识。 |
必需 |
返回:
| 类型 | 描述 |
|---|---|
PendingApproval | None
|
对应的 feishu.agent.session.PendingApproval;不存在或已被取出时返回 |
源代码位于: feishu/agent/session.py
| Python | |
|---|---|