# 面向GPT开发实例集合

**URL:** <https://www.nodeloc.com/t/topic/76198>\
**Category:** 编程开发\
**Tags:** AI\
**Created:** [2026 年1 月 27 日 02:50 UTC](https://www.nodeloc.com/t/topic/76198 "2026-01-27T02:50:45Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![crazypeace](https://www.nodeloc.com/user_avatar/www.nodeloc.com/crazypeace/32/80616_2.png) [@crazypeace](https://www.nodeloc.com/u/crazypeace)\
**Post date:** [2026 年1 月 27 日 02:50 UTC](https://www.nodeloc.com/t/topic/76198/1 "2026-01-27T02:50:45Z")

</div>

现在面向GPT开发越来越方便了.

但是从我混的很多telegram电报群里面看, 很多人还在提出一些很基础的需求, 看来大家并没有大规模地开始面向GPT开发.

我把最近一段时间, 我自己实现的面向GPT开发的实例整理出来, 希望对读者有所启发.

也许你改进一下前期数据的准备, 也许你改进一下描述需求的方式, 也许你限制一下GPT工作的范围, 就会得到能让你满意的结果了.

现在各个GPT在不同的应用场景(任务)下还是各有所长, 所以我也会记录用到的GPT是哪个.

- 当然, 随着时间的流逝, 各个GPT还会进一步发展, 所以我这里记录的GPT也只是一个参考.

### 12. ghproxy 修改脚本内容 修改aff 修改下载的文件

> **[ghproxy 修改脚本内容 修改aff 修改下载的文件](https://zelikk.blogspot.com/2026/01/ghproxy-edit-sh.html)**
>
> Github 
> https://github.com/crazypeace/ghproxy/raw/refs/heads/main/fake/test-worker.js

#### Prompt (发给GPT的要求)

```auto
这是一个 cloudflare 的 worker 的 JS 脚本
增加以下处理:

1. 在对 .sh 文件的内容的处理中, 对链接的处理增加以下效果

当链接包含 racknerd 和 aff= 时, 
将aff= 后面的数字替换为 54321

当链接包含 justmysocks 和 aff= 时, 
将aff= 后面的数字替换为 98765

2. 在向目的url 进行 fetch之前 , 增加处理
当 path 是 https://github.com/SagerNet/sing-box/releases/download/v1.12.15/sing-box-1.12.15-windows-amd64.zip 时,
改为fetch https://github.com/XTLS/Xray-core/releases/download/v25.12.8/Xray-windows-64.zip 并返回数据

```

#### 用到的GPT

[Claude](https://claude.ai/)

* * *

### 1. 用VS Code阅读Sing-box文档 生成配置文件

> **[用VS Code阅读Sing-box文档 生成配置文件](https://zelikk.blogspot.com/2025/12/vs-code-sing-box-config.html)**
>
> https://youtu.be/oh9pfU99Z3E

#### Prompt (发给GPT的要求)

a)

`下载这个项目的文档 https://sing-box.sagernet.org/configuration/`

b)

```auto
生成一个作为客户端使用的配置文件
监听本地 1080 端口 socks 作为inbound
连接一个下面这样参数的reality协议节点作为 outbound
协议 (protocol) = vless
地址 (address) = 74.48.9.95
端口 (port) = 8972
用户ID (id) = fb0d60cf-1084-412d-ba59-fd5c1166b89d
流控 (flow) = xtls-rprx-vision
传输协议 (network) = tcp
传输层安全 (TLS) = reality
SNI (serverName) = www.paypal.com
指纹 (Fingerprint) = chrome
公钥 (Public key) = Qam0-DVzhHghfZPi4Pfx3iQbmVt0YJBhcb0cyMsFdEc

```

#### 用到的GPT

Antigravity

> **[Google Antigravity](https://antigravity.google/download)**
>
> Google Antigravity - Build the new way

Gemini3  
Antigravity 是Google家的, 所以里面用的就是这个

#### 关键点

当你给GPT一个整体任务时, 如果GPT返回的效果不太好.  
你可以把任务切分, 或者让GPT先把任务切分, 也可以叫规划吧.  
你可以看看任务切分/规划 得对不对.  
然后关注每一步小任务是不是正确完成, 如果某一步小任务完成得有问题, 就不要进入下一步.

具体到这个案例, 如果第1步获取的文档是错的或者不完整, 那就不要开始生成配置文件.

### 2. ech-wk 给窗口添加滚动条 改善小屏幕上的使用体验

> **[ech-wk 给窗口添加滚动条 改善小屏幕上的使用体验](https://zelikk.blogspot.com/2025/12/ech-wk.html)**
>
> https://github.com/crazypeace/ech-wk

#### Prompt (发给GPT的要求)

把 gui.py 上传为附件, 再提出要求

`附件中的代码 有一个问题, 在屏幕分辨率不高的情况下, 窗口显示不全, 而且没有滚动条`

#### 用到的GPT

[Claude](https://claude.ai/)

#### 关键点

在这个案例中, 我用自己的编码能力识别出了, gui.py 负责 GUI界面. 所以只需要处理这个文件.

如果你是纯小白, 那么可以先让GPT帮你分析整个项目中, 负责界面的是哪一部分.

#### GitHub

> **[GitHub - crazypeace/ech-wk: 窗口添加滚动条](https://github.com/crazypeace/ech-wk)**
>
> 窗口添加滚动条

### 3. 在 VPS 注册页面 和 美国人信息页面 高亮显示关键字 油猴篡改猴tampermonkey脚本

> **[在 VPS 注册页面 和 美国人信息页面 高亮显示关键字 油猴篡改猴tampermonkey脚本](https://zelikk.blogspot.com/2025/12/high-light-contact-info.html)**
>
> GitHub 
> https://github.com/crazypeace/high-light-contact-info

#### Prompt (发给GPT的要求)

a)

```auto
有这样一个HTML页面
页面中可能包含 "first name", 也有可能 是在 input元素的 placeholder 属性中包含 "first name"
我需要查找并高亮这些 "first name"

```

b)

`需要整合为可以在浏览器的 console 执行的 js 文件`

c)

```auto
把 first name, firstname, full name, fullname, 全名, 姓名 归为一类, 显示同样的高亮颜色或边框颜色.
对于同一类关键字, 边框颜色和文字底色颜色应该一致.

```

d)

```auto
把 first name, firstname, last name, lastname, full name, fullname, 全名, 姓名 归为一类, 显示同样的高亮颜色或边框颜色.
把 phone number, phone, 电话 归为一类.
把 street address, street, 街道地址, 街道 归为一类.
把 city, 城市 归为一类.
把 full state name, state, 州全称, 州 归为一类.
把 postcode, zip code, 邮编, 归为一类.
以上每一类, 都要使用独特鲜明的颜色, 不应该与其它任何一类颜色相同.

```

#### 用到的GPT

[Gemini](https://gemini.google.com/)

#### 关键点

在这个案例中, 我自己先对需求进行了分析. 这是一个把同样的逻辑/功能 应用到好多个 不同的 分类 中的事情.

所以我首先关注怎么在一个分类中实现我要的功能.

然后再将同样的处理批量应用到更多的分类.

#### GitHub

> **[GitHub - crazypeace/high-light-contact-info: 高亮页面上的联系人信息](https://github.com/crazypeace/high-light-contact-info)**
>
> 高亮页面上的联系人信息

### 4. YouTube 视频信息页面 网速换算为 MB/s 油猴篡改猴tampermonkey脚本

> **[YouTube 视频信息页面 网速换算为 MB/s 油猴篡改猴tampermonkey脚本](https://zelikk.blogspot.com/2025/12/youtube-megabyte-per-s.html)**
>
> GitHub 
> https://github.com/crazypeace/youtube-MB-per-s

#### Prompt (发给GPT的要求)

```auto
我有一个html页面,
其中这个位置的元素 1)
document.querySelector("#movie_player > div.html5-video-info-panel.ytp-sfn > div > div:nth-child(9) > span > span:nth-child(2)")
内容是 17085 Kbps 这样的格式,
我需要在这个元素 1) 的后面, 增加一个元素 2) , 内容为 元素 1) 的内容换算为 MB/s 的单位.
元素 2) 的数字 应该每10秒刷新

```

#### 用到的GPT

[Gemini](https://gemini.google.com/)

#### 关键点

在这个案例中, 我自己先用浏览器 的 F12开发者工具 找到了HTML元素的path

如果你是纯小白的话, 也许需要使用一些基于浏览器插件形式的GPT.  
这样, 你可以基于当前浏览器页面, 描述你的需求.

#### GitHub

> **[GitHub - crazypeace/youtube-MB-per-s: Youtube视频信息页面 网速换算 MB/s 单位](https://github.com/crazypeace/youtube-MB-per-s)**
>
> Youtube视频信息页面 网速换算 MB/s 单位

### 5. 用Cloudflare Snippet实现反代blogspot

> **[用Cloudflare Snippet实现反代blogspot](https://zelikk.blogspot.com/2025/11/cloudflare-snippet-blogspot.html)**
>
> https://github.com/crazypeace/cloudflare-workers-uniproxy/blob/master/snippet.js

#### 关键点

Gemini中关于snippet的知识不及时.

我问到下面这样的用法, Gemini说snippet不支持, 只有worker支持. 但, 其实现在snippet是支持的.

```auto
export default {
  async fetch(request, env, ctx) {
    try {
      return await handleRequest(request, env, ctx);
    } catch (e) {
      return new Response(e.message || "Internal Error", { status: 500 });
    }
  },
}; 

```

#### 用到的GPT

[Claude](https://claude.ai/)

### 6. 下载 独树不成林 播客的全部封面 并做成 电报telegram 贴纸sticker

> **[下载 独树不成林 播客的全部封面 并做成 电报telegram 贴纸sticker](https://zelikk.blogspot.com/2025/11/podcast-episode-image-telegram-sticker.html)**
>
> Github 
> https://github.com/crazypeace/podcast-episode-image
> 
> 贴纸 
> https://t.me/addstickers/moaco

#### Prompt (发给GPT的要求)

```auto
实现一个基于HTML JS的工具
页面包含以下几个部分
1) 文本框 可输入podcast的RSS地址
2) 文本框 可从 1) 获取RSS内容, 也可以手工输入RSS内容
3) 文本框 分析 2) 的内容, 列出所有封面图片的地址. 可手工编辑 添加或删除
4) 显示 3) 中的地址对应的图片
举例:
https://feed.xyzfm.space/y9qnpfdrctnx 是一个podcast的RSS地址, 会被填写到 1)
1) 可得到RSS数据, xml格式. 会被填写到 2)
2) 中有 <itunes:image href="https://image.xyzcdn.net/Fgd_z5yexkQF_GB0LF4Xncqqf8CU.png"/> 这样的元素, 应该将 https://image.xyzcdn.net/Fgd_z5yexkQF_GB0LF4Xncqqf8CU.png 填写到 3)
4) 显示 3) 中的地址对应的图片

```

#### 用到的GPT

[Gemini](https://gemini.google.com/)

#### 关键点

把整个转换过程 规划为几个步骤

每个步骤有可检查的结果, 而且可以人工手动修改. 再接着进行下一步.

#### GitHub

> **[GitHub - crazypeace/podcast-episode-image: 从apple podcast获得每集播客封面图片](https://github.com/crazypeace/podcast-episode-image)**
>
> 从apple podcast获得每集播客封面图片

### 7. 去掉cfnew的视觉特效 的操作整合到Github Action里

> **[去掉cfnew的视觉特效 的操作整合到Github Action里](https://zelikk.blogspot.com/2025/11/cfnew-github-action.html)**
>
> Github Action 文件
> https://github.com/crazypeace/cfnew/blob/main/.github/workflows/remove-animation.yml

#### Prompt (发给GPT的要求)

```auto
有这样一个github项目
项目里有一个文本文件 file1
我需要用Github Action对文件做如下操作:
1) 查找所有的 animation: 替换为 //animation:
2) 查找所有的 function createMatrixRain() {, 在下一行添加一行 return;
这个Github Action不要自动触发, 只能手动触发

```

#### 用到的GPT

[Claude](https://claude.ai/)

#### GitHub

> **[GitHub - crazypeace/cfnew: 去掉原项目的视觉特效](https://github.com/crazypeace/cfnew)**
>
> 去掉原项目的视觉特效

### 8. 去掉cfnew的视觉特效 保留业务逻辑

> **[去掉cfnew的视觉特效 保留业务逻辑](https://zelikk.blogspot.com/2025/11/cfnew.html)**
>
> https://github.com/crazypeace/cfnew

#### Prompt (发给GPT的要求)

```auto
分析上传的文件, 这是一个用于cloudflare worker环境的js脚本
请分析出显示HTTP页面中的视觉特效部分, 位于代码的什么位置.

```

#### 用到的GPT

[Claude](https://claude.ai/)

#### GitHub

> **[GitHub - crazypeace/cfnew: 去掉原项目的视觉特效](https://github.com/crazypeace/cfnew)**
>
> 去掉原项目的视觉特效

### 9. 当检测到关键字时 私信发送对应的贴纸 tg-keyword-react-bot

> **[当检测到关键字时 私信发送对应的贴纸 tg-keyword-react-bot](https://zelikk.blogspot.com/2025/11/tg-keyword-react-bot-v2.html)**
>
> https://github.com/crazypeace/tg-keyword-react-bot

#### Prompt (发给GPT的要求)

```auto
基于以上代码, 增强开发以下功能
当监控频道中出现"naive "时, 向用户私信发送贴纸.
贴纸为 https://t.me/addstickers/fuckgfwnewbie 的第2个贴纸

注意到监控频道的通知信息是有格式的.
#FOUND (https://t.me/c/1958152252/300436) "自建" IN Joey Huang Blog(1958152252) FROM jacky jay(5979280761)
自建的节点怎么不能访问X和chatgpt啊

#FOUND (https://t.me/LoonCommunity/161393) "大佬" IN Loon Community(@LoonCommunity) FROM Yang Bo(@Zen_Neng_Bu_Bian_Tai)
大佬们，loon怎么在不开梯子的情况下去除广告啊？

通知信息的第1行格式为 #FOUND (源信息) "匹配关键字" IN xxx (群username或userid) FROM yyy (用户username或userid)

```

#### 用到的GPT

[Claude](https://claude.ai/)

生成的程序有BUG, 获取消息的纯文本

```auto
message_text = event.message.message

```

正确的做法是提取消息的 markdown 文本

```auto
from telethon.extensions import markdown
message_text = markdown.unparse(event.message.message, event.message.entities)

```

#### 关键点

用具体的示例告诉GPT应该达到怎样的效果

#### GitHub

> **[GitHub - crazypeace/tg-keyword-react-bot: 电报telegram 关键字keyword 反应react 机器人bot](https://github.com/crazypeace/tg-keyword-react-bot)**
>
> 电报telegram 关键字keyword 反应react 机器人bot

### 10. 极简 GitHub Porxy 支持GitHub脚本的无限嵌套调用

> **[极简 GitHub Porxy 支持GitHub脚本的无限嵌套调用](https://zelikk.blogspot.com/2025/11/ghproxy-v2.html)**
>
> Github
> https://github.com/crazypeace/ghproxy
> 
> 演示站
> https://ghproxy-v2.crazypeace.workers.dev/
> 
> 演示视频
> https://www.youtube.com/watch?v=XXgmVkfT-Ak

#### Prompt (发给GPT的要求)

```auto
基于 cloudflare 的 woker, 开发 一个专门 反向代理 github 的工具
1. 本代理 接收的 path部分 应该是一个 http:// 或者 https://
2. 如果 path部分 不是 http:// 或者 https:// 开头
那么加上 http:// 或者 https://
3. 判断 本代理 接收的 链接 是否 github
判断方法为:
链接 的域名部分 应该是 git 开头的主域名
如
github.com
raw.githubusercontent.com
api.github.com
gist.github.com
codeload.github.com
avatars.githubusercontent.com
assets-cdn.github.com
这些域名的 主域名 都是 git 开头的
4. 在获取需要反向代理的内容后
检查 path 是否以 .sh 结尾, 来判断 是否 脚本文件
5. 对于 .sh 结尾的脚本文件
对文本内容进行查找替换
将 github 的链接前面都加上 本代理的域名,
这样可以解决脚本嵌套使用的场景
判断 是否 github 链接的方法 参考 第3步

```

#### 用到的GPT

[Gemini](https://gemini.google.com/)

#### 灵感点

如果你不需要一个大项目的完整的功能, 你可以向GPT描述你用得着的那一小部分功能, 这样能用很少的代码量完成, 而且还方便你自己 自定义修改.

#### GitHub

> **[GitHub - crazypeace/ghproxy: 极简 GitHub Porxy 解决GitHub脚本的无限嵌套调用](https://github.com/crazypeace/ghproxy)**
>
> 极简 GitHub Porxy 解决GitHub脚本的无限嵌套调用

### 11. 在网络受限的VPS上 运行一个脚本 向外访问网络时暂停 使用者进行替代操作

> **[在网络受限的VPS上 运行一个脚本 向外访问网络时暂停 使用者进行替代操作](https://zelikk.blogspot.com/2025/11/fake-curl-wget-sh.html)**
>
> https://github.com/crazypeace/fake-curl-wget-sh/blob/main/fake-curl-wget.sh

#### Prompt (发给GPT的要求)

a)

```auto
做一个 fake-curl-wget.sh 脚本.
1) fake-curl-wget.sh 包含一个 curl() 的壳子, 和一个 wget() 的壳子
2) 使用者在终端先 source fake-curl-wget.sh 再执行其它脚本
3) 这样, 后面执行的脚本会调用到 fake-curl-wget.sh 中的 curl()壳子 和 wget()壳子
4) 每次调用 curl 或 wget 时, 打印一个调用序号. 这个序号每次调用时, 自增1
为了避免管道命令导致的序号问题, 使用临时文件保存序号.
5) 对于所有 curl 和 wget 调用, 这个序号是统一.
先调用curl时, 序号为1.
接着调用wget时, 序号为2.
6) 输出 pwd 当前目录
7) 输出 完整的 curl 命令和全部参数
8) 输出 完整的 wget 命令和全部参数
9) 这个curl壳 或 wget壳, 并不去真正访问网络
10) 根据调用序号, 执行预设的命令. 如,
cp file1 /path/to/file
或
cat file2
用来替代 curl -LO 或 curl -Lo 的保存文件的命令
或 curl -L 的输出到stdout的命令
11) 这些预设命令是会被人工编辑而增加的. 用case实现 10) 的逻辑.
12) 这个curl壳 或 wget壳, 永远返回成功.

```

b)

```auto
1) 当根据序号 进行case逻辑 发现没有匹配的预设命令时, 脚本暂停. 等待使用者输入.
2) 根据日志打印的 curl 或 wget 命令及参数. 使用者判断 当前序号的操作是要保存文件, 还是要输出信息到stdout.
2a) 如果当前操作是保存文件, 则 使用者自己上传文件到指定位置. 输入 空. 脚本继续执行.
2b) 如果当前操作是输出 信息到 stdout, 则 使用者输入 替代指令. 脚本执行替代指令.
如, 使用者输入 echo "something" 或 cat /path/to/file

```

#### 关键点

现在各个GPT能上下文窗口很大了.

可以把脚本本身和报错信息 一次性全部发过去.

如果文本框限制了字符数, 可以把脚本保存为文件上传.

#### GitHub

> **[GitHub - crazypeace/fake-curl-wget-sh: fake-curl-wget.sh 用于解决VPS向外访问网络有问题, 导致脚本执行失败的问题](https://github.com/crazypeace/fake-curl-wget-sh)**
>
> fake-curl-wget.sh 用于解决VPS向外访问网络有问题, 导致脚本执行失败的问题

### 12. 开发电报关键词提醒机器人 telegram keyword monitor bot

> **[开发电报关键词提醒机器人 telegram keyword monitor bot](https://zelikk.blogspot.com/2025/09/tg-keyword-monitor-bot.html)**
>
> 已上传github
> 
> https://github.com/crazypeace/tg-keyword-monitor-bot

#### Prompt (发给GPT的要求)

```auto
基于Telethon框架, 生成一个 telegram 监听关键字推送结果bot
bot只接受来自指定id的 user 或 group 的控制命令,
bot监听到关键字后, 发送通知信息给指定id 的 user 或 group 或 channel,
关注的 关键字列表 支持正则表达式
排除的 关键字列表 支持正则表达式
关注的 关键字列表 和 排除的 关键字列表 都更新到配置文件中保存
配置文件 yaml 格式, 内容如下:

```

```auto
# 账户信息
account: 
  # 监听信息的user
  api_id: '1400003'
  api_hash: 'd11xxxxx112a7e059e831'
  user_phone: '+86190000010'

  # 发送消息的bot
  bot_token: '1000007:AAHNh8axxxxxxxxxxxxxxxxHA'
  bot_username: 'keyxxxxxrt_bot'

# LOG
logger:
  path: null # e.g. /root/absolute-path/ default null: {_current_path}/logs/
  level: INFO # FATAL,ERROR,WARN,INFO,DEBUG,NOTSET

# 代理
proxy:
  type: SOCKS5 # e.g. SOCKS4, SOCKS5, HTTP
  address: null # e.g. 127.0.0.1
  port: null # e.g. 1088

# 非公共服务
# bot只接收来自以下ID的命令 可以设置为user或group的ID
command_id_list: 
  - 123456789
  - 987654321
# bot的通知信息发送到以下ID 可以设置为user或group或channel的ID
result_id_list: 
  - 123456789
  - 987654321

# 不处理来自机器人的消息
# 比如，有些群里有自动回复机器人，回复的都是重复的消息；或者一些广告机器人加群之后开始刷屏
ignore_bot_msg: true

# 临时禁止一些数据源, 而不需要user从群组或频道中退出
source_filter: false # 开关, 默认 false
source_filter_ignore_list:
  - 123456789
  - 987654321

# 关注的 关键字列表 支持正则表达式
keyword_list:
  - /keyword1|keyword2|keyword3/ig
  - /keyword4|keyword5|keyword6/ig

# 排除的 关键字列表 支持正则表达式
keyword_exclude_list:
  - /exkeyword1|exkeyword2|exkeyword3/ig
  - /exkeyword4|exkeyword5|exkeyword6/ig

```

#### 用到的GPT

[Claude](https://claude.ai/)

#### 关键点

配置文件是从另一个方面描述程序有些什么功能.

#### GitHub

> **[GitHub - crazypeace/tg-keyword-monitor-bot: Telegram 监控关键字机器人 基于 telethon](https://github.com/crazypeace/tg-keyword-monitor-bot)**
>
> Telegram 监控关键字机器人 基于 telethon

---

<div class="post-metadata">

**Author:** ![Myles](https://www.nodeloc.com/user_avatar/www.nodeloc.com/myles/32/28842_2.png) [@Myles](https://www.nodeloc.com/u/Myles)\
**Post date:** [2026 年1 月 27 日 03:03 UTC](https://www.nodeloc.com/t/topic/76198/2 "2026-01-27T03:03:32Z")

</div>

很屌 点赞慢慢看

---

<div class="post-metadata">

**Author:** ![wghdi](https://www.nodeloc.com/letter_avatar_proxy/v4/letter/w/f14d63/32.png) [@wghdi](https://www.nodeloc.com/u/wghdi)\
**Post date:** [2026 年1 月 27 日 03:06 UTC](https://www.nodeloc.com/t/topic/76198/3 "2026-01-27T03:06:33Z")

</div>

谢谢分享！

---

<div class="post-metadata">

**Author:** ![Anaheim](https://www.nodeloc.com/user_avatar/www.nodeloc.com/anaheim/32/36651_2.png) [@Anaheim](https://www.nodeloc.com/u/Anaheim)\
**Post date:** [2026 年1 月 27 日 03:10 UTC](https://www.nodeloc.com/t/topic/76198/4 "2026-01-27T03:10:50Z")

</div>

感谢大佬分享！

---

<div class="post-metadata">

**Author:** ![sdcfre](https://www.nodeloc.com/user_avatar/www.nodeloc.com/sdcfre/32/30620_2.png) [@sdcfre](https://www.nodeloc.com/u/sdcfre)\
**Post date:** [2026 年1 月 27 日 03:17 UTC](https://www.nodeloc.com/t/topic/76198/5 "2026-01-27T03:17:48Z")

</div>

谢谢分享

---

<div class="post-metadata">

**Author:** ![azhaoyihao](https://www.nodeloc.com/user_avatar/www.nodeloc.com/azhaoyihao/32/14_2.png) [@azhaoyihao](https://www.nodeloc.com/u/azhaoyihao)\
**Post date:** [2026 年1 月 27 日 05:06 UTC](https://www.nodeloc.com/t/topic/76198/6 "2026-01-27T05:06:43Z")

</div>

感谢大佬分享教程！
