基础
AI写作清理
使用维基百科的AI写作特征作为实时参考,检测并移除文本中的AI写作模式。
使用 Dagu 技能创建一个 AI 写作清理工作流。请参考 schema、coding agent 和 pitfalls 参考文档以获取正确语法。 询问用户: - 要处理文件还是直接粘贴文本?(支持 input_file 和 input_text 参数) - 重写多少轮?(默认:2) - 严格程度?(low/medium/high,默认:medium) 前置条件:至少安装了一个 AI 编程代理 CLI(claude 或 gemini)。用于获取维基百科参考的 curl。 工作流有 4 个步骤:detect_agent、setup、review_loop、finalize。 步骤 1 — detect_agent: 输出完整的二进制路径(不仅仅是名称),因为 Dagu 脚本可能没有用户的完整 PATH。检查 ~/.local/bin/ 等常见位置作为后备。在顶层 env 中添加 PATH: "${HOME}/.local/bin:${PATH}"。 步骤 2 — setup: - 通过 curl 获取最新的维基百科「AI 写作特征」页面(原始 wikitext)。URL 应为顶层 env 变量,以便用户可以替换。 - 准备输入文本。对于 input_file,使用 cp。对于 input_text,使用 `printenv input_text` 安全地将其写入文件——不要在脚本中直接使用 ${input_text},因为 Dagu 在 shell 运行之前就展开变量。请参阅 printenv 的坑。 - 将所有多行/用户控制的 env 变量(WRITING_STYLE、ADDITIONAL_RULES、CHECK_STRICTNESS)写入 DAG_DOCS_DIR 中具有公共前缀的辅助文件。这些文件由循环步骤读取,并在 finalize 中清理。 步骤 3 — review_loop: 一个包含 bash for 循环的单脚本步骤(不是 repeat_policy,不是子 DAG)。循环最多运行 max_rounds 次迭代: a. 使用 wiki 参考、风格(从文件读取)、严格程度(从文件读取)和当前文本构建提示词。对系统指令使用单引号 heredoc 分隔符(<<'INSTR'),这样 shell 不会展开它们。 b. 调用 AI 代理(CHECK_MODEL,例如 sonnet)检查文本。输出第一行:问题数量。其余行:每个问题的反馈,格式为:ISSUE: "<引用>" | SIGN: <类别> | FIX: <重写>。 c. 将反馈保存到每轮文件(例如 ${P}_feedback_round${ROUND}.txt),以便 finalize 可以将其包含在报告中。 d. 提取数量。如果为 0,立即中断(无需重写)。 e. 调用 AI 代理(REWRITE_MODEL,例如 opus)进行重写。将输出直接写入文本文件,原地覆盖。 关键:不要在脚本中直接引用多行 env 变量如 WRITING_STYLE 或 ADDITIONAL_RULES——Dagu 在 shell 运行之前就展开它们,这会破坏解析。请通过 cat 从 setup 写入的辅助文件中读取它们。只有简单的 env 变量(路径、模型名称、数字)可以安全直接使用。 步骤 4 — finalize: 构建完整报告,包含:元数据头(日期、字数统计、严格程度、每轮问题数量),然后是「发现并修复的问题」部分列出所有每轮反馈,然后是「最终文本」部分包含重写后的文本。清理所有辅助文件,包括每轮反馈文件。 Env 变量配置项(全部顶层,易于自定义): - WRITING_STYLE:多行(|)目标写作风格指令 - CHECK_STRICTNESS:low/medium/high - CHECK_MODEL:用于检查的模型(较便宜,例如 sonnet) - REWRITE_MODEL:用于重写的模型(高质量,例如 opus) - ADDITIONAL_RULES:维基百科参考之外的额外规则 - WIKI_URL:维基百科原始 URL(可替换) - WIKI_EXCERPT_LINES:提供给 AI 的 wiki 行数 使用强类型参数(name、type、description、default、minimum、maximum)。 重要:请查看 pitfalls 参考文档了解已知的解决方法。请遵循 coding agent 参考文档了解正确的非交互命令和模型参数。
开始使用
1. 安装 Dagu
curl -L https://raw.githubusercontent.com/dagu-org/dagu/main/scripts/installer.sh | bash2. 安装 Dagu 技能
claude mcp add dagu -- dagu mcp3. 启动 Dagu
dagu start-all更多详情,请参阅 快速入门指南