You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: apps/web/src/data/sheet/module-9.ts
+180-5Lines changed: 180 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -2,11 +2,186 @@ import { SheetModule } from "./types";
2
2
3
3
exportconstmodule9: SheetModule={
4
4
id: "module-9",
5
-
name: "Live fix/implement the issue - 1",
5
+
name: "Continuing contribution from module 8 - understanding issue closure",
6
6
docContent: `
7
-
<h1>Live fix/implement the issue - 1</h1>
8
-
<p>First live session on fixing and implementing an issue in an OPEN SOURCE project.</p>
7
+
<h1>module 9: extending the browser-use contribution</h1>
8
+
9
+
<p><strong>note:</strong> as this module is implementation focused, try watching the <a href="https://youtu.be/hRMtIB-pkeE" target="_blank" rel="noopener noreferrer" style="color: #9455f4; text-decoration: underline;">video</a> so that you can have better understanding.</p>
10
+
11
+
<p>in this module we're continuing the contribution we started in module 8. in module 8 we began working on an issue in the browser-use repo, and here we'll extend that work.</p>
12
+
13
+
<p><strong>note:</strong> if you haven't watched module 7 and module 8, you should do that first — otherwise nothing in this module will make sense.</p>
14
+
15
+
<h3 style="margin-top: 40px; margin-bottom: 20px; color: #9455f4;">checking the issue status</h3>
16
+
17
+
<p>so let's open the issue we were working on. it's already closed.</p>
18
+
19
+
<p>four days ago, in module 8, we commented that we weren't able to reproduce the exact error described in the issue.</p>
20
+
21
+
<p>now, someone else replied saying that when the error triggers, the whole system crashes and floods the terminal with a huge amount of errors, which makes it impossible to see the real root cause.</p>
22
+
23
+
<p>he didn't attach screenshots, so we still didn't have full clarity.</p>
24
+
25
+
<p>after that, the original issue creator replied and tagged me. he shared screenshots and explained the real behavior.</p>
26
+
27
+
<h3 style="margin-top: 40px; margin-bottom: 20px; color: #9455f4;">understanding what the issue creator meant</h3>
28
+
29
+
<p>the contributor said:</p>
30
+
31
+
<p><em>when the deepseek model returns a response without the action field, the error is added to the agent history, but the LLM doesn't react to that error.</em></p>
32
+
33
+
<p>so even if the agent says "hey deepseek, action field is missing", deepseek still keeps responding without the action field.</p>
34
+
35
+
<p><strong>this creates a repeating loop of failures.</strong></p>
36
+
37
+
<p>the contributor also fixed a local FILE-URL security issue for himself, but clarified that the core bug has nothing to do with files — it's purely about deepseek not returning the required field.</p>
<li style="margin-bottom: 8px;">deepseek simply doesn't follow the schema</li>
80
+
<li style="margin-bottom: 8px;">so this isn't a browser-use bug, it's a model behavior problem</li>
81
+
</ul>
82
+
83
+
<p>the library already provides a built-in solution:</p>
84
+
85
+
<p style="margin-left: 24px;"><strong>extend_system_message</strong> — a system-prompt extension that lets you explicitly tell the model how to format its output.</p>
86
+
87
+
<p>so rather than patch browser-use for a model-specific issue, the correct fix is:</p>
88
+
89
+
<p style="margin-left: 24px;">use the system prompt extension to force deepseek to follow the required schema.</p>
90
+
91
+
<p><strong>that's why the maintainers didn't want a PR for this.</strong></p>
92
+
93
+
<h3 style="margin-top: 40px; margin-bottom: 20px; color: #9455f4;">lessons from the PR attempt by someone else</h3>
94
+
95
+
<p>another contributor opened a PR to "fix" this issue. the PR wasn't merged, and here are the mistakes worth learning from:</p>
<strong>didn't use proper PR formatting</strong> — he didn't use "fixes #<issue-number>" or "addresses #<issue-number>", so Github couldn't auto-close anything
<strong>poor commit messages</strong> — commit messages should follow good conventions like "fix: missing action field validation" instead of random unclear messages
<p><code>extend_system_message</code> lets you ADD extra instructions to the LLM without replacing the default system prompt.</p>
129
+
130
+
<p><strong>example:</strong></p>
131
+
132
+
<p style="margin-left: 24px;">tell the model explicitly — "always include an action field in your response."</p>
133
+
134
+
<p>this is like the "additional note" option in food-delivery apps: the system already knows your order, but you add a custom instruction like "please bring cutlery" or "don't ring the bell".</p>
135
+
136
+
<p>same vibe here.</p>
137
+
138
+
<p>so instead of hacking the agent code, you use the built-in system message extension to guide the model.</p>
0 commit comments