在2021年中国十大科技新闻事件的回顾中记得有这样一位人物他用老电脑搭配DOS系统玩起了复古游戏他的
当我遇到 ChatGPT 在 MS-DOS 系统上运行时,真的就像是穿越到了过去。最近,我了解到新加坡的复古计算机爱好者 Yeo Kheng Meng 发布了一个让 ChatGPT 可以在 4.77MHz IBM PC 上运行的 MS-DOS 客户端。这是一个独特的交流方式,让我们可以在极其有限的条件下与这个强大的语言模型进行对话。
开发这样的客户端对于 Yeo 来说是一项巨大的挑战,因为 MS-DOS 缺乏本地联网能力。而且,他目标的是一台处理能力非常有限的电脑:1984 年的 IBM 5155。它配备有 Intel 8088 4.77 MHz 的 CPU、640KB 的传统内存、CGA ISA 显卡和 MS-DOS 6.22 系统。
为了创建客户端,Yeo 使用了 Open Watcom C/C 编译器,这是一个现代编译器,可以针对 16 位 DOS 平台。在开发过程中,他使用了 VirtualBox 虚拟机来简化测试过程,然后将编译后的二进制文件传输到目标 IBM DOS PC 上进行测试。
为了解决网络问题,Yeo 利用了 Packet Driver API 标准,并将 Michael B. Brutman 开源 MTCP 库集成到应用程序中,为客户端提供网络功能。他还用 C 语言手动构建了 POST 请求,并解析 JSON 格式响应,以便与 ChatGPT API 进行通信。
然而,在实现这一点时,Yeo 遇到了一个巨大的障碍:ChatGPT 的 API 需要加密的 HTTPS 连接。由于 MS-DOS 没有原生的 HTTPS 库,Yeo 创建了一个 HTTP-to-HTTPS代理,可以在现代计算机上运行,并翻译请求和响应,从而在通信过程中充当透明中的间人。
由于 DOS 应用的单线程性质,对于向控制台读写输入也是个挑战。Yeo 设计了一种方法,在不暂停程序的情况下检查并接收按键,使得用户可以愉快地与 ChatGPT 交互,而不会打断任何其他任务。
最终,这个客户端比 Yeo 预期中的效果要好得多。他详细介绍了他的开发过程,也分享了一篇更详细博客:
博客地址:https://yeokhengmeng.com/2023/03/building-a-dos-chatgpt-client-in-2023/
相关代码也已上传至 GitHub项目:
项目地址:https://github.com/yeokm1/doschgpt
这次经历不仅展示了一位热情爱好者的创新精神,还证明了即使是在最基本条件下的技术创造力也能带来令人惊叹的结果。