让 AI 写完代码后交一份报告:我改造了 answer-me-with-html

项目已经开源:jerrywu001/ask-report-html。如果这个 skill 对你有用,欢迎点个 Star。

用 AI 写代码,收尾时经常能看到这样的回复:改好了,测试通过,顺便处理了几个相关问题。

可我还是得往上翻记录:这一轮到底动了哪些文件?测试覆盖了什么,还有哪些没跑?工作区里原本就有的改动,有没有被一起算进去?

任务一长,报错、修复和工具输出混在一起,找起来更费劲。换个会话继续做,还得重新弄清楚上次做到哪了。

我想让 AI 在收尾时顺手把这些信息整理好,于是基于 answer-me-with-html 改了一个版本,叫 ask-report-html。保留主动生成 HTML 解释的能力,再加上有条件的任务结果报告。安装入口是 npx askreport。

原版的渲染器和解释页组件已经够用了,跨 agent 的 skill、流程图、时序图、表格和代码引用都沿用它的能力。我主要改的是何时生成报告、报告里写什么,以及怎么安装配置。

一个列表筛选任务的报告

我准备了一个独立样例,给列表加上关键词和分类筛选。切换条件后回到第一页,空结果和越界页码也做了处理,没有用真实项目的数据。

样例包含 4 个逻辑模块和 1 个测试文件。7 项 Node 逻辑测试实际通过,5 个文件也做了语法检查。随后用从 npm 安装得到的 skill 生成 HTML,再到浏览器里截图。

这是演示代码的报告,不能当作生产项目验收记录,也没有验证所有 agent 的自动触发行为。

核对任务时,可以先看交付结论,再查文件职责和验证记录。这个样例没有界面,也不连接业务服务,浏览器交互和业务接口集成就老老实实写"未运行"。

我希望真实任务也这么写。单测通过就记录单测结果,浏览器没验收就留着,遇到阻塞可以交付部分结果。HTML 生成成功,只能说明报告生成了,不能据此说业务全部完成。

同事接手时,有了这页就知道还需要核对什么。自己隔几天回来,也能先找到上次停下的位置,再继续读代码。

我收紧了自动生成的时机

原版提供了可选的 always-on 模式,结论、总结、规划或比较都可以附上一页 HTML。

我更想把它用在开发任务收尾。问个命令、改几个小文件,直接看文字就够了,所以改造版分成了两种用法:

使用方式 什么时候生成 页面里放什么
主动调用 明确要求使用 skill 或生成 HTML 按问题组织原理、流程、比较等内容
自动任务报告 执行任务准备最终交付,且有效改动文件数达到门槛 本轮改动、验证结果、风险与未完成项

主动调用不用先修改文件。比如直接对 agent 说:

text 复制代码
用 ask-report-html 解释缓存失效的几种情况。

这时生成的是按问题展开的解释页,不用填"改了哪些文件"之类的栏目。

自动报告默认要求改动 5 个文件,安装时可以改成任意正整数。默认配置下,改动 1 到 4 个有效文件就用文字交付;达到 5 个,也得等任务准备收尾,且用户没有要求纯文本,才生成报告。

文件数只算本任务实际新增、修改或删除的源码、业务文档和配置文件。同一个文件改了多少行,都只算一次。

原本就有的改动、其他会话的改动不算,计划、日志、缓存、截图和报告本身也不算。拿不准是不是本任务改的,就不要计入,更不能为了出报告多改几个文件。多人或多个 agent 共用工作区时,不能拿整个工作区的 diff 给当前任务算数。

普通问答、规划、只读调查和进度消息都不自动出报告。改 skill 配置、清理页面或更新 skill 时也不生成,免得报告又触发下一份报告。

安装时,先选工具和门槛

npx askreport 是安装和配置入口。报告由 coding agent 在任务收尾时调用 ask-report-html 生成,装完以后还得回到你平时用的 agent 里做任务。

安装工具需要 Node.js 22 或更新版本,终端里运行:

bash 复制代码
npx askreport

需要中文提示时:

bash 复制代码
npx askreport --lang=zh_CN

先输入报告门槛,再选 agents。方向键移动,空格勾选,回车安装,不想装了可以取消。首次运行时 npm 可能会先问要不要下载包,同意下载不等于确认修改 agent 配置。

截图里的门槛设为 5,选了 Pi 和 Codex。为了不动本机现有配置,这次演示用了隔离目录,命令里多一个 --home "$DEMO_HOME"。正常安装不用带它。

如果更习惯网页,可以运行:

bash 复制代码
npx askreport web

然后手动打开终端显示的本地地址,默认通常是 http://127.0.0.1:7331,命令本身不会自动打开浏览器。

网页可以切换中英文和深浅色。左边选门槛和 agent,右边看共享 skill 和规范文件会写到哪里。预览不写文件,点安装后还会再问一次是否确认。

目前安装器覆盖 Pi、Claude Code、Codex、OpenCode、Grok Build、Antigravity CLI、Kimi Code 和 Cursor。

Cursor 的 User Rules 需要自己复制到官方设置页,skill 可以由安装器处理。工具不写 Cursor 的非公开数据库。装好后,Pi 执行 /reload,其他 agent 重启会话;项目和团队规则仍可能影响实际行为。

这次具体怎么改

先把收尾规则写清楚

主动解释和自动报告分别走各自的规则。任务报告要写清楚交付了什么、哪里变了、验证证据在哪,以及还有哪些风险或没做完的事。

小任务两个面板就够。需要解释结构变化时,再加文件树、差异或流程图,不用每份报告都摆满组件。

