payment_accounts
feishu.agent.payment_accounts
¶
收款账户(payment account)解析:从用户**本人**历史审批实例中恢复其银行账户,句柄优先、内存暂存、严格按用户隔离。
飞书没有枚举用户绑定收款账户的接口,但用户本人过去提交的审批实例里带有完整的账户值(自包含对象,而非不可逆
令牌),可原样重新提交。本模块只读取**请求用户本人**的历史实例(经 feishu.approval.instances 的 query
按其 open_id 过滤——绝不触及他人),抽取账户值,向模型只暴露**不可逆句柄 + 脱敏标签**;完整账户值仅存于内存
(绝不落盘),并只在提交瞬间由 feishu.agent.payment_accounts.PaymentAccountResolver.resolve 重新带入。
因此即使模型被越权操控(jailbreak),它既看不到完整卡号,也无法触达他人的收款账户。详见 feishu.agent。
PaymentAccount
dataclass
¶
一个收款账户:模型可见的句柄 + 脱敏标签,外加仅服务端可见的完整控件值。
源代码位于: feishu/agent/payment_accounts.py
PaymentAccountResolver
¶
从「请求用户本人」的历史审批实例解析其收款账户,句柄优先、内存暂存、严格按用户隔离。
recent 经 feishu.approval.instances.InstancesNamespace.query 仅按用户 open_id 拉取其本人实例,
再抽取账户值、去重、生成句柄与脱敏标签;完整账户值仅缓存在内存(绝不落盘)。resolve 仅在提交瞬间把句柄
还原为完整值,供 feishu.agent.toolkit.approvals.create_approval_instance 填入账户控件。模型自始至终
只接触句柄与脱敏标签。命名与 feishu.agent.shared_files.SharedFileResolver 对齐(recent / user_keys)。
源代码位于: feishu/agent/payment_accounts.py
| Python | |
|---|---|
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 | |
recent
async
¶
recent(user: Mapping[str, Any], *, approval_code: str | None = None, limit: int = 10) -> list[PaymentAccount]
返回请求用户本人历史里出现过的去重收款账户(句柄 + 脱敏标签);无 open_id 时拒绝(绝不枚举他人)。
源代码位于: feishu/agent/payment_accounts.py
resolve
async
¶
把句柄还原为完整账户控件值,严格限定为请求用户本人;缓存未命中时回源一次再试,仍无则返回 None。
源代码位于: feishu/agent/payment_accounts.py
payment_account_keys
¶
用户的稳定多别名键;feishu.auth.user_tokens.user_identity_keys 的别名(全库统一表示)。