Guide 04 rebuilt in English: Test week planner, English screenshots, DSL export
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@@ -343,7 +343,7 @@ We looked at that new console on 20 September 2026 and deliberately did not choo
|
||||
- there is no link to a knowledge base; the agent reads loose files in a sandbox environment;
|
||||
- the page does not render stably yet and the texts switch between languages.
|
||||
|
||||

|
||||

|
||||
|
||||
For a workshop with sandbox accounts the Agent app in Studio is the reliable route. What you learn in it, instruction, knowledge base, testing and publishing, still applies in the new console; only the buttons move. Guides 4 and 6 show the Agent Console in action.
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 64 KiB |
@@ -2,7 +2,7 @@
|
||||
FOR THE EDITOR
|
||||
|
||||
Guide 4: Agent Console (beta), the Test week planner. Screenshots in screenshots/, captured on
|
||||
20 September 2026 (Dify cloud, Dutch build of the same agent).
|
||||
20 and 21 September 2026 (Dify cloud, English interface).
|
||||
|
||||
Convert to HTML, PDF and Word: python3 build.py
|
||||
(python-markdown, google-chrome and libreoffice; layout and logo in _tools/build_guide.py)
|
||||
@@ -15,19 +15,20 @@ Formatting conventions (see also README.md):
|
||||
- Blockquote starting with **Your choice** = a choice for the participant (green box)
|
||||
|
||||
Sample file: exam-timetable-example.csv (fictional timetable, 12 to 16 October 2026, in this folder).
|
||||
Published example app (Dutch): https://udify.app/agent/rKoqw8rbmp0IF86Q
|
||||
Published example app: https://udify.app/agent/x0yjuGoRIVdZaVZe
|
||||
DSL export: test-week-planner.dify.yml (the CSV is not included in an agent export; upload it again after importing).
|
||||
-->
|
||||
|
||||
# Building in the Agent Console: the Test week planner
|
||||
|
||||
**Guide 4 for the AI Agents workshop**
|
||||
LeX Consultancy B.V. · 20 September 2026
|
||||
LeX Consultancy B.V. · 21 September 2026
|
||||
|
||||
You build an agent that makes a personal study plan for the test week together with a student. The agent reads the exam timetable, asks when the student can study and how hard the subjects are, and then delivers a plan in the chat plus two files: an Excel overview and a calendar file for the phone.
|
||||
|
||||
This is a different kind of building from guides 1, 3 and 5. There you put the steps in a workflow yourself, one after another. In the **Agent Console** you only give an instruction, files and tools; the agent decides for itself how to tackle the question, writes a small program if needed and creates files in its own Linux sandbox. That is the "ReAct" pattern from the Design patterns appendix: look, choose, act, look again.
|
||||
|
||||
This guide follows the cloud version of Dify as it looked on 20 September 2026. The Agent Console is **beta**: screens, buttons and behaviour change faster than in the rest of Dify. If your screen differs, follow what you see, not what is written here. The screenshots show the Dutch build of this agent (Dutch prompt, Dutch conversation); the screens and clicks are the same.
|
||||
This guide follows the cloud version of Dify as it looked on 21 September 2026. The Agent Console is **beta**: screens, buttons and behaviour change faster than in the rest of Dify. If your screen differs, follow what you see, not what is written here.
|
||||
|
||||
**How to read this guide**
|
||||
|
||||
@@ -93,7 +94,7 @@ In short: what you build here is a working prototype to learn how an agent works
|
||||
|
||||
1. Click **Agents** in the left-hand menu.
|
||||
|
||||

|
||||

|
||||
|
||||
2. Click **Create** at the top right and choose **Create from Blank**.
|
||||
|
||||
@@ -101,7 +102,7 @@ In short: what you build here is a working prototype to learn how an agent works
|
||||
|
||||
3. The **Create agent** window appears.
|
||||
|
||||

|
||||

