> For the complete documentation index, see [llms.txt](https://docs.catfee.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.catfee.io/getting-started/seamless-energy/ai-assisted-integration.md).

# AI 辅助接入

如果您的项目已经有 TRON 交易签名和广播逻辑，AI 编程助手可以帮助您更快定位改造点。请把它当成“代码审查和改造助手”，而不是替您决定私钥、安全策略或生产配置的工具。

最重要的原则只有一条：**不要把私钥、助记词、keystore、真实 AccessKey 或生产节点域名发给 AI。**

## AI 最适合帮您做什么

* 在代码库中定位 TRON 广播入口。
* 区分签名逻辑、构造交易逻辑和广播逻辑。
* 生成只替换广播域名的最小改动方案。
* 检查 `CF-NODE-KEY` 是否只出现在服务端和环境变量中。
* 生成小额合约交易的联调清单。
* 帮您检查是否误把普通查询请求也切到了无感能量节点。

AI 不应该替您做这些决定：

* 选择是否公开节点域名。
* 处理真实私钥、助记词或 keystore。
* 决定生产环境余额不足时继续广播还是停止广播。
* 凭空补充 CatFee 未公开的字段、价格、状态码或 SLA。

## 准备一份给 AI 的上下文

把真实凭证替换成占位符后，再交给 AI。建议提供以下信息：

```
项目类型：Node.js / Java / Python / Go / PHP / 其他
当前 TRON SDK 或节点调用方式：例如 TronWeb、HTTP API、gRPC、自研网关
签名发生位置：前端钱包、本地服务、后端服务、第三方钱包
广播入口：如果已知，写出函数名、文件名或接口路径
当前广播路径：/wallet/broadcasttransaction 或 /wallet/broadcasthex
目标无感能量节点：https://{NodeSlug}.catfee.vip
鉴权方式：API KEY / 绑定地址 / 临时不鉴权
AccessKey：不要提供真实值，只写 {AccessKey}
余额不足策略：继续广播 / 停止广播 / 待确认
测试交易类型：小额 TRC20 转账、授权或低风险合约调用
```

如果您还不知道广播入口在哪里，可以先让 AI 搜索这些关键词：

```
broadcasttransaction
broadcasthex
BroadcastTransaction
sendRawTransaction
tronWeb.trx.sendRawTransaction
fullNode
TronWeb
/wallet/
```

## 推荐提示词：定位广播入口

```
你是熟悉 TRON 和后端交易广播链路的开发者。

请阅读我提供的代码片段，帮我定位“已签名交易最终广播到 TRON 节点”的位置。

要求：
1. 区分构造交易、签名交易、广播交易三个阶段。
2. 只找广播入口，不要修改签名逻辑。
3. 标出可能调用 /wallet/broadcasttransaction、/wallet/broadcasthex、BroadcastTransaction 或 sendRawTransaction 的代码。
4. 如果当前代码把查询、构造和广播共用同一个节点配置，请说明只替换广播入口的风险和可选方案。
5. 不要要求我提供私钥、助记词、keystore 或真实 AccessKey。
```

## 推荐提示词：生成最小改造方案

```
你是资深 TRON 开发者。我要把现有系统的已签名交易广播入口接入 CatFee 无感能量。

已知信息：
- 无感能量只处理已签名交易的广播阶段。
- 原交易仍由我的钱包或后端本地签名。
- 广播域名替换为 https://{NodeSlug}.catfee.vip。
- HTTP 路径保持 TRON 原格式，例如 /wallet/broadcasttransaction 或 /wallet/broadcasthex。
- 如果使用 API KEY，请通过 HTTP header 或 gRPC metadata 传递 CF-NODE-KEY: {AccessKey}。
- 不允许把私钥、助记词、keystore 或 AccessKey 写进前端源码。

请基于我提供的代码：
1. 给出最小改动方案。
2. 明确哪些文件要改，哪些文件不要改。
3. 保持签名、交易体、owner 地址和合约参数不变。
4. 增加环境变量读取节点域名和 AccessKey 的示例。
5. 给出联调验证清单。
```

## 推荐提示词：上线前审查

```
请以代码审查方式检查这次 CatFee 无感能量接入改动。

重点检查：
1. 是否只改了已签名交易广播入口。
2. 是否误改了签名逻辑、交易构造逻辑、owner 地址或合约参数。
3. 是否把 CF-NODE-KEY、AccessKey、节点域名或其他凭证暴露在前端包、日志、公开仓库或截图中。
4. 是否区分了合约交易和普通 TRX 转账的预期行为。
5. 是否处理了余额不足、节点停用、鉴权失败、限频和广播失败。
6. 是否用小额 TRC20 转账或授权交易完成端到端验证。

请按“必须修改 / 建议优化 / 可以上线前确认”的格式输出。
```

## AI 生成代码时的安全约束

无论 AI 给出什么代码，都要人工确认以下约束：

1. 私钥、助记词、keystore 不进入 CatFee 请求。
2. `CF-NODE-KEY` 只在服务端、后端网关或受控运行环境中使用。
3. 前端浏览器代码不要硬编码 AccessKey。
4. 原交易已经签名后再发送到无感能量节点。
5. 请求路径仍是 TRON 原广播接口。
6. 普通查询请求不会因为改造而触发资源准备。
7. 小额合约交易验证通过后，再扩大到生产流量。

## 示例：让 AI 改造 HTTP 广播函数

下面是一个抽象示例，用于帮助您检查 AI 生成代码的方向。具体字段请以您项目当前使用的 TRON 交易对象为准。

```js
const nodeUrl = process.env.CATFEE_NODE_URL;
const nodeKey = process.env.CATFEE_NODE_KEY;

async function broadcastSignedTransaction(signedTransaction) {
  const response = await fetch(`${nodeUrl}/wallet/broadcasttransaction`, {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      "CF-NODE-KEY": nodeKey,
    },
    body: JSON.stringify(signedTransaction),
  });

  return response.json();
}
```

这个示例只表达接入方向：

* `signedTransaction` 应该是已经签名后的交易。
* `nodeUrl` 使用无感能量节点域名，例如 `https://{NodeSlug}.catfee.vip`。
* `nodeKey` 使用环境变量，不写死在代码里。
* 不在这个函数中生成、读取或上传私钥。

## 联调时让 AI 帮您看什么

完成代码改造后，可以把脱敏后的请求日志、错误码和配置说明交给 AI 辅助排查。建议让 AI 按下面顺序判断：

1. 请求是否打到了无感能量节点域名。
2. 路径是否仍是 TRON 原广播路径。
3. API KEY 模式是否携带 `CF-NODE-KEY`。
4. 交易是否为已签名交易。
5. 测试交易是否为 `TriggerSmartContract` 合约交易。
6. 余额不足策略是否符合预期。
7. 返回结果是否仍按 TRON 广播接口处理。

不要用普通 TRX 转账作为唯一验证，因为普通 TRX 转账不会触发 ENERGY 准备。

## 下一步

* 先理解广播链路：查看[应用集成](/getting-started/seamless-energy/application-integration.md)
* 跑通首次验证：查看[快速入门](/getting-started/seamless-energy/quick-start.md)
* 检查凭证和私钥边界：查看[安全说明](/getting-started/seamless-energy/security.md)
* 排查常见状态：查看[常见问题](/getting-started/seamless-energy/faq.md)
