Deepseek Harness 2.0 (Desktop App, Creator Mode): RIP Codex! The BEST OPEN Harness YET!?
Read the Portuguese translation →
Author: AICodeKing · Watch on YouTube
Video authored by the channel shown, not by IANIA; all rights belong to the creator. Transcript and summary generated automatically; the original-language content is preserved.
Original language: English
Original video: Deepseek Harness 2.0 (Desktop App, Creator Mode): RIP Codex! The BEST OPEN Harness YET!? · Channel: AICodeKing · 16:06 · Watch on YouTube
Topics: AI agents, Task and workflow automation, Model inference and optimization, Open source and software ecosystems
Summary
Section titled “Summary”The video demonstrates Deepseek Harness 2.0 on macOS, using a small shop project to fix incorrect sales calculations, generate an HTML report, and add a product filter. It also walks through installing and testing a custom checklist plugin and running a one-time automation task. Along the way, the presenter explains workspace permissions, modes, previews, model access, and costs, emphasizing that outputs should be checked and tasks may need steering. The video concludes that the tool is promising but that this example does not establish how it will perform on a large production codebase.
Key points
Section titled “Key points”- Harness is the application around the model that provides tools for reading and editing files, running commands, and reviewing results.
- The desktop app is a developer preview; the tutorial uses macOS, while Windows downloads and a Linux web setup are also mentioned.
- The Northstar project tests whether Harness can exclude canceled orders and correctly account for refunded units without changing the CSV or tests.
- The repaired calculations pass the original tests and produce 14 orders, $83 gross revenue, $141 in refunds, $662 net revenue, and 41 net units.
- Harness generates a self-contained HTML report and a Python generator that reuses the repaired calculations.
- The report is extended with a product filter, reset control, and chart highlighting while keeping whole-shop totals clearly labeled.
- Plugins run with the user’s permissions; the presenter recommends checking their source and testing their controls after installation.
- A custom checklist plugin and a one-time automation task are created and tested; scheduled tasks require the app backend to remain running.
- Standard, PTC, Minimal, and Creator modes offer different workflows, and the presenter notes that agent work may require steering.
- Harness is open source, but model calls have separate costs; the presenter advises checking current pricing and actual usage.
Chapters
Section titled “Chapters”| Start | Chapter | Summary |
|---|---|---|
| 00:02 | Introduction, setup, and workspaces | The presenter introduces Harness, explains installation and model access, and sets up the workspace and permissions for a coding task. |
| 02:40 | Repairing the shop calculations | Harness fixes the Northstar sales script, and the presenter verifies the results against the business rules and tests. |
| 05:15 | Generating and improving the report | The video creates a self-contained HTML report, reviews its figures, and adds a product filter while explaining previews and task controls. |
| 09:25 | Plugins and Creator mode | The presenter explains plugin installation and uses Creator mode to build, install, and test a report checklist panel. |
| 11:28 | Automation and task scheduling | The video demonstrates a one-time scheduled task and covers time zones, delivery records, and the need to keep the app running. |
| 13:00 | Modes, model costs, and conclusions | The presenter compares modes and extensions, discusses model billing, and summarizes the results and limitations of the demonstration. |
Quotes
Section titled “Quotes”It’s the application around the model. — 00:34
The corrected result is 14 orders, $83 gross, $141 in refunds, $662 net, and 41 net units. — 04:43
Get the calculation right, generate the deliverable, then improve the interface without losing the correct data. — 08:55
A delivery record means the instruction reached the conversation inbox. It doesn’t prove the agent finished the work. — 13:00
Start with a project where you know what a correct result looks like and build from there. — 16:06
Concepts and entities
Section titled “Concepts and entities”DeepSeek Harness, DeepSeek V4.1 Flash, Creator Mode, PTC, Northstar, Codex, MIT License
Full transcript (original language)
Section titled “Full transcript (original language)”00:02 [music] Hi, welcome to another video. Deepseek harness now has a desktop application and I wanted to go beyond the announcement and actually use it. In this video, we’re going to set it up, give it a project with broken calculations, build a report from that project, and then improve the report through a follow-up conversation. We’ll also look at plugins, creator mode, and automation because there is quite a lot here beyond sending a prompt to a model. And I’ll explain the model settings and costs as we go so you can understand
00:34 what you’re actually running. I’m using the official Mac application version 0.2.0 release candidate 2. This is still a developer preview, so the exact interface can change. The Windows download and Linux web setup are available options, but this walkthrough is on Mac OS. Now, first, what is a harness? It’s the application around the model. The model decides what to do and the harness provides the tools for reading files, editing code, running commands, and reviewing the result. You need both parts to turn a chat response
01:04 into work on your computer. For installation, go to the official DeepC Caress page. There are downloads for Apple Silicon Max and 64-bit Windows. Choose the one for your machine and follow the installer. The packaged desktop app carries its own runtime, so you don’t need to install Node separately just to use it. If you’re on Linux, the documented option is the web interface. Install a supported node version, then run npx at deepsee-ai/DSH, followed by web. The repository requires node 22.19 or later within the 22 series
01:38 or node 24 and above. That starts the interface locally and opens your browser, normally on port 3080. The d- no option prevents it from opening another tab. This is the browser version of harness. I’m continuing with the desktop app here. Now, open settings through the more or under models. You can configure the DeepSseek provider with your API key. I already have a key configured in this installation. Keep yours out of screenshots and any project files you’re going to share. Desktop
02:09 also supports DeepSseek account signin, which is a separate way of accessing account funded models. An API key entry uses API billing, while the signedin account route has its own funding and quota. Make sure you know which one you’ve selected. There’s another setting worth checking before we start. Under general, turn on show coding view that exposes the coding trajectory, code changes, and agent presets that we’ll use in this walkthrough. If your screen looks simpler than mine, this is one of the first things to check. Next, add the project folder through the plus button
02:40 in the sidebar. Then choose that workspace above the composer. Adding a folder and selecting it for your task are separate steps. So check the name before sending your prompt. Here I’ve selected DeepSseek V4.1 flash with max thinking, workspace right, and standard mode. Max is a reasoning setting. It can affect response time and usage. So make that choice deliberately when comparing your results with someone else’s. Workspace right is a useful starting point because this task needs to edit files and run the project’s checks. Read
03:10 only is for inspection while full access is broader. When the app asks for an approval, read the operation it wants to perform and decide whether it fits your task. Now let’s give it something we can actually evaluate. I’ve prepared a tiny fictional merch shop called Northstar. It has a CSV containing 16 orders, a Python reporting script, and tests for the calculation rules. There is no real customer data here. The existing script has two mistakes. It includes canceled orders and it doesn’t subtract returned units properly. The task is to fix those
03:41 calculations without changing the CSV or weakening the tests. That gives us a much clearer success condition than asking whether the answer looks impressive. The business rules are straightforward. Cancelled orders contribute nothing. Completed and refunded orders still count as orders, including fully refunded ones. The actual returned quantity comes from the refunded units column. Revenue and units need to reflect that quantity. I also want money calculated in integer sense. This keeps the arithmetic precise for this data set. Taxes, shipping, and discounts aren’t part of this example,
04:12 so the agent doesn’t need to invent rules for them. The repair prompt asks harness to inspect the project, explain the mistakes, fix the summarizer, run the existing tests, and print the corrected totals. I explicitly tell it to preserve the source CSV and the acceptance tests. So, let’s send it and see. Okay, it reads the project, reproduces the failures, and makes two small changes. It skips canceled rows and uses the actual refunded units value instead of treating every refund as zero. All four original tests now pass. I reran them independently and checked
04:43 that both the CSV and test file were unchanged. The corrected result is 14 orders, $83 gross, $141 in refunds, $662 net, and 41 net units. The original script showed $977. So this fixes a real calculation error in our example. You can reproduce the check with Python 3-m Utant-V. The fixed script and starter version are both included with the tutorial materials. Now the point of inspecting
05:15 the changes is to understand what the agent repaired. Passing the tests is useful evidence and checking the actual calculation makes that evidence stronger. I want the result to follow our business rules rather than simply produce a nicer looking number. Let’s turn this into something you might actually share with a teammate. In the same conversation, ask Harness to generate a responsive HTML report from the same CSV, reusing the corrected calculations. The prompt asks for the date range, order count, gross revenue, refunds, net revenue, net units, a
05:47 product revenue chart, and the underlying product table. I also ask for instructions to regenerate the report when the CSV changes. Make it self-contained with no external libraries or downloaded assets. That makes the report easier to open directly and it avoids depending on another service just to display a small chart. It created report.html, a Python generator called build_report. py and calculations.md. The report has the warm ivory background and navy text I requested with the headline totals, product chart, and
06:18 detailed table. Open the right sidebar, choose workspace files, and select the HTML file. It renders inside the desktop app, and the full screen control gives you more room. Here, the page shows $662 in net revenue and 41 net units, matching the independent calculation. To rebuild it after changing the CSV, run Python 3 build_report. py add-e to verify the existing report without rewriting it. The generator reuses the repaired calculation
06:48 function, so the report and the original script follow the same rules. This part needed some direction. The agent corrected a syntax error while building the generator, then spent time on a slow browser screenshot job and repeated checks. I had already confirmed the desktop preview worked, so I told it to stop that job and finish the deliverables. That brings us to a useful control under general settings. Send behavior while busy decides what happens when you submit another message during a run. My setting is Q. A cued message has edit, remove, and steer controls. Q is
07:20 useful for the next step. Steer is useful when the current task needs a correction. Now, this is where the file sidebar becomes useful. You can inspect files from the workspace and open previews alongside the conversation. For a coding task, review the changes for a report. Look at both the presentation and the figures behind it. The plus menu also has add file for attaching material to a request along with shortcuts such as plan, compact, permission, and model. For this example, the CSV was already in the selected workspace, so the agent could read it there. Harness also
07:51 documents previews for PDFs, images, Word documents, presentations, and spreadsheets. Those previews help you inspect a deliverable, but they have limits. For example, the spreadsheet viewer displays saved formula results without recalculating them and it doesn’t show every spreadsheet feature. If a workbook contains charts or needs recalculation, open the actual file in your spreadsheet application as well. A preview is one way to review an output. The editable file remains the deliverable. Anyway, let’s continue with our report.
08:22 I want to select an individual product and see its revenue and unit figures while keeping the full shop totals clearly labeled. So, I’ll ask for a product filter, a clear reset control, and a highlight on the matching chart entry. That last detail matters. If selecting a product changes one number but leaves another at the shop total, the labels need to make that obvious, otherwise a working interface can still be misleading. Now, the drop down is in the report. Choosing launch t shows $200 in net revenue and eight net units. Choosing studio hoodie shows $180 and three net units. I checked both inside
08:55 the actual harness preview. Reset returns the drop down to all products and clears the selected product summary. The whole shop section stays at 14 orders and $662 with a clear whole shop label. The generated code also highlights the selected product in the chart and table. The independent check covers all five products and the original tests still pass. That’s the workflow I wanted to show. Get the calculation right, generate the deliverable, then improve the interface without losing the correct data. Now,
09:25 let’s look at extending the application. In plugins, the official tab contains optional bundles that ship with harness. They still need to be enabled. Installed is where added plugins appear. The add plugone workflow accepts a package name, repository, archive, or local plug-in path. After installation, check that it’s enabled. Simply finishing the download doesn’t necessarily activate it. These plugins execute code, and the install dialogue explains that they run with your permissions. Check the source before installing a package you don’t
09:56 recognize. Creator mode takes this a step further. You describe a capability where it should appear and how to verify it. Harness can then work on creating or configuring the plug-in. This mode is experimental and a plugin may load immediately or need a restart. For a useful prompt, specify the behavior and where it belongs in the interface. Keep the first version small enough to inspect. Once the source is ready, installing it and exercising the controls tells you whether the addition actually works. For this demo, I used a new conversation in creator mode and asked for a report checklist panel. It
10:28 needs three items. Verify source data, review calculations, and open the final report. I also asked for a completed count and a reset button. I kept the request small and asked it to write the source before installing it. Creator initially spent a lot of time examining the runtime. So, I narrowed the instruction and asked it to finish the small panel using the APIs it had already inspected. After reviewing the generated files, I opened plugins, clicked add plugin, and entered the local plug-in folder path.
10:58 Install added it to the installed list and enable now activated it. The report checklist button appeared in the sidebar without restarting the app. I checked all three boxes and the counter reached three of three. Switching to another panel and back kept the state, reset cleared every check box, and returned the count to zero. The plugin stores that state in memory, so it isn’t intended to preserve the checks after a full reload. This is a small example, but it demonstrates the complete process, describe a useful addition,
11:28 generate it, inspect the code, install it, and test the actual controls. The other extension I want to cover is automation tasks. Enable that bundle from the official plugins list. You can then ask in the conversation for a task to happen later or on a repeating schedule. For this project, a recurring task could regenerate the weekly report from the latest CSV. Describe the input, the output you want, the schedule, and the time zone. For example, use America/ New York rather than assuming the application should interpret a bare time as your local time. For this
11:59 demonstration, I used a short one-time task so we could check the saved schedule and the result in the same session. I enabled automation tasks, opened its sidebar page, and used new to start a task conversation. My prompt asked for a one-time reminder 90 seconds later. When it ran, it had to read the sales data, run the existing summary, and write a tutorial reminder file with the verified revenue and unit count. The saved task showed once and the expected Eastern local time. After it fired, the
12:30 delivery records tab showed the instruction and the original conversation produced tutorial-reer.md. That file contains $66241 net units which match the project. The one-time task then became inactive. There is no recurring job left running from this demonstration. For a real weekly report, you would choose a repeating schedule and verify the time and time zone before relying on it. There are a few practical details here. Scheduled instructions return to their original conversation. The app needs to
13:00 remain running. Closing the desktop window can leave its backend running while fully quitting stops scheduling. You can edit active task instructions and timing and inspect delivery records. A delivery record means the instruction reached the conversation inbox. It doesn’t prove the agent finished the work. So check the resulting report or response as well. Now before wrapping up, let’s make sense of the other modes. Standard is the normal starting point for coding files and research. That’s what we’re using for the main workflow. PTC stands for programmatic tool calling. It lets the agent write
13:30 TypeScript that coordinates tool calls and combines their outputs. that can be useful for batches of operations, but it isn’t an automatic guarantee of lower cost or faster completion. Minimal is closer to an experiment baseline with a persistent shell and fewer of the standard features. Creator adds the tools and guidance for extending harness. Choose a preset when starting a new task. Changing the default doesn’t replace the tools in an already running session. Standard also supports sub aents for bounded pieces of work. The optional agent teams bundle adds a different collaboration setup with
14:01 teammates, messaging, and shared tasks. It’s experimental and the teammates share the same working directory, so give them clear responsibilities when files overlap. The model picker is flexible, too. The documented options include other providers and custom compatible endpoints. That doesn’t mean every existing subscription can be connected through it. In particular, the provider guide says third party OOTH providers such as codecs aren’t supported in that picker. The official plug-in list also includes experimental voice input and auto authorization review, plus configuration for shell,
14:33 the agent loop, sub aents, and web search. Those are optional areas to explore as your workflow grows. I kept this demonstration focused on the features we just used. Now, let’s talk about cost. Harness itself is open source under the MIT license. The model calls still have their own bill, and running the app on your computer doesn’t mean the model is running locally. At the pricing checked for this tutorial, V4.1 Flash costs 15 cents per million uncashed input tokens and 60 cents per million output tokens during off- peak hours. Peak rates are double and cached
15:05 input is cheaper. Check the current pricing page before budgeting around those numbers. An agent task can make several model requests, include reasoning, run tools, and delegate work. So, a single prompt isn’t necessarily a single billable request. Inspect the actual usage for the job rather than estimating everything from how long your prompt was. In this walkthrough, harness repaired the calculation, generated the report, handled a working product filter, ran the one-time task, and loaded the custom checklist plugin.
15:35 Those are useful results that I could inspect in the actual desktop app. It also needed steering. The report task spent too long expanding its checks, and creator needed a narrower instruction before finishing the small plug-in. So, I would keep the task specific and check the output as you go. This example is enough to demonstrate the workflow, but it doesn’t establish how the agent will perform across a large production codebase. Personally, I like having the conversation, code changes, generated files, and follow-up edits together. Start with a project where you know what
16:06 a correct result looks like and build from there. Overall, it’s pretty cool. Anyway, let me know your thoughts in the comments. If [music] you like this video, consider donating through the super thanks option or becoming a member by clicking the join button. Also, give this video a [music] thumbs up and subscribe to my channel. I’ll see you in the next one. [music] Until then, bye.