|
||||
|
||||
4. Fill in the fields.
|
||||
|
||||
@@ -111,13 +112,13 @@ In short: what you build here is a working prototype to learn how an agent works
|
||||
| Role | `Study planner for lower secondary students` |
|
||||
| Description | `Makes a personal study plan for the test week together with the student: spreads the material over the available moments and delivers the plan as Excel and as a calendar file.` |
|
||||
|
||||

|
||||

|
||||
|
||||
5. Click **Create**.
|
||||
|
||||
You arrive on the **Configure** screen. On the left is the agent's form (model, prompt, skills, files, tools), on the right a chat window with two tabs: **BUILD** and **PREVIEW**.
|
||||
|
||||

|
||||

|
||||
|
||||
> On the right it says "Build your agent via chat": you can tell the agent in plain language what it should do and Dify fills in the form on the left. That works, but it costs credits for every message and you know less well what is in your instruction. In this guide you fill in the form yourself; that is more precise and free. The build chat is handy later when you want something adjusted ("make the tone friendlier").
|
||||
|
||||
@@ -129,15 +130,15 @@ At the top it says **gpt-5** with an orange label **Incompatible**: that model c
|
||||
|
||||
1. Click the model field. A list of models opens.
|
||||
|
||||

|
||||

|
||||
|
||||
2. Type `gpt-5.4` in the search field.
|
||||
|
||||

|
||||

|
||||
|
||||
3. Click **gpt-5.4** (without suffix). The Incompatible label disappears.
|
||||
|
||||

|
||||

