社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  chatgpt

读屏不靠截图:ChatGPT 客户端的原理、实现与边界

赛博禅心 • 昨天 • 10 次点击  

ChatGPT 的 Mac 客户端现在可以连接常用的一些应用程序,比如 VSCode、XCode、iTerm2,这样可以直接就这些应用程序上的内容去提问,效果很棒! 

地址:https://openai.com/chatgpt/desktop 


它基于原生应用程序的能力以及加上用户对它的授权,可以获取到这些应用当前窗口的内容,然后将窗口的内容整理成提示词一起提交到 GPT,这样 GPT 就可以根据窗口内容来处理了,提示词类似于下面这样: 

<windows><instructions>
You are being provided with textfield content from windows the user has asked you to focus on.
instructions><window><title>Visual Studio Codetitle><app_name>Codeapp_name><textfields><textfield id="窗口文件名">
【窗口内容】
textfield>textfields>window>windows>


 

通过请求分析,可发现:它不是通过截图获取内容的,是直接获取窗口完整内容的,比如VSCode,需要额外安装插件以获取完整文本,所以窗口被遮挡也没关系。 



具体的请求分析

可以将鼠标悬停在 ChatGPT Mac 客户端横幅上,查看 ChatGPT 发送哪些内容。 

 

在历史消息中,鼠标悬停在消息顶部,也可以看发送过的内容。 



工程技巧与边界

仔细查看,发现:

  • 使用编辑器和 IDE(Xcode、VS Code、TextEdit)时,ChatGPT 会包含打开的编辑器窗格的全部内容,直到达到最大长度限制被截断。

  • 如果在编辑器中选择文本,ChatGPT 会重点关注选中的内容,窗口的全部内容仍然会包含在上下文中。

  • 使用命令行窗口(Terminal、iTerm)时ChatGPT 包含最后 200 行内容。如果在窗口中选中文本,ChatGPT 将重点关注所选内容以及相邻文本,直至截断限制。

 

这个功能确实不错,但要说能替代 Cursor 那还太扯了: 

  • 它不是项目级别的,只是窗口级别的,编程是要用到整个代码库的

  • 它的结果不能自动更新回窗口,需要手动复制粘贴

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/176086
 
10 次点击