> 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)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.catfee.io/getting-started/seamless-energy/ai-assisted-integration.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
