feat: Add DeepSeek Harness plugin - #2370
Conversation
| @@ -0,0 +1,83 @@ | |||
| { | |||
| "name": "@braintrust/deepseek-harness", | |||
There was a problem hiding this comment.
why are we publishing a new package?
There was a problem hiding this comment.
It's deepseek harnesses recommended way of distributing things. You're supposed to run dsh plugin --profile web add @braintrust/deepseek-harness and it will install the package from npm.
There was a problem hiding this comment.
Ah would be useful to have in PR description!
There was a problem hiding this comment.
sorry very true!
| ? { | ||
| tools: options.tools.map((tool) => ({ | ||
| type: "function", | ||
| function: tool, |
There was a problem hiding this comment.
doesn't this blindly forward the tool? Is that okay?
There was a problem hiding this comment.
good catch actually, we should narrow down
| ...(block.isError ? { is_error: true } : {}), | ||
| }; | ||
| case "image": | ||
| return { type: "image", attachment: block.attachment }; |
There was a problem hiding this comment.
should we make into a braintrust attachment?
| appUrl: z.string(), | ||
| }); | ||
|
|
||
| interface BraintrustEvent { |
There was a problem hiding this comment.
can't we get these types from the braintrust package?
Adds a
@braintrust/deepseek-harnesspackage.The package can be installe as a plugin via the deepseek harness cli (seems to be the canonical way for now) to trace everything that the deepseek harness does.
Reports each user turn as a separate trace with nested spans for model calls, tool executions, and delegated child sessions. It captures model inputs and outputs, token usage, reasoning, tool calls, errors, and relevant Harness metadata.
Installation
Optional settings can be configured through the Harness plugin UI or
cordis.patch.yml:The API key is declared as a secret setting. When omitted, the plugin uses
BRAINTRUST_API_KEY.