【记录】复制粘贴,从前任到虚拟角色创建

📅 2026/6/27 23:03:40
【记录】复制粘贴,从前任到虚拟角色创建
前两天的那个前任.skill我跑不通思路很吸引人但Claude Code 或 OpenClaw,我没搞成。项目在这项目我只想用 DeepSeek 的 API Key放弃直接用 API 复刻我决定绕过所有工具链直接用 Python DeepSeek API 从头实现一遍第一步拆解项目结构(问Deepseek怎么搞)原项目真正的核心是 prompts/ 目录下的一堆 Markdown 文件text prompts/ ├── intake.md# 引导对话的采访提纲├── memory_analyzer.md# 从对话中提取结构化记忆├── persona_analyzer.md# 从对话中提取人格特征├── memory_builder.md# 格式化记忆为最终文档└── persona_builder.md# 格式化人格为最终文档这些 prompt 才是灵魂前端只是壳。第二步用 Python 串起来核心代码结构# 1. 封装 DeepSeek API三行代码from openaiimportOpenAI clientOpenAI(api_keysk-xxx,base_urlhttps://api.deepseek.com/v1)def chat(messages):returnclient.chat.completions.create(...)# 2. 加载 prompt 模板def load_prompt(name): with open(fprompts/{name}.md)as f:returnf.read()# 3. 多轮对话管理session{history:[]}session[history].append({role:user,content:user_input})responsechat(session[history])完整的流程就是 录入阶段用 intake.md 作为系统提示引导用户填写代号、基本信息、性格画像。 分析阶段把对话历史拼成纯文本分别用 memory_analyzer.md 和 persona_analyzer.md 提取结构化的记忆和人格。 生成阶段调用 Builder 模板格式化最终文档保存到 exes/{slug}.md。**文章是AI帮我整理的实际上操作起来就是复制问Ai让Ai生成对应的代码文件发给我**第三步遇到的具体问题和解决1. ModuleNotFoundError: No module namedconfig原因拆分了多个 .py 文件导入路径混乱。 解决删掉 config.py直接从 .env 读取环境变量所有配置集中一处。2. No suchfileor directory:./prompts/intake.md原因程序运行目录不是项目根目录。 解决在 main.py 开头加一行 os.chdir(os.path.dirname(os.path.abspath(__file__)))。3. 提示词模板变量没替换 原因render_prompt 只处理了{{conversation}}这一个占位符。 解决用 str.replace()循环替换支持任意变量。4. GUI 气泡文字不可复制 原因CustomTkinter 的 CTkLabel 不支持选中文本。 解决改用 tk.Text插入后设为statedisabled用户仍可选中复制。5. 鼠标滚轮无法滚动消息列表 原因Canvas 默认不响应鼠标滚轮事件。 解决绑定MouseWheel事件调用 canvas.yview_scroll。第四步还能做什么用这套框架我还加了一个–import book可以直接导入小说文本分析任意角色的完整人格。比如输入 --import book .txt再输入 confirm就能生成的人设副本输入 / 直接跟她聊天。大概是这样