1. 心理咨询智能客服小程序零代码基础也能跑通心理咨询机构的客服有个很现实的痛点访客往往在深夜、周末情绪最需要出口的时候来咨询问的多是预约流程、收费标准、咨询师资质、隐私保护这类标准问题。人工客服不可能 24 小时在线而且每次回答的口径还容易不一致。我接触过几家做心理服务的小团队他们最想要的就是一个能先挡在前面的智能客服把重复问题接住真正需要人工介入时再转接。这篇要做的就是用 TRAE 搭配 GLM-4.6从零搭一个心理咨询智能客服小程序原型。你不需要懂 Python也不需要懂小程序语法只要能把需求说清楚剩下的交给 AI 编程助手。整套路径覆盖三块需求怎么拆、对话逻辑怎么设计、小程序怎么接入后端。最后我会给出一份可复制的 TRAE 项目配置骨架和 GLM-4.6 接入参数并带你做一次本地运行和对话效果验证确保你跑通第一个能用的原型。适合谁看完全没写过代码但想验证 AI 应用的产品同学、心理咨询机构的运营负责人、想快速做 demo 的创业者。读完你能得到一个能对话、能返回知识库答案的智能客服雏形而不是一堆看不懂的报错。2. 前置准备TRAE 项目骨架与 GLM-4.6 接入参数在动手之前先把两件事定下来一是 TRAE 里的项目规则二是 GLM-4.6 的调用入口。TRAE 的核心玩法是给 AI 助手设定角色和项目规则这样它生成的代码才会落在你约定的框架里而不是每次给你换一套技术栈。2.1 在 TRAE 里设定项目规则打开 TRAE新建一个项目然后在项目规则里写清楚这几条约束。你可以直接复制下面这段作为项目规则项目名称心理咨询智能客服 后端语言Python 3.9 后端框架FastAPI 前端框架uni-app一套代码覆盖微信、抖音小程序 接口风格RESTful统一前缀 /api/v1 配置管理所有密钥和 ID 放在 .env 文件不硬编码 代码注释每个函数写清楚用途和参数这段规则的作用是给 AI 划边界。我试过不写规则直接问AI 一会儿给 Flask 一会儿给 Django改起来反而更累。写清楚之后它生成的main.py、config.py、router.py结构基本一致你只需要填密钥就能跑。2.2 拿到 GLM-4.6 的调用凭证GLM-4.6 通过标准 API 调用你需要准备三样东西API Key、智能体 ID、知识库 ID。API Key 在控制台的 API Keys 页面生成智能体和知识库在平台里创建后各自有独立 ID。如果你还没开通可以走这个入口注册后进入控制台在 API Keys 页面创建密钥。地址是 https://taotoken.net/api 控制台和密钥管理在 https://taotoken.net/console 密钥页在 https://taotoken.net/api-keys 。模型对话调试可以用 https://taotoken.net/model-chat 接入文档在 https://taotoken.net/doc 。拿到之后在项目根目录建一个.env文件内容长这样GLM_API_KEY你的APIKey GLM_AGENT_ID你的智能体ID GLM_KNOWLEDGE_ID你的知识库ID GLM_BASE_URLhttps://taotoken.net/api注意.env不要提交到公开仓库这是最容易踩的坑。很多新手直接把 Key 写进代码里结果一分享就泄露了。2.3 知识库和智能体的关系这里有个概念要理清不然你会像我第一次那样绕弯路。知识库是“教材”智能体是“学了教材的客服”。你先把心理咨询机构的资料服务项目、收费、咨询师介绍、预约流程、隐私政策整理成 Markdown 或 PDF上传到知识库平台会自动解析和向量化。然后在智能体配置里把知识库挂上去这样调用智能体 API 时它就会参考知识库回答不需要你单独再调一次知识库 API。我一开始就是分开调了两个接口结果答案重复又混乱。后来把知识库直接绑到智能体上只调智能体 API输出就干净多了。3. 可复制配置后端 FastAPI 骨架与对话逻辑这一章是核心给你一份能直接跑的配置骨架。你不需要逐行理解照着建文件、填内容即可。3.1 目录结构在 TRAE 里让 AI 生成项目时最终目录大概是这样backend/ ├── app/ │ ├── main.py │ ├── core/ │ │ ├── config.py │ │ └── exceptions.py │ ├── api/ │ │ ├── router.py │ │ └── chat.py │ └── services/ │ └── glm_service.py ├── requirements.txt └── .env3.2 配置文件 config.pyfrom pydantic_settings import BaseSettings class Settings(BaseSettings): app_name: str 心理咨询智能客服 glm_api_key: str glm_agent_id: str glm_knowledge_id: str glm_base_url: str https://taotoken.net/api class Config: env_file .env settings Settings()3.3 对话服务 glm_service.py这是整个项目的“大脑”负责把用户问题发给 GLM-4.6 智能体并拿回答案。import httpx from app.core.config import settings async def ask_agent(question: str, history: list None) - str: url f{settings.glm_base_url}/v1/agents/{settings.glm_agent_id}/chat headers { Authorization: fBearer {settings.glm_api_key}, Content-Type: application/json } payload { messages: (history or []) [{role: user, content: question}], knowledge_id: settings.glm_knowledge_id, temperature: 0.3 } async with httpx.AsyncClient(timeout30) as client: resp await client.post(url, jsonpayload, headersheaders) resp.raise_for_status() data resp.json() return data[choices][0][message][content]temperature设成 0.3 是有意的。心理咨询场景要的是稳定、可复现的回答不是创意写作。温度太高同一个问题两次回答口径不一致访客会困惑。3.4 对话接口 chat.pyfrom fastapi import APIRouter from pydantic import BaseModel from app.services.glm_service import ask_agent router APIRouter() class ChatRequest(BaseModel): question: str history: list [] router.post(/chat) async def chat(req: ChatRequest): answer await ask_agent(req.question, req.history) return {code: 0, answer: answer}3.5 主入口 main.pyfrom fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from app.api.router import router app FastAPI(title心理咨询智能客服API) app.add_middleware( CORSMiddleware, allow_origins[*], allow_methods[*], allow_headers[*], ) app.include_router(router, prefix/api/v1) app.get(/health) async def health(): return {status: healthy}跨域配置必须加否则小程序前端请求会被浏览器拦截你会看到一堆 CORS 报错。3.6 依赖文件 requirements.txtfastapi0.110.0 uvicorn0.29.0 httpx0.27.0 pydantic-settings2.2.14. 验证请求本地运行与对话效果确认配置写完了现在跑起来看效果。这一步能帮你确认后端真的通了而不是自我感觉良好。4.1 启动后端服务在 TRAE 终端里执行cd backend pip install -r requirements.txt uvicorn app.main:app --reload --host 0.0.0.0 --port 8000看到Uvicorn running on http://0.0.0.0:8000就说明服务起来了。--reload会在你改代码后自动重启开发阶段很方便。4.2 用 curl 验证对话接口新开一个终端发一条测试请求curl -X POST http://127.0.0.1:8000/api/v1/chat \ -H Content-Type: application/json \ -d {question:你们晚上有咨询师在线吗,history:[]}如果返回类似下面的结构说明链路通了{ code: 0, answer: 我们的在线咨询时间为每天 9:00-22:00夜间如需紧急支持可拨打心理援助热线。 }4.3 小程序端接入前端用 uni-app 模板在聊天页面里把请求指向你的后端地址。核心代码就一段uni.request({ url: http://127.0.0.1:8000/api/v1/chat, method: POST, data: { question: userInput, history: chatHistory }, success: (res) { chatHistory.push({ role: assistant, content: res.data.answer }) } })在 HBuilderX 里运行到微信小程序模拟器输入问题看到客服回复就说明前后端打通了。第一次跑大概率会遇到黑屏或请求失败别慌看下一章的排查。5. 本篇常见错排查这一章是我踩过的坑按出现频率排序。5.1 401 或 403密钥没生效最常见的原因是.env文件没被读取或者 Key 填错了。检查两点一是.env和config.py在同一层级能被找到二是 Key 前后没有多余空格。改完.env后要重启服务--reload不会自动重载环境变量。5.2 知识库答案不生效如果你发现回答是模型自己编的而不是知识库里的内容先确认知识库有没有绑定到智能体上。在智能体配置页找到知识库关联项勾选你的知识库。绑定后只调智能体 API 即可不要再单独调知识库接口否则会出现答案拼接混乱。5.3 小程序请求被拦截浏览器和小程序模拟器都会做跨域检查。后端main.py里的CORSMiddleware必须加allow_origins开发阶段可以设[*]上线前改成具体域名。如果还是失败检查请求地址是不是写成了localhost小程序模拟器有时解析不了换成127.0.0.1更稳。5.4 服务启动报模块找不到多半是pip install没在正确的虚拟环境里执行。确认你cd到了backend目录并且requirements.txt里的包都装上了。如果用了 conda 或 venv先激活环境再装。5.5 AI 改代码改乱了方向这是用 TRAE 时特有的坑。AI 有时会自作主张重构你的目录结构或者换掉你定好的框架。遇到这种情况直接中断它的操作把项目规则再贴一遍明确告诉它“不要改目录结构只修改 chat.py”。我试过几次及时纠正比让它跑完再回滚省事得多。6. 后续接入与长期编码建议跑通原型只是第一步。如果你打算把这个智能客服真正用起来接下来要做的是把本地地址换成可访问的服务地址并在小程序后台配置合法域名。这部分官方文档写得很清楚照着做就行。对于需要长期迭代、频繁改代码的场景比如你要不断调整对话逻辑、加新功能建议用 Coding Plan 这类面向编码场景的方案配合 TRAE 的智能体工作流改起来会顺很多。入口在 https://taotoken.net/coding-plan 。如果你更想先验证模型对话效果可以先用模型对话页调试提示词地址是 https://taotoken.net/model-chat 。接入过程中遇到接口报错优先查接入文档 https://taotoken.net/doc 大部分参数问题那里都有说明。最后说个真实体会零代码基础做 AI 应用最大的障碍不是技术而是不敢开始。你不需要先学完 Python 再动手带着一个明确的目标让 AI 当领航员在实践中遇到问题再解决问题反而学得更快。我见过太多人卡在“等我学完再开始”结果一直没开始。先跑通一个能对话的原型哪怕它很粗糙你就已经跨过了最难的那道门槛。