DeepSeek Harness: first impression
DeepSeek Harness has been out for some time. Finally I just gave it my first try, and it looks pretty good.
Last week, I downloaded the Desktop, and gave it a pretty vague prompt. Recently I am rewriting this blog using Astro. I have written the layout for the home page manually. I haven’t done anything for the posts list and post detail layouts. I haven’t explained what needs to be done in detail, just told it to migrate the website from hugo to Astro. I expected it to figure out the living example and current behaviour by itself. On top of that, I gave it an extra task, which looks a bit confusing, to not write a single line of CSS. I wanted to write Tailwind CSS later by hand because Tailwind CSS is my next planned practice.
When running this prompt, there are three modes: workspace read, workspace write and full access. Workspace write is the default option. I kept this mode, and the experience was quite similar to Claude Code auto mode. I haven’t checked its architecture yet, still not sure if there is also a classifier behind the scene.
During the run (and after the run), there is a trajectory tab to audit every request and response DeepSeek Harness made with the LLM provider. The experience is a similar to inspecting network request in Chrome DevTools. This is more convenient to audit those AI requests, which appears to be timely in relation to Claude Code’s recent news about leaking user email in the user agent header .
In terms of the outcome, the quality is really high. It took around 15 minutes and 20 millions token (equals to 1.04 CNY in off-peak hours), and truthfully replicated the structure of my current website as expected, including unspoken RSS feature. I also briefly read the generated Astro code. It is quite clean and structured.
It also exhibits some points I would like to optimise further; for example, my
carousel (the image slider above) is a custom hugo shortcode. I would expect it
is also a reusable Astro component. However, it was hardcoded in every content
markdown as div with special class. This is a reasonable trade-off with pure
markdown file. In my future eventual design, I would probably choose MDX + Astro
component. This is not a part of my prompt, so I think it’s good enough for this
result. Claude Code is probably still better right now because according to my
experience, I imagine Claude Code would present MDX + Astro component as an
option before it starts any work. Perhaps DeepSeek Harness will know me better
when it knows better about me, or perhaps this is an improvement opportunity.
This is a start of my DeepSeek Harness trial. It looks pretty decent, and now I am interested to figure out how it’s put together. This will be one of my up-runners in my investigation and learning list. In the same time, I will try it more frequently. Although it spends some money, I think I am going to move from OpenCode to DeepSeek Harness now given its easy observability and high quality of work.