默认用纸张主题,生成后不自动打开浏览器。同一个任务只留一份页面,补验证或修正结果就更新它。报告和草稿放在 ~/.ask-report-html/<task_xxx>/ 下,不往业务仓库里塞。

规则随 skill 一起分发,也写入选中 agents 的规范。换机器安装后照样能用,不靠上一台机器的会话记忆。

把门槛做成可配置的值

如果只在各处提示词里写一个数字,以后改设置,很容易漏掉一处。

安装器会把门槛存到共享 skill 的 auto-report.json,同时同步选中 agents 的规范段:

json 复制代码
{
  "minChangedFiles": 5
}

配置缺失或值不合法,就回退到 5。终端和网页共用这套配置流程。

文件计数仍由 agent 按规范完成。代码负责校验、保存门槛,没有后台进程监控文件,也没有程序替 agent 判断所有改动的归属和报告时机。

安装前能预览,覆盖前有备份

不同 agent 放规范文件的位置不同,发现 skill 的方式也不同。共享目录、专属目录链接、已有的 override 文件,都得分别处理。

安装器先找出目标位置,给你看预览。确认后才装共享 skill,更新所选 agents 的规范段和必要链接。安装器管理的那段内容没变就跳过,有变化就原位更新,其余内容保留。

我不想装一个 skill 就把原来的配置弄乱,所以同名 skill 覆盖前要备份。预览以后文件被别人改了,就中止;替换失败,尝试恢复原入口。Windows 的目录链接依次尝试 symlink、junction 和受管副本。

旧版 answer-me-with-html 也可能被 agent 同时发现,两套功能和触发规则重叠,就可能重复出报告。安装器会列出旧入口,默认先留着。

终端选 Y,或者在网页明确勾选删除,才会等新安装成功后备份并移除旧入口。符号链接只处理入口,不跟着删外部目标。历史报告和旧全局规范也保留;旧规范如果还引用旧 skill,需要再手动检查。

网页服务只监听 127.0.0.1,接口校验 Host、Origin 和随机会话 token,不接受任意路径写入。

复用渲染器,补上 npm 安装入口

原版让模型写扩展 Markdown,由 CLI 处理排版、主题和图表布局。我保留了这条链路:

text 复制代码
agent 根据任务记录整理扩展 Markdown
    ↓
render.mjs 处理默认主题和打开行为
    ↓
am.mjs 解析内容并生成 HTML
    ↓
写入该任务的报告目录,返回页面链接

模型只用写内容,不必每次重写 CSS、计算 SVG 坐标。表格、图表和代码引用用现成组件,渲染器统一处理样式。这些能力沿用自原版。

安装入口打包成 npm 包 askreport,已安装 skill 的名字仍是 ask-report-html。终端和网页共用安装器,skill 则用带 manifest 和校验信息的 ZIP 分发。

测试覆盖安装、门槛、规范更新和旧入口处理,也会拿实际 npm tarball 做隔离安装、渲染检查。源码目录里跑得通,还要看看用户下载的包能不能正常用。

用它能省下哪些事

收尾时不用重新翻一遍工具输出,去拼这一轮的文件和测试记录。看过报告,再查 diff,就能带着具体问题去看:为什么改这里,这项检查为什么没跑,还有哪里需要自己验收。

发给同事时,也不用再从聊天记录里摘一份说明。对方先看交付范围,再回到代码和测试证据里核对。页面是单个 HTML 文件,可以离线打开。不过,分享前要检查有没有私有源码或敏感信息。

换 agent 用的时候,也不用分别维护几套收尾提示词。门槛在安装器里调,报告内容按同一份 skill 的规则来写。

省下的主要是整理记录和交接的工夫。业务测试不会因此少跑,没验收的功能也不会因为多了一份报告就变可靠。

哪些事还得自己盯着

自动报告靠 agent 遵循指令,没有安装强制的任务结束监听器。模型、版本或会话不同,都可能漏报,装好 skill 也不能保证每次都按预期执行。

文件数门槛用来控制报告频率,不代表任务风险。只改一个重要文件,也可以主动要求 HTML 报告。改动多的任务,则要留意报告有没有漏项、是不是把别人的改动也写进来了。

"通过""失败""未运行"要逐项看,合并前照常做代码评审、测试和业务验收。

想试试的话,可以从中文终端入口安装:

bash 复制代码
npx askreport --lang=zh_CN

项目地址:jerrywu001/ask-report-html。npm 包:askreport。

原始 skill 和 HTML 渲染器来自 QingYunA/answer-me-with-html,改造版保留了来源声明与 MIT 许可。

相关推荐
派小心.2 小时前
小程序分享链路中来源参数的传递校验
大数据·前端·数据库·人工智能·小程序·数据分析
hhb_6182 小时前
一键生成数据看板,ECharts实战演示
前端·javascript·echarts
Java后端的Ai之路2 小时前
08_React组件API
前端·react.js·前端框架
小马不起床2 小时前
零基础玩转 FastAPI_09:前端基础工程构建
前端·状态模式·fastapi
风骏时光牛马3 小时前
用户管理模块接口开发
前端
彭亚川Allen4 小时前
从零手搓 RAG 之检索全流程,给大模型接上自己的知识库
前端·后端·ai编程
IT_陈寒4 小时前
别让Java字符串拼接偷偷吃掉你的内存
前端·人工智能·后端
软件技术NINI4 小时前
圣罗兰彩妆html+css 4页
前端·css·html
2601_951615205 小时前
网站模板 网站网页模板下载
前端·网络·html