Guide 06 rebuilt in English: Materials check with OERSI tool, English screenshots, DSL export
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@@ -3,8 +3,8 @@ FOR THE EDITOR
|
||||
|
||||
Guide 6: Agent Console (beta), the Materials check: assessing and adapting learning material for
|
||||
students who need support, with a custom search tool for open educational resources.
|
||||
Screenshots in screenshots/, captured on 20 September 2026 (Dify cloud, Dutch build of the same
|
||||
agent, which used the Dutch OER index Edurep; two window sizes, the build script scales by width).
|
||||
Screenshots in screenshots/, captured on 21 September 2026 (Dify cloud, English interface, OERSI
|
||||
as the search index).
|
||||
|
||||
Convert to HTML, PDF and Word: python3 build.py
|
||||
(python-markdown, google-chrome and libreoffice; layout and logo in _tools/build_guide.py)
|
||||
@@ -19,19 +19,21 @@ Formatting conventions (see also README.md):
|
||||
Files in this folder:
|
||||
lesson-booklet-ecology.pdf fictional lesson booklet, Biology Year 9 (same as in guide 8)
|
||||
oer-search.openapi.json the schema of the search tool (OERSI), to paste in step 3
|
||||
Published example app (Dutch, with the Dutch search tool): https://udify.app/agent/lkWKedkSW2d3nqBV
|
||||
Published example app: https://udify.app/agent/BIKJSPHj1JnCRzAp
|
||||
DSL export: materials-check.dify.yml (the custom tool and the PDF are not in the file; recreate the
|
||||
tool from oer-search.openapi.json and upload the PDF again after importing).
|
||||
-->
|
||||
|
||||
# Building in the Agent Console: the Materials check
|
||||
|
||||
**Guide 6: making learning material accessible for all students**
|
||||
LeX Consultancy B.V. · 20 September 2026
|
||||
LeX Consultancy B.V. · 21 September 2026
|
||||
|
||||
You build an agent that helps a teacher make their learning material accessible for students who need support. The agent reads the lesson booklet, asks which needs occur in the class, assesses the material on seven points, produces adapted versions for the teacher and for students, and searches an open index for open educational resources that fit, with licence.
|
||||
|
||||
Two things are new compared with guide 4. First the pedagogy: the agent works according to **Universal Design for Learning** (UDL), the framework that says you do not make an exception per student, but design the material so that it works for everyone. Second the technique: you make your **own tool**. Dify has no tool that searches an OER index, so you describe the search engine in a small schema, and with that the agent can call it. That is the step from "choosing tools from a list" to "any website with an API as a tool".
|
||||
|
||||
This guide follows the cloud version of Dify as it looked on 20 September 2026. The Agent Console is **beta**; if your screen differs, follow what you see, not what is written here. Guide 4 explains the Agent Console itself (model, prompt, files, tools, publishing); here those steps are shorter. The screenshots show the Dutch build of this agent, which searched the Dutch national OER index (Edurep); in this guide you build the same tool for OERSI, an international index. The screens are the same, the schema differs.
|
||||
This guide follows the cloud version of Dify as it looked on 21 September 2026. The Agent Console is **beta**; if your screen differs, follow what you see, not what is written here. Guide 4 explains the Agent Console itself (model, prompt, files, tools, publishing); here those steps are shorter.
|
||||
|
||||
**How to read this guide**
|
||||
|
||||
@@ -102,26 +104,26 @@ This agent works with learning material, not with students. That makes it a lot
|
||||
| Role | `Accessibility coach for learning material` |
|
||||
| Description | `Assesses learning material for accessibility for students with support needs (UDL), produces adapted versions for teacher and student and searches for open educational resources.` |
|
||||
|
||||

|
||||

|
||||
|
||||
3. Click **Create**.
|
||||
4. Click the model field, search for `gpt-5.4` and choose **gpt-5.4**.
|
||||
|
||||

|
||||

|
||||
|
||||
---
|
||||
|
||||
## Step 2. See which tools there are
|
||||
|
||||
1. Scroll to **TOOLS** and click **Add**. At the top are tabs: **All**, **Toolplugin**, **Swagger API**, **Workflow**, **MCP**.
|
||||
1. Scroll to **TOOLS** and click **Add**. At the top are tabs: **All**, **Tool Plugin**, **Swagger API**, **Workflow**, **MCP**.
|
||||
|
||||

