Datasette Apps 0.2a0 增加代理调试工具

Simon Willison··作者 Simon Willison

关键信息

调试流程使用 `opacity: 0` 的 iframe,并设置 `pointer-events: none`,因此应用在代理运行 JavaScript 时既不可见也无法交互。发布说明指出,这依赖于 `datasette-agent 0.4a0` 中新增的 `context.browser_task()` 机制。

资讯摘要

2026年8月1日,Simon Willison 发布了 Datasette Apps 0.2a0,重点是改进通过 Datasette Agent 创建和编辑应用的流程。第一个变化是新增 `app_debug()` 工具,允许代理以不可见方式打开应用,并用 JavaScript 对其进行测试。第二个变化是 `app_list()`,它会返回当前用户有权限编辑的应用,方便代理对这些应用进行操作。Willison 指出,这个调试工具很有意思,因为它可以把应用加载到一个不可见的 iframe 中,并在沙箱环境里执行代理提供的 JavaScript。

这样,代理就可以对应用做冒烟测试,甚至测量不同元素的尺寸等信息。发布说明还提到,这一能力建立在 `datasette-agent 0.4a0` 新增的 `context.browser_task()` 机制之上。整篇文章把这些改动描述为面向代理驱动工作流的渐进式改进,而不是一次重大的平台转折。

资讯正文

2026年8月1日

Datessette Apps 在通过 Datasette Agent 创建和编辑时的一些改进:新增 app_debug() 工具,允许 agent 以不可见方式打开一个应用,并使用 JavaScript 对其进行测试。#33 新增 app_list() 工具,用于列出用户有权限编辑的应用,以便 agent 可以对它们进行编辑。#36

Datessette Apps 在通过 Datasette Agent 创建和编辑时的一些改进:

新增 app_debug() 工具,允许 agent 以不可见方式打开一个应用,并使用 JavaScript 对其进行测试。#33

新增 app_list() 工具,用于列出用户有权限编辑的应用,以便 agent 可以对它们进行编辑。#36

app_debug() 工具相当巧妙:它通过在一个 opacity: 0、pointer-events: none 的 iframe 中显示应用来工作(因此它不可见,也无法交互),然后在该沙箱化 iframe 内执行由 agent 提供的 JavaScript。这意味着 agent 可以对应用进行冒烟测试,甚至做一些事情,比如测量不同元素的尺寸。

这使用了 datasette-agent 0.4a0 中新增的 context.browser_task() 机制。

来源与参考

  1. 原始链接
  2. Release: datasette-apps 0.2a0

收录于 2026-08-02