--- name: query-tianhong-fund-holdings description: 通过天弘基金官方网页只读查询个人基金持仓、基金代码、份额、净值日期及市值,核对总资产与明细并区分交易流水和实际持仓。用户要求查天弘基金持仓、刷新天弘资产或核对天弘余额时使用;优先使用云电脑,不使用基金e账户。 --- # 查询天弘基金持仓 ## 范围与入口 - 只读查询天弘基金账户和持仓。不要申购、赎回、转换、转账、开户、修改投资设置或账户资料,也不要将查询扩展为交易建议。 - 需要用网上交易接口复用 Cookie、读取持仓和约一年交易记录时,改用 `thfund-holdings`。本技能继续只走官方网页浏览器,不从浏览器提取或保存 Cookie。 - 优先使用云电脑浏览器,先阅读当前可用浏览器工具的说明并按返回的文档操作。若提供 `cua_repl`,按其当前初始化流程使用云浏览器;不要硬编码选择器、猜测接口或保存标签页 ID。 - 官方入口为 https://www.thfund.com.cn/ ,于 2026-10-20 经官网公开检索核验。优先复用已确认属于天弘的已登录官方页面;否则从官网当前可见的个人账户/查询入口导航,验证品牌、域名与跳转来源。 - 公开检索亦可见 https://query.thfund.com.cn/thjj.jsp ,但该页可能显示 APP 注册提示,不能把它当作永远有效的网页版持仓入口。按实际页面判断,遇到入口退役或不可用时报告,不绕过限制、不猜测内部端点。 - 不使用基金e账户。不要将该公司可见账户范围等同于用户所有销售渠道或全部基金资产。 ## 会话与安全 1. 告知用户正在使用云电脑浏览器并检查登录态。不要为读取持仓提取或保存 cookies、tokens、密码或浏览器配置。 2. 需要登录时遵循当前确认政策;密码通过安全认证表单处理,不索要聊天密码。需要用户接管时使用工具返回的安全交接方式。普通一次性验证码只用于对应服务、本次授权登录,不复述或保存。 3. 依当前确认政策处理验证码、权限、身份验证和协议。本技能不授予额外权限,不一概禁止全部登录协议。必须由用户完成的金融协议、敏感身份验证或安全警告,在该处停止并说明具体原因。 4. 页面不可用、登录失效、验证阻塞或读取不全时报告“未完成/覆盖不全”,不报告零持仓。仅在当前用户授权与环境规则允许时考虑其本地电脑,不自行切换。 ## 天弘登录提示与原生弹窗 1. 先检查浏览器是否存在网站原生 alert,例如“请先登录再访问/使用”。这类文字提示是登录状态信息,不是浏览器安全拦截;必须与工具明确返回的平台限制分开处理。 2. 在当前政策允许时,通过浏览器工具支持的原生对话框操作确认 OK,再读取新页面状态。不要用猜测的页面选择器寻找原生弹窗按钮,也不要将确认弹窗当作登录成功或授权同意新协议。 3. 原生弹窗可能导致页面附着或读取超时。先处理确实存在的弹窗,再检查页面;超时本身不能证明会话到期或浏览器安全限制。只有明确站点提示或重新加载受保护页面后的结果才能支持登录状态判断。 4. 需要登录时使用当前安全认证/交接流程。完成后重新加载受保护持仓详情验证;仍是登录页或提示未登录就如实报告,不复用旧首页余额作为本次结果。 ## 登录态验证与浏览器异常 - 以新加载的受保护持仓/资产详情页验证会话,而不是只看仍显示余额的旧首页。正常提交登录后刷新或重新进入受保护详情,确认可以读取当前内容;提交完成、弹窗关闭、用户说已登录均不等于助手已验证登录成功。分别报告用户提供的状态和实际验证结果。 - 若出现明确到期提示,记录最后一次验证有效与第一次明确失效之间的区间,不推断精确失效时刻或固定超时时长。未能读取页面只说明状态未知,不能单凭工具超时判定网站登录失效。 - 不承诺刷新保活。南方站点曾出现每十分钟刷新仍失效的情况,不能推导出其他频率有效;不默认建立、恢复或加密频率运行登录监控、轮询或刷新。只有另行明确请求监控时才在授权范围内安排检查;技能更新本身不授权监控。 - 若安全凭据交付后工具返回 `retained_data_restricted`,将其识别为浏览器平台限制,而不是网站拒绝登录。只使用工具当次明确允许的恢复方式;若建议的新标签页操作本身返回 `browser_security_restricted` 且 `next_action: stop`,立即停止并报告阻塞。不要循环新开标签页、换入口、换工具或借助自定义规则绕过限制。 - 用户手动登录不证明平台限制已解除。仅在工具允许重新检查时做一次新的状态检查;仍被拒绝则停止,不重复尝试。无法验证时保留“用户报告已登录,助手尚未验证”的区别。 - 按当前确认政策处理普通登录及协议,不预设所有金融网站登录复选框都必须拒绝。需要传输完整国家身份证号码时交由用户完成;优先使用已验证可用的普通安全登录方式,不收集或保存身份号码、密码及其他凭据。 ## 查询与核对 - 适用于该公司各类基金及当前授权可见的账户,不固定产品或份额类别。若页面提供多个账户、销售渠道或组合视图,先识别当前范围,再在授权范围内逐一读取;分别记录子范围与覆盖状态,避免跨账户重复汇总。不能访问的范围标记未知。 - 分别记录确认份额、可用份额与冻结份额及其标签,不能互相替代;可用份额较少不意味着总持仓减少。用确认持仓对应口径核对市值,缺少口径时不要强行计算。 1. 记录观察时间及明确时区。打开持仓/资产页面,而不是仅打开交易流水;保留页面资产日期、产品净值日期与观察时间三个概念。 2. 读取总资产及口径,遍历持仓分页、折叠区和产品详情。记录基金代码、名称、份额类别、币种、持有份额、单位净值、净值日期、市值;按实际可见字段补充成本和收益,保留标签及期间,不凭空补齐。 3. 检查是否有现金类产品、余额、冻结份额和待确认业务。判断待确认金额是否已包含在产品或账户总额,避免重复加计;无法确定时单列并明确其包含关系未知。 4. 在同币种、同日期、同份额和同金额口径下,以份额乘单位净值校验市值。按显示精度解释舍入;若货币基金计价方式、汇率、待确认款或未结收益造成不可比,先说明差异,不强行套公式。将实际市值字段与计算值区分。 5. 汇总不重复的产品明细,与账户总资产核对;检查缺页、不同份额类别、销售渠道、现金余额、在途包含关系及刷新时间。若有差额,保留总额、明细合计及未解释差额,不为了对齐而改动原始数值。 6. 一个月交易流水为零行只说明该时间范围内未显示交易,绝不证明无持仓或资产为零。仅当持仓页明确无持仓且范围完整时报告零;没有收益字段也不等于收益为零。 7. 保留各产品自己的净值日期。QDII 与海外市场相关产品可能正常滞后,不将观察日冒充净值日;列表、详情或不同产品日期不一致时注明,不默认为统一估值时点。 ## 结果与可重复快照 - 用中文汇报来源及覆盖范围、观察时间、总额与口径、持仓列表及各自净值日期、份额乘净值核验、待确认关系、总额核对和缺失内容。不要暴露账户标识、私有会话链接或令牌;链接使用不含私人参数的官方入口。 - 输出一份结构化快照,可包含 provider、observed_at、coverage、source_url、displayed_total、currency、positions、pending_items、reconciliation、warnings。positions 记录 fund_code、share_class、name、shares、nav、nav_date、market_value 及确实存在的收益字段。缺失字段用 null,明确覆盖不全。 - 按公司、基金代码、份额类别、币种与已验证的账户范围去重。同基金不同渠道确为独立持仓时保留分项;需要区分范围时使用临时非敏感标签,不在技能中保留账户标识。 - 重复处理同一观察快照时替换对应记录或跳过完全重复项,不累加金额。新的观察时间产生新快照,但不改变原始净值日期。 - 除非另有明确授权保存/同步,仅向用户或调用方返回结果,不写持仓到长期记忆、外部文档、定时任务或本技能。不要将真实金额、凭据、验证码、账户标识或浏览器会话信息加入技能及示例。 - 如仅完成离线流程检查,应明确未重新验证线上登录和实际查询,不声称已端到端验证。