|
||||
|
||||
> Via **Show incompatible models** at the bottom of the list you see which models do not work. You can choose such a model, but the agent will not run. If you type `mini` in the search field, you only get Gemini models: the gpt-5-mini from the other guides is not available here.
|
||||
|
||||
@@ -176,7 +177,7 @@ What you deliver:
|
||||
You give no grades, judgements or predictions about how the tests will go. You keep nothing about the student after the conversation.
|
||||
```
|
||||
|
||||

|
||||

|
||||
|
||||
The instruction has four parts, and that order is no accident: **who you are**, **what you need** (and in which order you ask for it), **the rules** the plan must meet, and **what you deliver**. The last paragraph is the boundaries. An agent without rules also makes a plan, but a random one.
|
||||
|
||||
@@ -192,19 +193,19 @@ The form saves itself; at the bottom you see "Saved ... ago".
|
||||
|
||||
1. Scroll down in the left-hand panel. You see three sections: **SKILLS**, **FILES** and **TOOLS**, each with an **Add** button.
|
||||
|
||||

|
||||

|
||||
|
||||
2. Under **FILES** click **Add**. The **Upload file** window appears.
|
||||
|
||||

|
||||

|
||||
|
||||
3. Click **browse** and choose `exam-timetable-example.csv`, or drag the file into the box.
|
||||
|
||||

|
||||

|
||||
|
||||
4. Click **Upload**. The file is now under FILES and "File uploaded" appears at the top right.
|
||||
|
||||

|
||||

|
||||
|
||||
Files in this section are ready for the agent in its sandbox. It reads them itself when it needs them; in the instruction you only need to refer to them, as in point 1 of "What you need".
|
||||
|
||||
@@ -226,13 +227,11 @@ The agent needs to know what day it is today to plan "from today until the last
|
||||
|
||||
3. Click **Add all** and close the list with Escape. CurrentTime is now under TOOLS.
|
||||
|
||||

|
||||

|
||||
|
||||
> More tools is not better. Every tool you add is one the agent can also use, and every tool costs a bit of the model's attention. Add only what the task needs. For the planner that is one tool.
|
||||
|
||||
Also have a look at **SKILLS**: click **Add** there and you see one option, **Upload package**, a zip file with a SKILL.md inside. Skills are reusable work instructions you can put into several agents. This planner does not need them; close the menu with Escape.
|
||||
|
||||

|
||||
Also have a look at **SKILLS**: click **Add** there and a small popover appears with one option, **Upload skill.zip**, a zip file with a SKILL.md inside. Skills are reusable work instructions you can put into several agents. This planner does not need them; close the popover by clicking next to it.
|
||||
|
||||
---
|
||||
|
||||
@@ -240,7 +239,7 @@ Also have a look at **SKILLS**: click **Add** there and you see one option, **Up
|
||||
|
||||
1. Click **PREVIEW** at the top right of the chat window. The window empties and shows "Run the agent as a finished chat, exactly as people will experience it after publishing".
|
||||
|
||||

|
||||

|
||||
|
||||
2. Type the first message and press Enter.
|
||||
|
||||
@@ -248,9 +247,9 @@ Also have a look at **SKILLS**: click **Add** there and you see one option, **Up
|
||||
| --- | --- |
|
||||
| 1 | `Hi, I want a study plan for the test week.` |
|
||||
|
||||
The agent reads the timetable from the file, summarises it and asks its first question. Above the answer it says "Thinking · 8 s": that is how long the agent worked before answering.
|
||||
The agent reads the timetable from the file, summarises it and asks its first question. Above the answer it says "Thinking · 9.06s": that is how long the agent worked before answering.
|
||||
|
||||

|
||||

|
||||
|
||||
3. Answer the question about study moments.
|
||||
|
||||
@@ -260,7 +259,7 @@ The agent reads the timetable from the file, summarises it and asks its first qu
|
||||
|
||||
The agent repeats the moments per day and asks the third question: how hard each subject is.
|
||||
|
||||

|
||||

|
||||
|
||||
4. Answer the question about the subjects.
|
||||
|
||||
@@ -268,21 +267,21 @@ The agent repeats the moments per day and asks the third question: how hard each
|
||||
| --- | --- |
|
||||
| 3 | `English easy, maths hard, French easy, history average, biology average, German hard.` |
|
||||
|
||||
Now the agent gets to work, and that takes half a minute. You see the plan per day appear, then "Files:" with only study-plan.xlsx at first, and at the bottom the **Stop responding** button while it is busy.
|
||||
Now the agent gets to work, and that takes about a minute. Under "Thinking" lines such as **Ran commands** and **shell_wait** appear one by one: the agent is working in its sandbox. At the bottom is the **Stop responding** button while it is busy.
|
||||
|
||||

|
||||

|
||||
|
||||
5. Wait until the Stop responding button is gone. Below the plan there are now two blue links, **study-plan.xlsx** and **study-plan.ics**, and the closing question "Do you want to move anything?".
|
||||
5. Wait until the Stop responding button is gone. The answer starts with two blue links, **study-plan.xlsx** and **study-plan.ics**, then the plan per day, and it ends with the closing question "Would you like to move anything?".
|
||||
|
||||

|
||||

|
||||
|
||||
6. Click **Thinking · 31 s** above the answer. Two lines **Commands executed** unfold: those are the moments the agent did something in its sandbox.
|
||||
6. Click **Thinking · 55.45s** above the answer. Lines **Ran commands** and **shell_wait** unfold: those are the moments the agent did something in its sandbox.
|
||||
|
||||

|
||||

|
||||
|
||||
7. Click the first **Commands executed**. You see the command the agent wrote itself: a Python program (`make_plan.py`) containing the timetable, the study moments and the rules, which produces the Excel file and the calendar file.
|
||||
7. Click the first **Ran commands**. Under REQUEST you see the command the agent wrote itself: a Python program (`make_plan.py`) containing the timetable, the study moments and the rules, which produces the Excel file and the calendar file.
|
||||
|
||||

|
||||

|
||||
|
||||
This is the difference from a workflow. You never said "write a program". The agent worked out for itself that making an Excel file is easiest with a small program, wrote it, ran it, and gave you the files back. If it goes wrong, it tries again. That is also why it costs more and takes longer.
|
||||
|
||||
@@ -292,27 +291,31 @@ This is the difference from a workflow. You never said "write a program". The ag
|
||||
| --- | --- |
|
||||
| 4 | `On Tuesday, Wednesday and Thursday I have nothing from 16:00 to 16:40. Can you put maths and German there once more?` |
|
||||
|
||||
The agent does not just do it: it points out that Tuesday is the evening before history, Wednesday the evening before biology, and that according to the rules only revision of that subject belongs there. It proposes an alternative and asks what you want.
|
||||
What happens next differs from run to run, and that is the lesson. In an earlier run the agent talked back: Tuesday is the evening before history, Wednesday the evening before biology, and according to the rules only revision belongs there. In the run shown here it first checked what you meant (which dates, one extra block each) and, after "Yes, exactly", simply did it: it replaced the revision blocks on Tuesday and Wednesday with maths and German and regenerated both files.
|
||||
|
||||

|
||||

|
||||
|
||||
> **Your choice: how strict.** The agent talks back here because of the rule "The evening before a test: revision only". If you want the student to always have the last word, add: "If the student wants something other than the rules, explain once why the rule exists and then do what the student asks."
|
||||

|
||||
|
||||
Both are defensible, and the same prompt gave both. An agent interprets its rules; it does not execute them like a program. If a rule must always hold, say so in so many words.
|
||||
|
||||
> **Your choice: how strict.** The rule "The evening before a test: revision only" is in the prompt, but the student's request won here. If the rule must hold, add: "These rules are not negotiable. If the student asks for something else, explain why the rule exists and offer an alternative within the rules." If you want the student to always have the last word, add the opposite: "If the student wants something other than the rules, explain once why the rule exists and then do what the student asks."
|
||||
|
||||
---
|
||||
|
||||
## Step 7. Publish
|
||||
|
||||
1. Click **Publish update** at the bottom of the left-hand panel. The button turns grey with a tick **Published**, and "Action succeeded" appears at the top right.
|
||||
1. Click **Publish update** at the bottom of the left-hand panel. The button turns grey with a tick **Published**, and the status line says "Up to date · Published a few seconds ago".
|
||||
|
||||

|
||||

|
||||
|
||||
2. Click **Access point** in the left-hand menu. You see the **Webapp** with the **Access URL** and the **Backend service API**.
|
||||
2. Click **Access Point** in the left-hand menu. You see the **Web App** with the **Access URL** and the **Backend Service API**.
|
||||
|
||||

|
||||

|
||||
|
||||
3. Click **Open** behind the URL. The webapp opens in a new tab: an empty chat window with the agent's name.
|
||||
|
||||

|
||||

|
||||
|
||||
4. Type a message to check that the published version works.
|
||||
|
||||
@@ -320,7 +323,7 @@ The agent does not just do it: it points out that Tuesday is the evening before
|
||||
| --- | --- |
|
||||
| 1 | `Hi, can you help me plan?` |
|
||||
|
||||

|
||||

|
||||
|
||||
> If you change the instruction later, the webapp only changes after you click **Publish update** again. Until then it says "Unpublished changes" at the bottom.
|
||||
|
||||
@@ -330,11 +333,11 @@ The agent does not just do it: it points out that Tuesday is the evening before
|
||||
|
||||
1. Click **Logs** in the left-hand menu. Every conversation through the webapp is listed here, with the first sentence as title, the number of messages and the time.
|
||||
|
||||

|
||||

|
||||
|
||||
2. Click **Monitoring** for the counters: number of messages, active users, average length of a conversation and the speed of the model.
|
||||
|
||||

|
||||

|
||||
|
||||
> Conversations from the PREVIEW tab are not in Logs; only conversations through the webapp or the API. If you want to see a test conversation again, do the test in the webapp.
|
||||
|
||||
@@ -358,8 +361,9 @@ The agent does not just do it: it points out that Tuesday is the evening before
|
||||
| Label **Incompatible** next to the model | This model cannot drive the Agent Console. Choose gpt-5.4 or higher, or a Gemini model (step 2) |
|
||||
| The agent asks all questions at once | The sentence "Ask these questions one at a time" is missing from the instruction |
|
||||
| The agent asks for the timetable while the file is there | The file name in the instruction does not match the uploaded file, or the file is not there yet (step 4) |
|
||||
| The plan puts blocks at moments you did not give, or leaves study moments unused | The model interprets the rules; always check the plan against the rules (see also Make it yours). In our test 40 minutes stayed unused on Tuesday, Wednesday and Thursday because the rule "evening before the test: revision only" clashes with "hard subjects get twice as much time" |
|
||||
| The plan puts blocks at moments you did not give, or leaves study moments unused | The model interprets the rules; always check the plan against the rules (see also Make it yours). In our test the agent used 16:00 to 17:30 of the 16:00 to 18:00 you gave, so 30 minutes stayed unused each day |
|
||||
| Only study-plan.xlsx appears, no .ics | The agent is still busy; wait until Stop responding is gone. If the file does not come, ask "Also make the ics file" |
|
||||
| The agent does what the student asks against a rule | Normal: the rules are text the model interprets, not code. Make the rule explicit ("not negotiable") or accept it, see the green box at step 6 |
|
||||
| An empty answer bubble that stays | Beta behaviour: the agent stopped without text. Click the "retry" arrow under the message, or start a new conversation |
|
||||
| The conversation in PREVIEW is not in Logs | Normal; only webapp and API conversations are logged (step 8) |
|
||||
| The credits drop fast | Every conversation costs tens of thousands of tokens. Set OpenAI to Usage priority: API key, or test less often |
|
||||
@@ -408,4 +412,4 @@ The timetable is invented and the planning rules are an example. This chapter he
|
||||
|
||||
**Beta.** The Agent Console can change from one week to the next: other buttons, other models that are or are not compatible, other behaviour with files. Keep the prompt outside Dify as well (it is in this guide), so you can recreate the agent in five minutes.
|
||||
|
||||
**From prototype to your school environment.** Via the three dots on the agent's card (**Export DSL**) you save the agent as a file and import it into another Dify account via **Create** → **Import DSL file**. The model has to be reconnected there; files and tools come along.
|
||||
**From prototype to your school environment.** Via the three dots next to the agent's name (**Export DSL**) you save the agent as a file and import it into another Dify account via **Create** → **Import DSL file**. The model has to be reconnected there and the file under FILES has to be uploaded again (an agent export lists it but does not contain it); the prompt and the tools come along. The export of this agent is in the folder of this guide as `test-week-planner.dify.yml`.
|
||||
|
||||
|
After Width: | Height: | Size: 57 KiB |
|
Before Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 62 KiB |
|
Before Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 47 KiB |
|
Before Width: | Height: | Size: 48 KiB |
|
After Width: | Height: | Size: 54 KiB |
|
After Width: | Height: | Size: 62 KiB |
|
Before Width: | Height: | Size: 65 KiB |
|
After Width: | Height: | Size: 64 KiB |
|
Before Width: | Height: | Size: 63 KiB |
|
After Width: | Height: | Size: 66 KiB |
|
Before Width: | Height: | Size: 71 KiB |
|
After Width: | Height: | Size: 61 KiB |
|
Before Width: | Height: | Size: 64 KiB |
|
After Width: | Height: | Size: 126 KiB |
|
Before Width: | Height: | Size: 115 KiB |
|
Before Width: | Height: | Size: 80 KiB |
|
After Width: | Height: | Size: 70 KiB |
|
Before Width: | Height: | Size: 56 KiB |
|
After Width: | Height: | Size: 49 KiB |
|
Before Width: | Height: | Size: 59 KiB |
|
After Width: | Height: | Size: 52 KiB |
|
Before Width: | Height: | Size: 82 KiB |
|
After Width: | Height: | Size: 74 KiB |
|
Before Width: | Height: | Size: 92 KiB After Width: | Height: | Size: 82 KiB |
|
Before Width: | Height: | Size: 91 KiB After Width: | Height: | Size: 83 KiB |
|
After Width: | Height: | Size: 76 KiB |
|
Before Width: | Height: | Size: 85 KiB |
|
Before Width: | Height: | Size: 88 KiB |
|
After Width: | Height: | Size: 71 KiB |
|
Before Width: | Height: | Size: 82 KiB |
|
Before Width: | Height: | Size: 106 KiB |
|
After Width: | Height: | Size: 94 KiB |
|
After Width: | Height: | Size: 99 KiB |
|
Before Width: | Height: | Size: 97 KiB |
|
Before Width: | Height: | Size: 101 KiB |
|
After Width: | Height: | Size: 79 KiB |
|
After Width: | Height: | Size: 82 KiB |
|
Before Width: | Height: | Size: 101 KiB |
|
Before Width: | Height: | Size: 109 KiB |
|
After Width: | Height: | Size: 81 KiB |
|
After Width: | Height: | Size: 100 KiB |
|
Before Width: | Height: | Size: 140 KiB |
|
After Width: | Height: | Size: 88 KiB |
|
Before Width: | Height: | Size: 119 KiB |
|
Before Width: | Height: | Size: 118 KiB |
|
After Width: | Height: | Size: 88 KiB |
|
After Width: | Height: | Size: 87 KiB |
|
Before Width: | Height: | Size: 55 KiB |
|
After Width: | Height: | Size: 55 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 60 KiB |
|
Before Width: | Height: | Size: 42 KiB |
|
After Width: | Height: | Size: 54 KiB |
|
After Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 50 KiB |
|
After Width: | Height: | Size: 47 KiB |
@@ -0,0 +1,249 @@
|
||||
agent:
|
||||
package_ref: agent_1
|
||||
agent_packages:
|
||||
agent_1:
|
||||
metadata:
|
||||
description: 'Makes a personal study plan for the test week together with the
|
||||
student: spreads the material over the available moments and delivers the
|
||||
plan as Excel and as a calendar file.'
|
||||
icon: 🧸
|
||||
icon_background: '#F5F3FF'
|
||||
icon_type: emoji
|
||||
name: Test week planner
|
||||
role: Study planner for lower secondary students
|
||||
omitted_assets:
|
||||
- hash: 1fe4b6c220e49b58a9fac63231711de8deca37fcd1a1b57dd333bf960c9c7129
|
||||
kind: file
|
||||
mime_type: text/csv
|
||||
name: exam-timetable-example.csv
|
||||
size: 590
|
||||
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: 1fe4b6c220e49b58a9fac63231711de8deca37fcd1a1b57dd333bf960c9c7129
|
||||
is_missing: true
|
||||
mime_type: text/csv
|
||||
name: exam-timetable-example.csv
|
||||
size: 590
|
||||
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 Test week planner for students in lower secondary
|
||||
school. You help a student make a personal study plan for the test week.
|
||||
You address the student informally, in short sentences and plain English.
|
||||
|
||||
|
||||
What you need from the student:
|
||||
|
||||
1. The exam timetable. If it is already in your files (exam-timetable-example.csv),
|
||||
use that and summarise it briefly; otherwise ask for it.
|
||||
|
||||
2. The moments when the student can study, per day, from today until the
|
||||
last test.
|
||||
|
||||
3. Per subject how hard the student finds it: easy, average or hard.
|
||||
|
||||
|
||||
Ask these questions one at a time, not all at once. Only start planning
|
||||
when you have all three.
|
||||
|
||||
|
||||
Planning rules:
|
||||
|
||||
- Hard subjects get about twice as much time as easy subjects.
|
||||
|
||||
- Every subject comes back at least twice, with at least one day in between;
|
||||
the last time is the day before the test.
|
||||
|
||||
- A study block lasts 25 to 45 minutes, followed by a 10-minute break. Never
|
||||
more than three blocks in a row.
|
||||
|
||||
- The evening before a test: revision only, no new material.
|
||||
|
||||
- Plan nothing at moments the student has not given.
|
||||
|
||||
|
||||
What you deliver:
|
||||
|
||||
- An overview in the chat: per day the blocks with subject, time and exactly
|
||||
what is studied (which chapters or sections).
|
||||
|
||||
- Two files you create in the sandbox: study-plan.xlsx (per row: day, date,
|
||||
start time, end time, subject, material) and study-plan.ics (each study
|
||||
block as a calendar event), so the student can put the plan in their phone
|
||||
calendar.
|
||||
|
||||
- End with the question whether the student wants to move anything.
|
||||
|
||||
|
||||
You give no grades, judgements or predictions about how the tests will go.
|
||||
You keep nothing about the student after the conversation.'
|
||||
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: time
|
||||
provider_id: time
|
||||
provider_type: builtin
|
||||
runtime_parameters: {}
|
||||
tool_name: current_time
|
||||
- credential_ref: null
|
||||
credential_type: unauthorized
|
||||
description: null
|
||||
enabled: true
|
||||
name: null
|
||||
plugin_id: null
|
||||
provider: time
|
||||
provider_id: time
|
||||
provider_type: builtin
|
||||
runtime_parameters: {}
|
||||
tool_name: localtime_to_timestamp
|
||||
- credential_ref: null
|
||||
credential_type: unauthorized
|
||||
description: null
|
||||
enabled: true
|
||||
name: null
|
||||
plugin_id: null
|
||||
provider: time
|
||||
provider_id: time
|
||||
provider_type: builtin
|
||||
runtime_parameters: {}
|
||||
tool_name: timestamp_to_localtime
|
||||
- credential_ref: null
|
||||
credential_type: unauthorized
|
||||
description: null
|
||||
enabled: true
|
||||
name: null
|
||||
plugin_id: null
|
||||
provider: time
|
||||
provider_id: time
|
||||
provider_type: builtin
|
||||
runtime_parameters: {}
|
||||
tool_name: timezone_conversion
|
||||
- credential_ref: null
|
||||
credential_type: unauthorized
|
||||
description: null
|
||||
enabled: true
|
||||
name: null
|
||||
plugin_id: null
|
||||
provider: time
|
||||
provider_id: time
|
||||
provider_type: builtin
|
||||
runtime_parameters: {}
|
||||
tool_name: weekday
|
||||
workspace_skills: []
|
||||
app:
|
||||
description: 'Makes a personal study plan for the test week together with the student:
|
||||
spreads the material over the available moments and delivers the plan as Excel
|
||||
and as a calendar file.'
|
||||
icon: 🧸
|
||||
icon_background: '#F5F3FF'
|
||||
icon_type: emoji
|
||||
mode: agent
|
||||
name: Test week planner
|
||||
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
|
||||
@@ -3,6 +3,12 @@
|
||||
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
|
||||
|
||||
- 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.
|
||||
|
||||
## 2026-09-20, English screenshots
|
||||
|
||||
- Guides 01, 02, 03, 07 and 08 rebuilt with the English Dify interface and English apps (Text at level, School guide assistant, Parent letter assistant, School news with checks, Study coach biology; links in the README). The other guides follow.
|
||||
|
||||
@@ -58,7 +58,7 @@ The apps are live to try out:
|
||||
- School guide assistant (02, with the Reception mode from 03): https://udify.app/chat/6Y6WnP0m5Z3jSHRs
|
||||
- Parent letter assistant (03): https://udify.app/chat/oB2H2mLaoKR6d4IC
|
||||
- School news (03 and 07): https://udify.app/workflow/E2CHtVPKe3PLg7GF
|
||||
- Test week planner (04; Dutch build): https://udify.app/agent/rKoqw8rbmp0IF86Q
|
||||
- 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
|
||||
- Study coach biology (08): https://udify.app/chat/mgvtZPbDVAIp5gbh
|
||||
@@ -76,8 +76,10 @@ 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. The Agent Console apps of 04 and 06 have no export (yet); you build
|
||||
those with the guide.
|
||||
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.
|
||||
|
||||
| File | Guide |
|
||||
| --- | --- |
|
||||
@@ -85,6 +87,7 @@ those with the guide.
|
||||
| 02-agent-knowledge-base/school-guide-assistant.dify.yml | 02 (including the Reception mode from 03) |
|
||||
| 03-school-communication/parent-letter-assistant.dify.yml | 03 |
|
||||
| 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 |
|
||||
| 08-chatflow-study-coach/study-coach-biology.dify.yml | 08 |
|
||||
|
||||
|
||||