🔥 Hermes OpenAgent Dashboard

📋 任务 #t_2b1a11a9: e2e-s4c: novel-app prompt 模板加固 (主角名锁定)

📦 所属项目: novel-app

🌳 omo 派了哪些助手 (1 次执行)

这里显示 omo 执行任务时的详细记录。如果任务复杂, omo 会派助手分工合作; 简单任务则自己搞定。

🤖 omo 正在做什么 (实时)

这是 omo (AI 助手) 当前正在执行的步骤。它会自动切换: 先看代码 → 写方案 → 改代码 → 跑测试 → 完成。

正在连接实时推送…

📜 omo 干了哪些事 (按时间)

按时间顺序显示 omo 完成的所有步骤。每个阶段都有详细说明, 可以看到它做了什么、改了哪些文件。

📤 执行结果

omo 完成任务后留下的产出物: 总结、文档、代码提交等。

📋 任务基本信息

任务的基本属性: 状态、负责人、优先级等。

状态: done

负责人: omo-pm

优先级: N/A

工作目录: /home/yi/.hermes/kanban/workspaces/t_2b1a11a9

创建时间: 2026-08-17 19:04:28

开始时间: 2026-08-17 19:05:16 (16h ago)

完成时间: 2026-08-17 19:08:26 (16h ago)

📝 任务描述

任务的详细说明, 描述要做什么。
# novel-app prompt 模板加固: 主角名锁定注释

## 背景
上一任务 t_ce12c67e 调查发现 novel.db 两部小说主角名不同 (novel_id=2=林风, novel_id=3=林尘),
两边各自一致, 不需要修改 chapters.content. 但 prompt 模板存在隐患: 章节写作时
LLM 可能引入未登记的角色名 (漂移来源). 加固方案是在 prompt 里显式声明
'主角以 characters 表登记为准, 严禁改名 / 同音字替代'.

## 必读文件
- /home/yi/novel-workspace/novel-app/services/chapter_writer.py (line 14-20 SYSTEM_PROMPT 常量, line 145-150 当前章节大纲 section)
- /home/yi/novel-workspace/novel-app/novel.db (chapters + characters 表)

## 任务
1. 在 chapter_writer.py 的 SYSTEM_PROMPT 字

📤 执行结果

omo 完成任务后的总结输出。
完成 prompt 模板加固 (3 处改动: SYSTEM_PROMPT + build_chapter_prompts 主角名锁定行 + docs/prompt-character-lock.md). 所有验收 grep 命中, ast.parse 通过, 4 项行为测试全过.

📅 这个任务的全部记录 (9 条)

任务生命周期中发生的所有事件, 按时间倒序排列。
2026-08-17 19:04:28 - 📌 任务创建
{"assignee": "omo-pm", "status": "ready", "parents": [], "tenant": null, "workspace_kind": "scratch", "workspace_path": null, "branch_name": null, "project_id": null, "skills": null, "goal_mode": null, "model_override": null, "provider_override": null}
2026-08-17 19:05:16 - claimed
{"lock": "abeemax395:2962286", "expires": 1786965616, "run_id": 62}
2026-08-17 19:05:16 - spawned
{"pid": 3042648}
2026-08-17 19:05:16 - heartbeat
2026-08-17 19:06:18 - heartbeat
2026-08-17 19:07:19 - heartbeat
2026-08-17 19:08:05 - commented
{"author": "omo-pm", "len": 734}
2026-08-17 19:08:24 - heartbeat
2026-08-17 19:08:26 - ✅ 执行完成
{"result_len": 140, "summary": "novel-app prompt 模板加固. SYSTEM_PROMPT 追加主角名规则, build_chapter_prompts() 在大纲 section 后动态追加'【主角名锁定】本章主角: {name}'行 (role 严格='主角' 匹配, 找不到则跳过). 新建 docs/prompt-character-lock.md."}

💬 评论 (2 条)

关于这个任务的讨论和备注。
omo-pm - 2026-08-17 19:08:05
完成。改动 3 处: 1. services/chapter_writer.py:21 SYSTEM_PROMPT 末尾追加 '主角名必须严格沿用 characters 表登记, 严禁改名 / 同音字 / 形近字替换。' 2. services/chapter_writer.py:152-162 build_chapter_prompts() 在【当前章节大纲】section 后 动态追加 '【主角名锁定】本章主角: {name} (来自 characters 表), 请严格使用此名。' 通过 next() 在 context['characters'] 里找 role 严格等于 '主角' 的 name, 找不到则跳过整行 (不强写空名). 3. 新建 docs/prompt-character-lock.md (3795 字节) 说明触发原因 / 改动点 / 测试建议. 验收: - grep '严禁改名' chapter_writer.py: 1 行命中 - grep '主角名锁定' chapter_writer.py: 2 行命中 (1 注释 + 1 prompt) - ls docs/prompt-character-lock.md: 存在 - python3 ast.parse: 通过 - 行为测试 4 项全过 (含 novel_id=3 主角长 role 字符串场景, 该行按 spec 跳过) 注意: 当前 novel_id=3 的 characters 表里主角 role='主角,从边陲废柴到重构秩序的大道行者' (带逗号长串), 按严格相等匹配该行会被跳过, 符合 spec 行为. 文档里已说明.
dashboard-migrate - 2026-08-17 20:36:42
🔗 linked to project: novel-app

🔄 执行记录 (1 次)

omo 执行这个任务的历史记录, 包括每次执行的进程号、状态和结果。
执行 ID 执行者 状态 进程号 开始时间 结束时间 结果
62 omo-pm done N/A 2026-08-17 19:05:16 2026-08-17 19:08:26 completed

📎 附件 (0 个)

任务相关的文件附件。

暂无附件

← 返回任务列表

⚙️ Running Processes

Loading…