对于 chatgpt 客户端来说,ms-dos 是一个非常有挑战性的平台。
当 chatgpt 遇到 ms-dos 系统,你可以会有一种穿越的感觉。
近日,新加坡的复古计算机爱好者 yeo kheng meng 发布了一个 ms-dos 的 chatgpt 客户端,可以在 4.77mhz ibm pc 上运行,为 chatgpt 提供了一种独特的交流方式。
对于 chatgpt 客户端来说,ms-dos 是一个非常有挑战性的平台,因为它缺乏本地联网能力。此外,yeo 的目标是一台处理能力非常有限的电脑:1984 年的 ibm 5155。它的内部包含一个 intel 8088 4.77 mhz 的 cpu、640kb 传统内存、cga isa 显卡和 ms-dos 6.22 系统。
ibm 5155 是一款便携式电脑,它采用了类似于行李箱的外壳设计,有一个可折叠的手柄,可以方便地携带。
为了创建客户端,yeo 使用了 open watcom c/c++,这是一个在 windows 11 上运行的现代编译器,可以针对 16 位 dos 平台。为了测试,他使用了运行 dos 6.22 的 virtualbox 虚拟机来简化开发过程,然后他将编译后的二进制文件传输到目标 ibm dos pc 上进行测试。
为了处理 ibm pc 上的网络问题, yeo 做了多方面的努力。首先,他利用了 1983 年发明的「packet driver api」标准。他将 michael b. brutman 的开源 mtcp 库集成到应用程序中,与 packet driver 进行通信,为客户端提供网络功能。
对于 chatgpt api,yeo 使用了 openai 的 chat completion api,用 c 语言手动构建了 post 请求(并解析了 json 格式的响应)。
然而,yeo 遇到了一个巨大的障碍:chatgpt 的 api 需要加密的 https 连接。由于 ms-dos 没有原生的 https 库,yeo 创建了一个 http-to-https 代理,可以在现代计算机上运行,并翻译 ms-dos 客户端和 chatgpt 的安全 api 之间的请求和响应,在通信过程中充当一个透明的中间人。
yeo 说,由于 dos 应用的单线程性质,向控制台读写输入是另一个挑战。他设计了一种在不暂停程序的情况下检查和接收按键的方法,使用 mtcp 页面和在线样本作为参考。
最后,客户端的效果比 yeo 预期的要好。他在一篇更详细的博客中描述了他的开发过程。
博客地址:https://yeokhengmeng.com/2023/03/building-a-dos-chatgpt-client-in-2023/
相关代码参加 github 项目:
项目地址:https://github.com/yeokm1/doschgpt
以上就是chatgpt复古玩法:39年前老电脑+dos系统也能玩转的详细内容。