EN
返回档案库

档案库 · 产品创意 · 技术决策 · 2023

WinGPT:在Windows 3.1上通过16位C语言实现TLS 1.3,打造ChatGPT客户端

一款讽刺性的Windows 3.1 ChatGPT客户端,用C语言编写,原生TLS 1.3基于Winsock,让386时代的电脑无需代理即可访问OpenAI。

WinGPT

创意是什么把玩笑变成现实:为Windows 3.1构建ChatGPT,这意味着必须用C语言为16位Windows编写TLS 1.3,以便386直接访问OpenAI的API,中间不需要现代机器。小步快跑

当时的题目

In 2023 ChatGPT was everywhere, but the author of the retro-Windows site dialup.net still built for Windows 3.1, where there was no TLS stack, no standard status-bar control (Microsoft kept those back until Windows 95) and very little memory to spare. An AI assistant for that OS therefore meant solving all of those problems from scratch.

它是怎么成立的

WinGPT是一款针对Windows 3.1的AI助手,于2023年以完全严肃的态度推出:它承诺在“值得信赖的386”上提供研究、笑话、生活建议和文档帮助,但仅在脚注中作者承认这是讽刺,实际上这一切都不可靠。

这个笑话背后是真正的工程实力。WinGPT用C语言编写,基于标准Windows API,通过Open Watcom v2交叉编译,并通过修改后的WolfSSL栈原生使用TLS 1.3访问OpenAI,因此不需要现代机器来处理连接。由于Windows 3.1直到Windows 95才提供状态栏控件,作者基于Philip J. Erdelsky 1997年的公共领域代码重新构建,逐像素匹配,并手工搭建其余UI。内存限制也影响了产品设计:模型被要求简短回答,且不重发历史消息。

2023年6月25日的Show HN获得382分和90条评论。讨论转向了TLS技术文档,读者请求源码,争论TLS实现如何适应16位内存限制,并建议将助手封装在类似Clippy的办公吉祥物中。WinGPT以GPL v2发布,提供16位和32位Windows的二进制文件,并可在Wine下运行。

妙在哪

  • 限制即概念:‘Windows 3.1上的ChatGPT’看似一个笑话,但1992年的操作系统无法在没有现代TLS的情况下访问OpenAI,因此这个玩笑要求真正解决一个很难的工程问题。
  • 原生实现TLS而不是通过现代机器代理,将一个恶搞变成真正的贡献:为过时的平台提供通往现代API的真实路径。
  • 逐控件构建UI,包括微软直到Windows 95才向开发者提供的状态栏,使程序显得时代感十足,而非模拟。
  • 明确的讽刺脚注让该项目在不过度宣称的情况下展现工艺,这就是为什么一个玩笑页面能赢得严肃观众。

做出来什么

Shown on Hacker News on 25 June 2023, WinGPT drew 382 points and 90 comments, with the thread debating how TLS 1.3 could possibly fit the 16-bit constraints, asking for the source, and joking about giving the assistant a Clippy-like body.

他们自己的页面WinGPT: AI Assistant for Windows 3.1

可以借走的

投入荒诞,困难问题自然会到来:在386上实现ChatGPT迫使作者真正进行TLS工程,而诚实的记录让这个笑话值得分享。

后来

WinGPT继续提供免费下载,源码包含修改的WolfSSL树,并配有一篇名为“16位Windows上的现代TLS”的说明页面,诚实地记录了内存和加密约束——包括为什么该实现并不安全。在启动帖中,作者回答了有关硬编码1992年角色的问题(系统消息让模型以1992年的身份回答,且绝不提当前年份),并开玩笑要构建带Clippy风格助手的Windows 95/98版本。

资料来源

发现哪里写错了?告诉我们。

轮到你了

你刚读完一个点子。把你手上的题目说出来,看看谁接过同样的题。

免费账号 · 3 次免费提问 · 不用绑卡

相关案例