Web Page Brief
ivy.agent.web-page-brief · v1.0.0
ivyx
Fetches a web page, has a model write three bullet points about it and saves them as a note under the page's title and address.
Steps
In the order the agent's file lists them, each with where its inputs come from and the values the file fixes. A branch or a loop is a step too.
- 01Ivy NodeFetch the pageivy.node.web-page-text
Fetches a web page and returns its readable text and title, without scripts, styles or markup.
- takes
urlfrom the agent's input- returns
title
- 02Model turnWrite the brief
Write a brief of this page as exactly three Markdown bullet points, one line each, each starting with '- '. Say only what the page says.
- takes
contextfrom step 1,text- returns
brief
- 03Ivy NodeLay out the noteivy.node.template-render
Fills {{ name }} placeholders in a text template from a mapping, and reports which names were missing.
- takes
values.titlefrom step 1,titlevalues.urlfrom step 1,urlvalues.brieffrom step 2,output.brief- set
template# {{ title }} {{ url }} {{ brief }}on_missingempty- returns
note
- 04Ivy NodeWrite the noteivy.node.file-write
Writes text to a file, creating its folder, and returns the absolute path and the number of bytes written.
- takes
textfrom step 3- set
pathreports/brief.mdoverwritetrue- returns
path
Nodes it brings
Adding this agent in IVYX Studio adds these nodes with it. A node your workspace already has is kept as it is, even at another version.
What it touches
Collected from what each of its nodes declares, plus the model call when a step is a model turn. A declaration is the author's statement, and it is what policy rules select on.
Inputs
| Field | Type | Description |
|---|---|---|
| urlrequired | string | The page's address. |
Outputs
| Field | Type | Description |
|---|---|---|
| title | string | The page title. |
| brief | string | The three bullet points. |
| note | string | The note that was written. |
| path | string | The file the note was written to. |
Tests
2 of 2 test cases passed on Oct 4, 2026, in the publisher's own environment, before this version was published. The registry keeps that record; it does not run the cases again.
Requires: python:3.9, a model core, the test pages served on 127.0.0.1:18901 (python3 -m http.server in data/showcase/site)
- tram-line
A news page: the note carries its title, its address and a brief about the tram.
- given
urlhttp://127.0.0.1:18901/article.html- expects
titleequals Harbor City opens its first tram linenotematches ^# Harbor City opens its first tram line\n\nhttp://127\.0\.0\.1:18901/article\.html\n\n-briefmatches [Tt]rampathmatches reports/brief\.md$
- bread-recall
Another page gives another note.
- given
urlhttp://127.0.0.1:18901/article-b.html- expects
titleequals Lakeside Bakery recalls rye breadbriefmatches [Rr]ecall|[Rr]ye