一个使用 DeepSeek API 的私人数字助手原型。当前版本先实现男性角色,并使用公开化名称“Markdown助手”。
角色保留理性、擅长规划、善于复盘和温和陪伴等特征,但公开人格配置不包含真实姓名、学校、住址、账号、成绩或具体关系人物。
设置环境变量 DEEPSEEK_API_KEY,或者在项目根目录创建本地 .env:
DEEPSEEK_API_KEY=sk-xxxxxxxx
.env、会话记录和私人原始资料已加入 .gitignore。
python virtual_agent.py也可以指定模型:
python virtual_agent.py --model deepseek-reasoner| 命令 | 作用 |
|---|---|
/help |
查看帮助 |
/model <名字> |
切换模型 |
/reset |
清空当前对话 |
/save [名字] |
将会话保存到本地 |
/load <名字> |
加载本地会话 |
/list |
查看本地会话 |
/quit |
退出 |
NextChat 位于 NextChat/。首次使用前,在 NextChat/.env.local 中配置 DeepSeek 密钥,然后运行:
.\start_web.bat或者:
./start_web.sh生成 Web 面具:
python _gen_mask.py
cd NextChat
npm run mask当前推荐入口是独立的数字人页面,它包含男性动漫角色、流式回复、角色状态反馈、浏览器语音输入和语音朗读:
.\start_digital_human.bat也可以直接运行:
python digital_human/server.py --port 8765浏览器打开 http://127.0.0.1:8765。没有配置密钥时会进入演示模式;点击页面左上方的“连接设置”可以将 DeepSeek Key 临时保存在服务内存中,关闭服务后自动清除。
可以把 Web 版部署到 GitHub Pages,得到一个公开网址。原理:NextChat 以纯静态导出构建(BUILD_MODE=export),浏览器在客户端直连 DeepSeek API(已确认 DeepSeek 支持 CORS)。
隐私说明:Pages 站点是公开的。当前"Markdown助手"人格已经过净化,不含真实姓名、学校或关系人物;你的 DeepSeek key 也不要写进任何代码——部署后你在自己浏览器里填,key 只存在浏览器本地(localStorage)。私密材料(history/、friend_system_prompt.md、.env、sessions/ 等)已被 .gitignore 排除,不会被推送。
- 在 GitHub 创建一个仓库(如
my-companion),把项目代码推上去。不要提交.env、sessions/、history/、friend_system_prompt.md(.gitignore已排除)。 - 仓库 Settings → Pages → Source 选择 GitHub Actions。
- 推送后,
NextChat/.github/workflows/pages.yml会自动构建并部署(项目页会自动挂在/仓库名/子路径下)。 - 打开
https://你的用户名.github.io/仓库名/。 - 在设置里找到 DeepSeek 提供商,填入你的 API Key(只存本机浏览器);然后在面具里选 Markdown助手 开始聊天。
若仓库名以
.github.io结尾(用户/组织主页),站点在根路径,next.config.mjs会自动不加前缀。
公开人格提示词位于 profiles/markdown_assistant.md。该文件只描述助手的性格、能力、回复方式和隐私边界。
历史对话、私人提示词、会话文件和密钥均为本机资料,不应复制到公开仓库。应用运行时不会自动读取历史对话或旧的私人提示词。
角色设定图位于 assets/characters/character-concept-v1.png。下一步将从男生形象拆分半身立绘、眼睛、眉毛、嘴型和表情状态。