|
||||

|
||||
|
||||
Each tab is a way to let an agent do something outside its own sandbox:
|
||||
|
||||
| Tab | What it is | Example |
|
||||
| --- | --- | --- |
|
||||
| Toolplugin | Ready-made tools from the Marketplace | CurrentTime (guide 4), Tavily (web search), Audio |
|
||||
| Tool Plugin | Ready-made tools from the Marketplace | CurrentTime (guide 4), Tavily (web search), Audio |
|
||||
| Swagger API | A website or service with an API that you describe in a schema | The OER index you build in step 3 |
|
||||
| Workflow | One of your own Dify workflows as a tool | Calling the School news workflow from guide 3 from an agent |
|
||||
| MCP | An MCP server (Model Context Protocol), the standard by which AI assistants talk to systems | A connection to a student information system, on a school platform |
|
||||
@@ -134,11 +136,11 @@ For an OER index there is no ready-made tool. So you make one yourself via **Swa
|
||||
|
||||
**OERSI** is an open index of open educational resources from dozens of repositories (university OER portals, Zenodo, national indexes), with a public search interface and no key. You describe that interface in a schema (OpenAPI, also called Swagger): which address, which parameters, what comes back. Dify turns that into a tool.
|
||||
|
||||
1. Click **Integrations** in the left-hand menu, then **Swagger API as Tool**.
|
||||
1. Click **Integrations** in the left-hand menu, then **Tools** → **Swagger API as Tool**. In a new workspace this page is empty; in ours two earlier tools are already there.
|
||||
|
||||

|
||||

|
||||
|
||||
2. Click **Create a Swagger API as Tool**.
|
||||
2. Click **Add Swagger API as Tool** at the top right. The **Create Custom Tool** window opens.
|
||||
3. Under **Name** type `OER search` and under **Schema** paste the text below (or the contents of `oer-search.openapi.json`).
|
||||
|
||||
```
|
||||
@@ -171,23 +173,25 @@ For an OER index there is no ready-made tool. So you make one yourself via **Swa
|
||||
}
|
||||
```
|
||||
|
||||
As soon as the schema is valid, one line appears under **Available Tools**: **searchOpenResources**, method get. (The screenshot shows the Dutch tool for Edurep, with its own path; yours shows the OERSI path.)
|
||||
As soon as the schema is valid, one line appears under **Available Tools**: **searchOpenResources**, method get, with the OERSI path.
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||
|
||||
What the schema says, in plain words: the **servers** line is the address of the search engine. The **path** is the search entrance. The **parameters** are the fields you pass along: `q` is the query, `size` the number of results. The **description** texts are not for you but for the agent: from them it learns when and how to use the tool. So write them in plain sentences, with an example.
|
||||
|
||||
4. Leave **Authorization method** on None (OERSI asks for no key) and click **Save**. The tool is now in the list.
|
||||
4. Leave **Authorization method** on None (OERSI asks for no key) and click **Save**. "Action succeeded" appears and the tool is now in the list.
|
||||
|
||||

|
||||

|
||||
|
||||
5. Click the card. On the right you see the tool with **1 ACTION INCLUDED**.
|
||||
|
||||

|
||||

|
||||
|
||||
6. Click **Configure** to test. The schema opens again.
|
||||
|
||||

|
||||

|
||||
|
||||
7. In the Available Tools table click **Test** and fill in the parameters.
|
||||
|
||||
@@ -196,11 +200,11 @@ What the schema says, in plain words: the **servers** line is the address of the
|
||||
| q | `inLanguage:en AND (food web OR ecosystem)` |
|
||||
| size | `5` |
|
||||
|
||||

|
||||

|
||||
|
||||
8. Click **Test**. Under Test Results JSON appears with `hits.total.value` (several thousand for this query) and below it the records.
|
||||
8. Click **Test**. Under Test Results JSON appears with `hits.total.value` (5,013 for this query on 21 September 2026) and below it the records.
|
||||
|
||||

|
||||

|
||||
|
||||
> The query syntax is that of a search engine: words joined with AND or OR, brackets for groups, `inLanguage:en` to limit the language. Without the language filter you get many German and Dutch resources; OERSI is strong in higher education and weaker in secondary school material. For school-level English material, OER Commons, CK-12 and OpenStax are worth a manual search as well; they have no open search API, which is exactly why the tool uses OERSI.
|
||||
|
||||
@@ -237,7 +241,7 @@ Rules:
|
||||
- You write all files in English, in markdown.
|
||||
```
|
||||
|
||||

|
||||

|
||||
|
||||
The instruction follows the structure of guide 4 (who, method, what you deliver, rules), with two additions. The seven assessment points in step 3 are the translation of the three UDL principles into things you can read off a text. And step 5 tells the agent exactly how to call the custom tool, including the query syntax; without that sentence it first tries wrong and only then right (see step 6).
|
||||
|
||||
@@ -251,12 +255,14 @@ The instruction follows the structure of guide 4 (who, method, what you deliver,
|
||||
|
||||
1. Under **FILES** click **Add**, choose `lesson-booklet-ecology.pdf` and click **Upload**.
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
2. Under **TOOLS** click **Add**, click the **Swagger API** tab, click **OER search** and then **Add all**. Close the picker with Escape. OER search is now under TOOLS.
|
||||
|
||||

|
||||
|
||||
> The booklet in FILES is the example for the test. In the webapp a teacher can later send their own booklet via the paperclip in the chat; the agent then uses that file and not the example (that is what point 1 of the instruction says).
|
||||
|
||||
---
|
||||
@@ -265,7 +271,7 @@ The instruction follows the structure of guide 4 (who, method, what you deliver,
|
||||
|
||||
1. Click **PREVIEW** at the top right.
|
||||
|
||||

|
||||

|
||||
|
||||
2. Type the first message.
|
||||
|
||||
@@ -275,7 +281,7 @@ The instruction follows the structure of guide 4 (who, method, what you deliver,
|
||||
|
||||
The agent sees the booklet among its files and asks the question about support needs, with the six choices and "I do not know".
|
||||
|
||||

|
||||

|
||||
|
||||
3. Choose three needs.
|
||||
|
||||
@@ -283,29 +289,39 @@ The agent sees the booklet among its files and asks the question about support n
|
||||
| --- | --- |
|
||||
| 2 | `Dyslexia, English as an additional language, and gifted.` |
|
||||
|
||||
Now the agent gets to work, and that takes well over a minute. Above the answer you see what it is doing: several times **Commands executed** (reading the booklet, writing the three files) and several times **searchOpenResources** (the custom tool). At the bottom it says **Stop responding** while it is busy.
|
||||
Now the agent gets to work, and that takes well over a minute. Under **Thinking** you see what it is doing: **Ran commands** (reading the booklet, writing the three files) and three times **searchOpenResources** (the custom tool). At the bottom it says **Stop responding** while it is busy.
|
||||
|
||||

|
||||

|
||||
|
||||
4. Wait until the answer is complete. It starts with the **Short report**: seven points with a score and one sentence of explanation. For our booklet: sentence length fair, technical terms good, structure good, prior knowledge fair, visual support weak, variety in processing fair, choice in how to show what you have learned weak.
|
||||
4. Wait until the answer is complete. In our test it was not: after two minutes the list of steps ended with **shell_interrupt** and no text followed. That is beta behaviour (see When things go wrong). The work was done, only the answer did not come. So we asked once more.
|
||||
|
||||

|
||||
| Message | What you type (only if no answer comes) |
|
||||
| --- | --- |
|
||||
| 2a | `I did not get an answer. Can you give me the report, the files and the resources?` |
|
||||
|
||||
5. Below it are the **Files created** as links: teacher-note.md, student-version-accessible.md and, because gifted was chosen, student-version-extension.md.
|
||||

|
||||
|
||||

|
||||
5. Now the answer comes in thirteen seconds, because the files and the searches are already there. It starts with the **Short report**: seven points with a score and one sentence of explanation. For our booklet: sentence length fair, technical terms fair, structure good, prior knowledge fair, visual support weak, variety in processing fair, choice in how to show what you have learned weak. Then main strengths and main barriers.
|
||||
|
||||
6. Finally the **Open educational resources**: up to five resources with web address, licence, which need they help with and why. In the Dutch test two of them were CC BY-SA, with the warning that an adaptation must be shared under the same licence.
|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
7. Click **Thinking · 1 min 20 s** to see what the agent did.
|
||||
6. Below it are the **Files** with a download link each: teacher-note.md, student-version-accessible.md and, because gifted was chosen, student-version-extension.md.
|
||||
|
||||

|
||||

|
||||
|
||||
8. Click the first **searchOpenResources**. You see the REQUEST (the query the agent formulated itself) and the RESPONSE from the index. In our test the first search went wrong: the agent put loose words after each other, the index answered with an error, and the agent then tried again with the right syntax. That is exactly the behaviour of an agent: try, look, try again.
|
||||

|
||||
|
||||

|
||||
7. Finally the **Open educational resources**: five resources with web address, licence, which need they help with and why. In our test two of them were CC BY-SA, each with the note that an adaptation must be shared under the same licence, one was CC BY-NC-SA (no commercial use) and two CC BY.
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
8. Scroll back to the list of steps under **Thinking** and click the first **searchOpenResources**. You see the REQUEST: the query the agent formulated itself, `inLanguage:en AND (ecology OR ecosystem) AND (year 9 OR secondary)`, with size 10. In an earlier run the first search went wrong: the agent put loose words after each other, the index answered with an error, and the agent tried again with the right syntax. That is the behaviour of an agent: try, look, try again. This time the example in the instruction was enough.
|
||||
|
||||

|
||||
|
||||
9. Ask to see a piece of the student version.
|
||||
|
||||
@@ -313,11 +329,15 @@ Now the agent gets to work, and that takes well over a minute. Above the answer
|
||||
| --- | --- |
|
||||
| 3 | `Show me the glossary and section 1 from student-version-accessible.md here in the chat.` |
|
||||
|
||||
The glossary has nineteen terms, each explained in one sentence. Section 1 has subheadings, short sentences and a check question after each part. Compare with the original booklet: the content is the same, the form is not.
|
||||
The glossary has eighteen terms, from abiotic factor to trophic level, each explained in one sentence. Section 1 has subheadings, one short sentence per line and a check question after each part. Compare with the original booklet: the content is the same, the form is not.
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
> The files sit in the agent's sandbox and can be downloaded through the links. They are markdown (.md): plain text with headings, which opens in any editor and pastes into Word. If you want a Word file straight away, put ".docx" instead of ".md" in point 4 of the instruction; the agent then makes it with a small program, the way the Test week planner makes an Excel file.
|
||||
|
||||
@@ -325,13 +345,13 @@ The glossary has nineteen terms, each explained in one sentence. Section 1 has s
|
||||
|
||||
## Step 7. Publish
|
||||
|
||||
1. Click **Publish update**. The button turns grey with **Published**.
|
||||
1. Click **Publish update**. "Action succeeded" appears and the button turns grey with **Published**.
|
||||
|
||||

|
||||

|
||||
|
||||
2. Click **Access point** for the webapp link.
|
||||
2. Click **Access Point** for the webapp link.
|
||||
|
||||

|
||||

|
||||
|
||||
Whoever gets the link can send their own booklet via the paperclip and gets the same report, the same files and the same search results. Conversations through the webapp are in **Logs** (see guide 4, step 8).
|
||||
|
||||
@@ -360,6 +380,7 @@ Whoever gets the link can send their own booklet via the paperclip and gets the
|
||||
| The student version leaves parts out | The sentence "Leave nothing out; simplify the form, not the content" is missing |
|
||||
| The agent asks for names of students | The rule "You name no students and do not ask for names" is missing |
|
||||
| The answer has not arrived after a minute | Normal for this agent: reading, writing three files and searching several times takes time. Wait until Stop responding is gone |
|
||||
| The steps end with shell_interrupt and no text follows | Beta behaviour: the agent did the work but did not write the answer. Ask "I did not get an answer, can you give me the report, the files and the resources?"; the answer then comes in seconds because the files are already in the sandbox |
|
||||
| The credits or the OpenAI costs rise fast | Every turn is 100,000 to 300,000 tokens. Test with one or two needs, not with all six |
|
||||
|
||||
---
|
||||
@@ -407,4 +428,4 @@ The booklet is invented and the six needs are an example. This chapter helps you
|
||||
|
||||
**Curriculum objectives.** Many national curriculum bodies publish their objectives through an API (the Dutch version of this guide uses the SLO open data API as a second tool). With that the agent can say for every booklet which objectives it covers. The schema follows the same pattern as the OER search, with a key in the Authorization field where required.
|
||||
|
||||
**From prototype to your school's platform.** Via **Export DSL** the agent travels as a file; the custom tool has to be recreated in the other account (Integrations → Swagger API as Tool, the same schema).
|
||||
**From prototype to your school's platform.** Via the three dots next to the agent's name (**Export DSL**) the agent travels as a file; the custom tool has to be recreated in the other account (Integrations → Swagger API as Tool, the same schema) and added again under TOOLS, and the booklet has to be uploaded again. The export of this agent is in the folder of this guide as `materials-check.dify.yml`.
|
||||
|
||||
@@ -0,0 +1,224 @@
|
||||
agent:
|
||||
package_ref: agent_1
|
||||
agent_packages:
|
||||
agent_1:
|
||||
metadata:
|
||||
description: Assesses learning material for accessibility for students with
|
||||
support needs (UDL), produces adapted versions for teacher and student and
|
||||
searches for open educational resources.
|
||||
icon: 🧸
|
||||
icon_background: '#F5F3FF'
|
||||
icon_type: emoji
|
||||
name: Materials check
|
||||
role: Accessibility coach for learning material
|
||||
omitted_assets:
|
||||
- hash: efd087ae784508de01e68ea9cf48e7278041ef77c7b63d65d6010b2b53ab8a2e
|
||||
kind: file
|
||||
mime_type: application/pdf
|
||||
name: lesson-booklet-ecology.pdf
|
||||
size: 77861
|
||||
schema_version: 1
|
||||
soul:
|
||||
app_features:
|
||||
file_upload:
|
||||
allowed_file_extensions:
|
||||
- JPG
|
||||
- JPEG
|
||||
- PNG
|
||||
- GIF
|
||||
- WEBP
|
||||
- SVG
|
||||
allowed_file_types:
|
||||
- document
|
||||
- image
|
||||
- audio
|
||||
- video
|
||||
allowed_file_upload_methods:
|
||||
- local_file
|
||||
- remote_url
|
||||
enabled: true
|
||||
image:
|
||||
enabled: true
|
||||
number_limits: 3
|
||||
opening_statement: null
|
||||
retriever_resource: null
|
||||
sensitive_word_avoidance: null
|
||||
speech_to_text: null
|
||||
suggested_questions: null
|
||||
suggested_questions_after_answer: null
|
||||
text_to_speech: null
|
||||
app_variables: []
|
||||
config_files:
|
||||
- file_id: ''
|
||||
file_kind: upload_file
|
||||
hash: efd087ae784508de01e68ea9cf48e7278041ef77c7b63d65d6010b2b53ab8a2e
|
||||
is_missing: true
|
||||
mime_type: application/pdf
|
||||
name: lesson-booklet-ecology.pdf
|
||||
size: 77861
|
||||
config_note: ''
|
||||
config_skills: []
|
||||
env:
|
||||
secret_refs: []
|
||||
variables: []
|
||||
human:
|
||||
contacts: []
|
||||
tools: []
|
||||
knowledge:
|
||||
sets: []
|
||||
memory:
|
||||
artifacts: []
|
||||
budget: null
|
||||
scope: null
|
||||
misc_legacy:
|
||||
file_upload:
|
||||
allowed_file_extensions:
|
||||
- JPG
|
||||
- JPEG
|
||||
- PNG
|
||||
- GIF
|
||||
- WEBP
|
||||
- SVG
|
||||
allowed_file_types:
|
||||
- document
|
||||
- image
|
||||
- audio
|
||||
- video
|
||||
allowed_file_upload_methods:
|
||||
- local_file
|
||||
- remote_url
|
||||
enabled: true
|
||||
image:
|
||||
enabled: true
|
||||
number_limits: 3
|
||||
opening_statement: null
|
||||
retriever_resource: null
|
||||
sensitive_word_avoidance: null
|
||||
speech_to_text: null
|
||||
suggested_questions: null
|
||||
suggested_questions_after_answer: null
|
||||
text_to_speech: null
|
||||
model:
|
||||
credential_ref: null
|
||||
model: gpt-5.4
|
||||
model_provider: langgenius/openai/openai
|
||||
model_settings:
|
||||
frequency_penalty: null
|
||||
max_tokens: null
|
||||
presence_penalty: null
|
||||
response_format: null
|
||||
stop: null
|
||||
temperature: null
|
||||
top_p: null
|
||||
plugin_id: langgenius/openai
|
||||
prompt:
|
||||
system_prompt: 'You are the Materials check: a coach who helps teachers make
|
||||
their learning material accessible for all students, including students
|
||||
with support needs. You work according to Universal Design for Learning
|
||||
(UDL): multiple ways of presenting information, multiple ways of showing
|
||||
what you have learned, and multiple ways of engaging. You address the teacher
|
||||
informally, businesslike and without jargon.
|
||||
|
||||
|
||||
This is how you work:
|
||||
|
||||
1. Ask for the learning material if it is not there yet. If a file is already
|
||||
in your files (lesson-booklet-ecology.pdf), use that if the teacher uploads
|
||||
nothing.
|
||||
|
||||
2. Ask which support needs occur in the class. Offer these choices: dyslexia,
|
||||
English as an additional language, developmental language disorder (DLD),
|
||||
difficulty with concentration or executive functions, gifted, visually impaired
|
||||
or screen reader. The teacher may choose several and may say "I do not know";
|
||||
then take dyslexia and EAL as the starting point.
|
||||
|
||||
3. Assess the material. Give a short report with a score per point (good,
|
||||
fair, weak) and one sentence of explanation: sentence length and reading
|
||||
level, technical terms and whether they are explained, structure and headings,
|
||||
prior knowledge that is tacitly expected, visual support (diagrams, drawings),
|
||||
variety in processing (only reading or also doing), and whether a student
|
||||
can choose how to show what they have learned.
|
||||
|
||||
4. Based on the chosen support needs, create files in your sandbox and deliver
|
||||
them:
|
||||
|
||||
- teacher-note.md: per chosen support need three concrete adjustments in
|
||||
the lesson (not in the text), plus what you changed in the text and why.
|
||||
|
||||
- student-version-accessible.md: the same content as the material, but with
|
||||
short sentences (at most 15 words), every technical term explained the first
|
||||
time it appears, a glossary at the top, subheadings per paragraph, and a
|
||||
check question after each section. Leave nothing out; simplify the form,
|
||||
not the content.
|
||||
|
||||
- student-version-extension.md, only if gifted is chosen: the same content
|
||||
with two deeper questions per section and a research task.
|
||||
|
||||
5. Search for open educational resources with the tool OER search. Join
|
||||
keywords with AND or OR and add inLanguage:en, for example: inLanguage:en
|
||||
AND (ecology OR "food web"). Do two or three searches with different key
|
||||
terms. From the results choose at most five resources that fit the topic
|
||||
and the level, and give per resource: title, web address, licence, and which
|
||||
support need this material helps with (for example: lots of images, short
|
||||
texts, exercises). Only name resources that really appeared in the search
|
||||
results; invent no resources.
|
||||
|
||||
6. End with the question whether the teacher wants to adjust one of the
|
||||
versions, or add another support need.
|
||||
|
||||
|
||||
Rules:
|
||||
|
||||
- You do not change the learning objectives or the content; you change the
|
||||
form.
|
||||
|
||||
- You name no students and do not ask for names. You work with needs, not
|
||||
with diagnoses of people.
|
||||
|
||||
- You give no medical or psychological advice and make no diagnoses.
|
||||
|
||||
- With open educational resources always state the licence and the source;
|
||||
with CC BY-SA an adaptation must be shared under the same licence, say so.
|
||||
|
||||
- You write all files in English, in markdown.'
|
||||
sandbox:
|
||||
config:
|
||||
cpu: null
|
||||
env: []
|
||||
image: null
|
||||
working_dir: null
|
||||
provider: null
|
||||
schema_version: 1
|
||||
tools:
|
||||
cli_tools: []
|
||||
dify_tools:
|
||||
- credential_ref: null
|
||||
credential_type: unauthorized
|
||||
description: null
|
||||
enabled: true
|
||||
name: null
|
||||
plugin_id: null
|
||||
provider: OER search
|
||||
provider_id: 202678cf-4ad5-4c69-8fc2-cce6f09cefc0
|
||||
provider_type: api
|
||||
runtime_parameters: {}
|
||||
tool_name: searchOpenResources
|
||||
workspace_skills: []
|
||||
app:
|
||||
description: Assesses learning material for accessibility for students with support
|
||||
needs (UDL), produces adapted versions for teacher and student and searches for
|
||||
open educational resources.
|
||||
icon: 🧸
|
||||
icon_background: '#F5F3FF'
|
||||
icon_type: emoji
|
||||
mode: agent
|
||||
name: Materials check
|
||||
use_icon_as_answer_icon: false
|
||||
dependencies:
|
||||
- current_identifier: null
|
||||
type: marketplace
|
||||
value:
|
||||
marketplace_plugin_unique_identifier: langgenius/openai:1.0.5@51583313a5988d5dca405063831ffeeacdc1f2e95f32a8c10b4c281ceef39ebb
|
||||
version: null
|
||||
kind: app
|
||||
version: 0.7.0
|
||||
|
Before Width: | Height: | Size: 49 KiB |
|
After Width: | Height: | Size: 60 KiB |
|
After Width: | Height: | Size: 61 KiB |
|
Before Width: | Height: | Size: 64 KiB |
|
After Width: | Height: | Size: 71 KiB |
|
Before Width: | Height: | Size: 77 KiB |
|
Before Width: | Height: | Size: 52 KiB |
|
After Width: | Height: | Size: 66 KiB |
|
Before Width: | Height: | Size: 82 KiB After Width: | Height: | Size: 76 KiB |
|
After Width: | Height: | Size: 66 KiB |
|
Before Width: | Height: | Size: 54 KiB |
|
After Width: | Height: | Size: 72 KiB |
|
Before Width: | Height: | Size: 76 KiB |
|
Before Width: | Height: | Size: 83 KiB |
|
After Width: | Height: | Size: 88 KiB |
|
After Width: | Height: | Size: 80 KiB |
|
Before Width: | Height: | Size: 51 KiB |
|
After Width: | Height: | Size: 48 KiB |
|
Before Width: | Height: | Size: 74 KiB |
|
Before Width: | Height: | Size: 135 KiB |
|
After Width: | Height: | Size: 88 KiB |
|
Before Width: | Height: | Size: 61 KiB |
|
After Width: | Height: | Size: 132 KiB |
|
After Width: | Height: | Size: 56 KiB |
|
Before Width: | Height: | Size: 81 KiB |
|
After Width: | Height: | Size: 78 KiB |
|
Before Width: | Height: | Size: 108 KiB |
|
Before Width: | Height: | Size: 125 KiB |
|
After Width: | Height: | Size: 78 KiB |
|
After Width: | Height: | Size: 73 KiB |
|
Before Width: | Height: | Size: 133 KiB |
|
Before Width: | Height: | Size: 149 KiB |
|
After Width: | Height: | Size: 100 KiB |
|
Before Width: | Height: | Size: 156 KiB |
|
After Width: | Height: | Size: 82 KiB |
|
Before Width: | Height: | Size: 159 KiB |
|
After Width: | Height: | Size: 88 KiB |
|
Before Width: | Height: | Size: 156 KiB |
|
After Width: | Height: | Size: 114 KiB |
|
After Width: | Height: | Size: 93 KiB |
|
Before Width: | Height: | Size: 146 KiB |
|
After Width: | Height: | Size: 93 KiB |
|
Before Width: | Height: | Size: 165 KiB |
|
After Width: | Height: | Size: 97 KiB |
|
Before Width: | Height: | Size: 159 KiB |
|
Before Width: | Height: | Size: 148 KiB |
|
After Width: | Height: | Size: 98 KiB |
|
After Width: | Height: | Size: 98 KiB |
|
Before Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 89 KiB |
|
Before Width: | Height: | Size: 64 KiB |
|
After Width: | Height: | Size: 105 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 113 KiB |
|
Before Width: | Height: | Size: 64 KiB |
|
After Width: | Height: | Size: 110 KiB |
|
Before Width: | Height: | Size: 58 KiB |
|
After Width: | Height: | Size: 116 KiB |
|
Before Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 114 KiB |
|
Before Width: | Height: | Size: 52 KiB |
|
After Width: | Height: | Size: 55 KiB |
|
Before Width: | Height: | Size: 67 KiB |
|
Before Width: | Height: | Size: 59 KiB |
|
Before Width: | Height: | Size: 158 KiB |
|
Before Width: | Height: | Size: 154 KiB |
@@ -3,8 +3,10 @@
|
||||
Dify changes fast. Every guide states on its title page on which day the screens were captured.
|
||||
This is what changed per release.
|
||||
|
||||
## 2026-09-21, guide 04 in English
|
||||
## 2026-09-21, guides 04 and 06 in English
|
||||
|
||||
- Guide 06 rebuilt in the Agent Console with the English interface, the OERSI search tool and the English agent Materials check (link in the README). The test shows a turn that ended without text and how to get the answer anyway.
|
||||
- Export of the agent as `06-inclusive-materials/materials-check.dify.yml`, with import instructions in the README.
|
||||
- Guide 04 rebuilt in the Agent Console with the English interface and the English agent Test week planner (link in the README). The test now shows the agent checking the student's request instead of refusing it; the text explains why the same prompt can do both.
|
||||
- Export of the agent as `04-agent-console/test-week-planner.dify.yml`, with import instructions in the README (the CSV must be uploaded again).
|
||||
- The Agent Console model screenshot in guide 02 replaced with the English one.
|
||||
|
||||
@@ -60,7 +60,7 @@ The apps are live to try out:
|
||||
- School news (03 and 07): https://udify.app/workflow/E2CHtVPKe3PLg7GF
|
||||
- Test week planner (04): https://udify.app/agent/x0yjuGoRIVdZaVZe
|
||||
- Transcription tool (05; Dutch build): https://udify.app/workflow/7N5dNg8fD9qXHA80
|
||||
- Materials check (06; Dutch build): https://udify.app/agent/lkWKedkSW2d3nqBV
|
||||
- Materials check (06): https://udify.app/agent/BIKJSPHj1JnCRzAp
|
||||
- Study coach biology (08): https://udify.app/chat/mgvtZPbDVAIp5gbh
|
||||
|
||||
## Installing the apps in your own Dify
|
||||
@@ -76,10 +76,11 @@ export. This is how you put it in your own workspace (online or self-hosted):
|
||||
first with the sample document from the same folder (guide 02, steps 1 to 5).
|
||||
5. **Publish**.
|
||||
|
||||
The files contain no keys. An Agent Console app (04) is imported the same way, but from the
|
||||
**Agents** page (**Create**, **Import DSL file**). Its export lists the uploaded file but does
|
||||
not contain it: after importing, upload the CSV from the guide's folder again under **FILES**.
|
||||
The Materials check (06) has no export yet; you build it with the guide.
|
||||
The files contain no keys. An Agent Console app (04, 06) is imported the same way, but from the
|
||||
**Agents** page (**Create**, **Import DSL file**). An agent export lists the uploaded file but
|
||||
does not contain it: after importing, upload the CSV or PDF from the guide's folder again under
|
||||
**FILES**. For 06, first create the custom tool (Integrations, Swagger API as Tool, schema from
|
||||
`oer-search.openapi.json`) and add it under **TOOLS**.
|
||||
|
||||
| File | Guide |
|
||||
| --- | --- |
|
||||
@@ -89,6 +90,7 @@ The Materials check (06) has no export yet; you build it with the guide.
|
||||
| 03-school-communication/school-news.dify.yml | 03 and 07 (version 2, with Checker and Gatekeeper) |
|
||||
| 04-agent-console/test-week-planner.dify.yml | 04 (Agent Console; upload exam-timetable-example.csv again) |
|
||||
| 05-transcription-tool/transcription-tool.dify.yml | 05 |
|
||||
| 06-inclusive-materials/materials-check.dify.yml | 06 (Agent Console; recreate the OER search tool, upload the PDF again) |
|
||||
| 08-chatflow-study-coach/study-coach-biology.dify.yml | 08 |
|
||||
|
||||
## Building or editing yourself
|
||||
|
||||