Skip to content

plan doctor LLM 输出污染 ROADMAP.md 文件 #13

Description

@Guo-Zhang

现象

src/cli 目录下执行 qtcloud-devops plan doctor cli 时,LLM(quanttide-agent)的回复被直接写入了 ROADMAP.md,而不是仅做验证。

被污染的文件内容:

您的 ROADMAP.md 已完全符合规范要求,无需修改。

...
以下为原内容(无改动):

```markdown
...原始内容被包在代码块里...

## 原因

`doctor_llm()` 在 LLM 有响应时,直接把返回内容写入了 ROADMAP.md 文件。

## 根因

`src/plan.rs` 中的 `doctor_llm()` 函数存在逻辑缺陷:当 LLM 返回分析文本时,它没有区分“分析结果”和“修正后的文件内容”,直接将 LLM 的输出写入了文件。

## 期望

- LLM 仅返回文件修正内容(diff 或替换后的全文)
- 写入前验证格式符合规范
- 写入后输出 diff 让用户确认
- 无 LLM API key 时仅做规则校验(当前行为正确)

## 优先级

高——`plan doctor` 是数据写入命令,污染文件可能导致数据丢失。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions