在科技馆里人物通过老电脑和DOS系统的复古玩法回顾了39年前的计算机游戏世界
当 ChatGPT 遇到 MS-DOS 系统,你仿佛穿越回了过去。
近日,新加坡的复古计算机爱好者 Yeo Kheng Meng 发布了一个能够在 4.77MHz IBM PC 上运行的 MS-DOS 的 ChatGPT 客户端,为人們提供了一种独特的交流方式。
对于 ChatGPT 客户端来说,MS-DOS 是一个非常有挑战性的平台,因为它缺乏本地联网能力。此外,Yeo 的目标是一台处理能力非常有限的电脑:1984 年的 IBM 5155。它内置有一个 Intel 8088 4.77 MHz 的 CPU、640KB 传统内存、CGA ISA 显卡和 MS-DOS 6.22 系统。
为了创建客户端,Yeo 使用了 Open Watcom C/C 编译器,这是一个在 Windows 11 上运行的现代编译器,可以针对 16 位 DOS 平台进行编程。他使用了 VirtualBox 虚拟机来简化开发过程,然后将编译后的二进制文件传输到目标 IBM DOS PC 上进行测试。
为了处理 IBM PC 上的网络问题, Yeo 做了多方面努力。他利用了「Packet Driver API」标准,将 Michael B. Brutman 开源 MTCP 库集成到应用程序中,与 Packet Driver 进行通信,为客户端提供网络功能。对于 ChatGPT API,他使用 OpenAI 的 Chat Completion API,用 C 语言手动构建 POST 请求,并解析 JSON 格式响应。
然而,由于 MS-DOS 没有原生的 HTTPS 库,Yeo 创建了一个 HTTP-to-HTTPS代理,可以在现代计算机上运行,并翻译 MS-DOS 客户端和ChatGPT 之间请求和响应。在通信过程中,该代理充当透明中间人,以确保安全性不受影响。
由于 DOS 应用的单线程性质,对向控制台读写输入是另一个挑战。Yeo 设计了一种方法,在不暂停程序的情况下检查和接收按键,使得用户可以与系统交互而不会造成延迟。
最终,客户端比预期要成功得多。他在一篇更详细博客中描述了解决方案及遇到的困难。
阅读更多关于他的开发过程:https://yeokhengmeng.com/2023/03/building-a-dos-chatgpt-client-in-2023/
相关代码可访问 GitHub项目:
项目地址:https://github.com/yeokm1/doschgpt