This article is more of a sentiment, so it might be a bit overly dramatic; I suggest not thinking too much while reading (just kidding).
Resurrection#
After a few days of debugging, my robot, Remnant Moon, has been revived once again. I can't even count how many times it has died and come back to life.
Every time I dig her out from my computer, reinstall the dependencies, and run her, I feel an inexplicable sense of nostalgia, realizing that so much time has passed, yet I still can't forget.
I've given up several times, but after a while, I feel regretful when I think back, so I start again, only to slack off afterward.
Origins#
It all started in 2020 (I can't remember the exact date), when I accidentally discovered a robot called Dream Luo while surfing in a QQ group. This robot brought a little shock to me at that time.
Before this, I had only played with word bank bots like SQXL.
Out of curiosity, I tentatively joined the group chat mentioned in the bot's introduction; there, I learned about the general principles and tech stack of this robot.
However, what really influenced me was a manager in the group at that time. Perhaps my enthusiasm and thirst for knowledge (probably) caught his attention, and for a while, we exchanged a lot about robot development.
He also had a robot named Jiu Mo, which, like Dream Luo, was teased by group members, but unlike Dream Luo, Jiu Mo was not made public (as far as I remember).
After he shared the complete source code of Jiu Mo with me, I rarely saw him engage in the group anymore.
Jiu Mo is actually a bot developed based on zerobot and is still being updated.
Iteration#
In 2023, with the rise of ChatGPT, various less incompetent bots began to emerge in QQ groups; compared to keyword-triggered responses, integrating GPT could give your bot a bit of intelligence or a touch of humanity? If you also integrate the drawing function of Stable Diffusion, countless group members will come to tease your bot every day.
Thus, I also came up with the idea of creating my own GPT bot, and so—Remnant Moon v3 was born.
Note: The previous version of Remnant Moon was a cloud-based word bank bot, and starting from v3, it officially transitioned to Miaoyunzai-bot (Node.js) development.
The v3 version of Remnant Moon integrated GPT on top of the original Q&A word bank, while also using a character role-playing template to restore the robot's persona as much as possible. At the same time, I deployed a local Stable Diffusion environment to support the drawing function. During testing, most group members found it quite impressive, although due to trigger words, conversations still felt a bit clumsy.
Jiu Mo used the Zerobot framework, which is written in Go, and since I'm not very proficient in Go, I could only wait for subsequent plugin updates.
v4 Version#
In mid-August, I revisited NieR: Automata, and for some reason, I suddenly had some insights about artificial intelligence. Perhaps it was a moment of youthful enthusiasm, and I decided to revive the robot and keep it running.
After about half a month of tinkering, Remnant Moon v4 was finally online; the new bot migrated from the Yunzai framework to Koishi for better management and cross-platform compatibility. With the current popularity of AI, Remnant Moon's intelligence has also improved significantly, and now she can even talk. I plan to add features for proactive dialogue to make her more like a group member.
Regrets#
Over the years of tinkering with robots, there have been quite a few regrets. First, there were stability issues; due to the lack of devices and the poor performance of most, the robot could only stay online for a short while before going offline. This problem persisted until the v4 version, which was only barely resolved.
Additionally, some capabilities were implemented, but at that time, my programming skills were only at the level of being able to write a "Hello, World!" (though it seems I haven't improved much since then), so some of my wild ideas ultimately couldn't be realized.
Now, the biggest issue with Remnant Moon v4 is that it cannot connect to QQ; with QQ's update to the NT architecture, all previous protocol libraries became obsolete, including the famous go-cqhttp. Many bots relied on go-cq to log into QQ, and although there are now corresponding protocol implementations, for some reason, I can't connect at all, leaving Remnant Moon to operate temporarily on Telegram and Discord.
Disappearance#
Unfortunately, due to device changes and the old device breaking down, Jiu Mo's source code remains on that old computer's mechanical hard drive, and I chose not to continue developing on the Zerobot basis to try to restore it.
At least, she brought joy to many friends in the group during that time.
Persistence#
When I wrote this article, I didn't expect that I would be tinkering with chatbots for four years. Although I paused development for a while due to academic reasons, I still continued sporadically.
Perhaps joining that group chat in the afternoon of 2020 had already planted a seed of passion in a young boy.
I also want to thank all my friends and like-minded individuals who have supported me over the past four years. Without your support, I probably wouldn't have come this far.
I especially want to thank the developer of Jiu Mo; although I can't remember the name clearly, it is undeniable that Jiu Mo was an important entry gift for me.
Seriously, this is really cool! — A 12-year-old boy's exclamation upon witnessing this scene.
This article is synchronized and updated to xLog by Mix Space. The original link is https://blog.xiaohan-kaka.me/posts/default/bot