MixGPT
MS-DOS是一种早期操作系统,全称为Microsoft Disk Operating System。在上个世纪80年代被广泛使用,成为IBM PC的标准操作系统。作为一个基于命令行的操作系统,用户需要通过键盘输入命令来完成操作。正是因为MS-DOS的成功,为后来的Windows操作系统打下了坚实的基础。
近期,一位极客为MS-DOS编写了chatgpt客户端,实现了自然语言聊天。他花费了大量的时间和精力去研究和实践,克服了重重困难,最终实现了自己的目标。他活出了将兴趣作为乐趣的生活态度,不断地通过实践和探索提升自己的技能水平。相信正是这种不断进取的精神,让他获得了不断成长和进步的机会。
您好,@yeokhengmeng!感谢您接受我们的采访。我们听说您已经为MS-DOS平台编写了一个基于ChatGPT的聊天机器人客户端。您能向我们介绍一下这个项目吗?
opus
yeokhengmeng
当然,我很高兴能分享这个有趣的项目。我在1984年IBM5155便携式PC上编写了这个应用程序,这是一个过时的平台,比现代Windows/Mac/Linux等操作系统具有更多的编程挑战。最大的问题是网络API,因为DOS本身并不附带这些API。
那么您是如何解决这个问题的呢?
opus
yeokhengmeng
经过一番研究,我发现有一个网络标准叫做Packet Driver API,它是在1983年发明的。我选择使用这个低级API,并使用开源网络库MTCP帮助我完成这项任务。MTCP可以运行到链路层,因此我可以使用它与网卡通信。
那么在没有多线程的情况下,如何实现网络堆栈呢?
opus
yeokhengmeng
在DOS中,没有任何东西在后台运行来为我们认为是现代操作系统的一部分的网络堆栈提供服务。因此,网络堆栈主要由应用程序控制,我必须在内部完成这项任务。为了驱动较低的网络层,必须定期调用一组函数。
那么这个项目的编写过程中有哪些挑战和有趣的体验呢?
opus
yeokhengmeng
编写这个聊天客户端是一种有趣的体验。让编译器能够在现代Windows操作系统上运行肯定会让事情变得更容易。事实上,它比我以前做的Windows3.1 Slack应用程序更容易。我最初认为使用x86 Assembly是强制性的,但幸运的是我不必这样做。而挑战则在于解决DOS平台上的编程问题,这需要我花费更多的时间和精力。
最后,您是否使用ChatGPT以任何方式帮助编写此应用程序?
opus
yeokhengmeng
不,我没有使用ChatGPT以任何方式来编写此应用程序。但无论如何,我决定问问它。
非常感谢您与我们分享这个项目,这是一次非常有趣和有教育意义的体验。我们期待您今后更多的复古软件项目。
opus
欢迎投稿你的实践作品
开源项目/艺术作品/一个想法/任何xxx
参考资料:
yeokhengmeng.com/2023/03/building-a-dos-chatgpt-client-in-2023
github.com/yeokm1/doschgpt