标签 GPT开发 下的文章

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

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

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

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

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

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

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

Prompt (发给 GPT 的要求)

a)

下载这个项目的文档 Introduction - sing-box

b)

生成一个作为客户端使用的配置文件
监听本地 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

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

关键点

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

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

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

Prompt (发给 GPT 的要求)

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

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

用到的 GPT

Claude

关键点

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

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

GitHub

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

Prompt (发给 GPT 的要求)

a)

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

b)

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

c)

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

d)

把 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

关键点

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

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

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

GitHub

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

Prompt (发给 GPT 的要求)

我有一个 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

关键点

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

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

GitHub

5. 用 Cloudflare Snippet 实现反代 blogspot

关键点

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

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

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

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

Prompt (发给 GPT 的要求)

实现一个基于 HTML JS 的工具
页面包含以下几个部分

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

用到的 GPT

Gemini

关键点

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

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

GitHub

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

Prompt (发给 GPT 的要求)

有这样一个 github 项目
项目里有一个文本文件 file1
我需要用 Github Action 对文件做如下操作:

  1. 查找所有的 animation: 替换为 //animation:
  2. 查找所有的 function createMatrixRain () {, 在下一行添加一行 return;
    这个 Github Action 不要自动触发,只能手动触发

用到的 GPT

Claude

GitHub

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

Prompt (发给 GPT 的要求)

分析上传的文件,这是一个用于 cloudflare worker 环境的 js 脚本

请分析出显示 HTTP 页面中的视觉特效部分,位于代码的什么位置.

用到的 GPT

Claude

GitHub

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

Prompt (发给 GPT 的要求)

用到的 GPT

Claude

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

message_text = event.message.message

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

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

关键点

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

GitHub

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

Prompt (发给 GPT 的要求)

基于 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

灵感点

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

GitHub

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

Prompt (发给 GPT 的要求)

a)

做一个 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)

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

关键点

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

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

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

GitHub

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

Prompt (发给 GPT 的要求)

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

# 账户信息
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

关键点

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

GitHub


📌 转载信息
原作者:
crazypeace
转载时间:
2026/1/4 17:19:51