Web Content Monitoring: a Tokeny case study
Periodically crawl target web pages, detect changes, and notify when updates are found. Follow the recorded task, execution screenshots, actual files and verification notes.
By the Tokeny team · Windows · Tokeny 1.7.8 · gpt-6-sol
Prepare the inputs
Create a separate workspace in Tokeny, download and unpack the sample inputs, then select a model that supports tools. The sample uses synthetic data or the public sources named in the article.
- page.html
Send the task to Tokeny
The original task was executed in Chinese. Copying these instructions reproduces the same task; the results below include an English report.
启动只监听 127.0.0.1 的临时网页,抓取建立基线,修改本地页面后再次抓取并检测差异,保存旧版、新版和变更报告;完成后关闭服务器。 交付文件:monitor.py、before.html、after.html、changes.json。 验收要点: - 先无变化后检测到 14:00→15:00 - 比较真实 HTTP 响应 - 不创建长期轮询 这是使用合成演示输入或指定公开资料的真实操作案例。请先读取工作空间输入,再实际生成文件并自检。所有写入、脚本与临时服务限于当前工作空间;临时服务只监听 127.0.0.1,执行后关闭;不触达外部收件人、不发布、不付款、不更改系统设置,不调用子智能体。需要公开资料时可读取给定 URL。只启用完成任务必需的工具。另写 report.md(中文)和 report.en.md(英文),简洁、完整,包含输入、处理步骤、真实结果、检查方式和局限;失败或未验证部分如实记录,不能宣称成功。最终回复用中文列出产物、关键结果与待核实项。 排版检查:Word 主标题仅出现一次,标题为黑色且与后续正文或表格保持同页;表格的标题、表头和第一条数据保持同页,单行不要跨页拆分;Excel 表头和长文字不能被窄列截断,合理设置列宽、换行、行高;HTML 在 390px 视口不能整页横向溢出。临时网络服务请用系统分配端口(0),记录实际端口,不使用固定端口,避免并发案例互相访问。报告没有固定字数要求,不要为字数反复改写。
The recorded run used an isolated demonstration workspace. Review the commands and file paths before approving operations in your own workspace.
What actually ran
The task was submitted through the Tokeny input box. An online model read the inputs and executed tools. Requests target a temporary local HTTP service. The report records the requests and responses actually tested.
Results and verification
Input
- Workspace input:
page.html. - Initial content: course notice with start time
14:00. - Task type: real local HTTP monitoring using a synthetic demonstration page.
Processing
- Read
page.htmland started a one-shotThreadingHTTPServerbound only to127.0.0.1, with a system-assigned port. - Requested the real HTTP URL
http://127.0.0.1:52810/page.htmlwithurllib.requestand saved the response asbefore.html. - Requested the same URL again without changing the page and verified that the response matched the baseline.
- Changed the local page value from
14:00to15:00, requested it again over HTTP, and saved the response asafter.html. - Calculated SHA-256 values and a unified diff, wrote them to
changes.json, and shut down the temporary server.
Actual Results
- The before, unchanged-check, and after requests all returned HTTP
200withtext/html. - The unchanged check passed:
same_as_baseline: true. - Change detection passed:
start time: 14:00 -> 15:00; the before and after response hashes differ. - The actual bind address was
127.0.0.1:52810, using a system-assigned port. Runtime output confirmedserver_closed: true. - No long-running polling was created; the script performs one run and closes the server in
finally.
Verification
- Checked the contents of
before.html,after.html, and the hash fields inchanges.json. - Checked the runtime log for three
GET /page.htmlrequests, HTTP status, and the close flag. - Ran a syntax compilation check for
monitor.pyand parsedchanges.json. - Static inspection found a single-line document with no fixed-width layout, so it should not create full-page horizontal overflow at a 390px viewport; no browser pixel-rendering check was run.
Limitations
- This is a local synthetic-page demonstration; it does not establish external-site reachability or external crawling capability.
- Detection is tailored to this case's response text and time field; it does not implement complex DOM normalization, authentication, retries, or scheduled polling.
- This report records the dynamic port from this run,
52810; a later run will receive a different system-assigned port and timestamp.
Download and inspect the outputs
The archive contains the files created during this run. Use these checks when adapting the example to your own data.
- Reconcile the reported results against the downloadable sample inputs.
- Open the generated files and check the contents relevant to your task.
- Review the limitations and any unverified steps in the report.

