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

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions