缘起:一个很朴素的需求
最近有个想法:把一篇文章和几道题目(单选、多选、判断)丢给 AI,让它根据文章内容帮我选出正确答案,还要给出解析。题目我自己出——选项我来录,AI 只负责"读文章、选对的那个"。
这种活儿如果自己写,既要前端录入界面,又要后端调大模型,还要部署上线,没大半天搞不定。我懒,于是找了 WorkBuddy。
跟 AI 聊需求,它先反问了两个关键问题
我刚说完想法,WorkBuddy 没有立刻动手,而是先确认了两件事:
- 题目由谁生成?是我录题让 AI 判,还是 AI 自动出题?
- 做完怎么用?本地自用,还是部署到服务器让别人也能访问?
我明确:我录选项,AI 帮我选正确答案;并且部署到我的轻量服务器(域名 hldip.com)。确认完,它直接开干。
实现:零依赖也能跑起来
整个站点结构很简单:
- 前端:纯 HTML/CSS/JS。左侧录文章,右侧动态增删题目和候选选项,选题型(单选/多选/判断),还能填"我的答案"用来和 AI 结果比对。
- 后端:Node 原生
http,零第三方依赖,不用npm install。核心是一个/api/ask接口,把文章加题目发给大模型,要求它严格只依据文章判题、返回正确选项和引用依据的解析。 - 判题逻辑:AI 只在用户给的文章里找依据;找不到会明确说"文章未提及,按常识推断",不瞎编。
大模型调用走用户自己的 API Key(DeepSeek / 通义千问 / 智谱 / OpenAI 兼容任选),Key 存在浏览器本地或设为服务器默认,不进页面源码。
部署:挂到 hldip.com 下面
部署过程很顺,但有几个小坑值得记一下:
- 计划用 3003 端口,结果发现被另一个服务
blog-stats占了,改用 3005。 - 用 PM2 启动(
article-qa),并pm2 save持久化,开机自启。 - 在 nginx 的
hldip.com站点下加了一条location ^~ /qa/反代到 3005,直接复用了已有的 HTTPS 证书,于是访问地址就是 https://hldip.com/qa/。
踩坑实录(给后来人省时间)
- Windows 版 scp 不认
/e/路径,也不认 git bash 的盘符转换;最后用tar管道(tar czf - | ssh ... 'tar xzf - -C /opt/')最稳,且记得先sudo mkdir并改属主,否则/opt写不进去。 nginx -s reload在这台机器上不会真正生效——只报"signal started",旧 master 没收到。正确做法是sudo systemctl reload nginx(或向 master 发 HUP)。- sudo 是免密的,所以脚本里的
sudo cp/sudo chown能直接跑。
上线与收尾
网站跑起来后,我在顶栏下方加了一条免责声明:AI 判题结果仅供参考、不保证完全准确,使用后果由使用者自行承担。
最终成品:https://hldip.com/qa/(公开访问)。
一点感想
从"我想做个判题工具"到网站上线,全程没离开对话框。WorkBuddy 把需求澄清、前端、后端、服务器部署、HTTPS 这些原本要东拼西凑的活儿,串成了一条线。对一个有想法但不想被工程细节绊住的人来说,这种"说人话就能产出东西"的体验,才是 AI 助手该有的样子。