mirror of
https://github.com/deepseek-ai/deepseek-harness.git
synced 2026-08-29 04:26:38 +00:00
Add node24-win-x64 to the required pull-request and public-release matrices on a native windows-2025 runner, and publish the same win_amd64 artifact from the GitLab tag pipeline. GitHub uses Git Bash for the shared release script while selecting the Windows venv's Scripts/python.exe explicitly; the Linux and macOS legs retain their existing commands and native checks. Run the complete installed-wheel keyless suite and the trusted two-turn DeepSeek smoke on Windows exactly as on the existing targets. Make the minimal blackbox choose persistent PowerShell on Windows, keep advanced and restart snapshots platform-stable by disabling both one-shot shell variants, locate the generated dsh.exe console command, and validate text lines without assuming POSIX newlines. Workflow tests pin the four-target matrix, Windows runner and wheel tag, cross-platform venv selection, GitLab publication dependency, and full blackbox invocation. The existing POSIX minimal snapshot changes only its platform-neutral prompt wording; Windows owns a separate model-visible snapshot.
431 lines
20 KiB
JSON
431 lines
20 KiB
JSON
[
|
|
{
|
|
"tools": [
|
|
{
|
|
"type": "function",
|
|
"function": {
|
|
"name": "bash",
|
|
"description": "Run commands in a bash shell\n* When invoking this tool, the contents of the \"command\" parameter does NOT need to be XML-escaped.\n* You don't have access to the internet via this tool.\n* You do have access to a mirror of common linux and python packages via apt and pip.\n* State is persistent across command calls and discussions with the user.\n* To inspect a particular line range of a file, e.g. lines 10-25, try 'sed -n 10,25p /path/to/the/file'.\n* Please avoid commands that may produce a very large amount of output.\n* Please run long lived commands in the background, e.g. 'sleep 10 &' or start a server in the background.",
|
|
"parameters": {
|
|
"type": "object",
|
|
"properties": {
|
|
"command": {
|
|
"type": "string",
|
|
"description": "The bash command to run. Relative path is preferred in the command."
|
|
}
|
|
},
|
|
"required": [
|
|
"command"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "function",
|
|
"function": {
|
|
"name": "str_replace_editor",
|
|
"description": "Custom editing tool for viewing, creating and editing files\n* State is persistent across command calls and discussions with the user\n* If `path` is a file, `view` displays the result of applying `cat -n`. If `path` is a directory, `view` lists non-hidden files and directories up to 2 levels deep\n* The `create` command cannot be used if the specified `path` already exists as a file\n* If a `command` generates a long output, it will be truncated and marked with `<response clipped>`\n\nNotes for using the `str_replace` command:\n* The `old_str` parameter should match EXACTLY one or more consecutive lines from the original file. Be mindful of whitespaces!\n* If the `old_str` parameter is not unique in the file, the replacement will not be performed. Make sure to include enough context in `old_str` to make it unique\n* The `new_str` parameter should contain the edited lines that should replace the `old_str`",
|
|
"parameters": {
|
|
"type": "object",
|
|
"properties": {
|
|
"command": {
|
|
"type": "string",
|
|
"description": "The commands to run. Allowed options are: `view`, `create`, `str_replace`, `insert`.",
|
|
"enum": [
|
|
"view",
|
|
"create",
|
|
"str_replace",
|
|
"insert"
|
|
]
|
|
},
|
|
"path": {
|
|
"type": "string",
|
|
"description": "Absolute path to file or directory, e.g. `/repo/file.py` or `/repo`."
|
|
},
|
|
"file_text": {
|
|
"type": "string",
|
|
"description": "Required parameter of `create` command, with the content of the file to be created."
|
|
},
|
|
"insert_line": {
|
|
"type": "integer",
|
|
"description": "Required parameter of `insert` command. The `new_str` will be inserted AFTER the line `insert_line` of `path`."
|
|
},
|
|
"new_str": {
|
|
"type": "string",
|
|
"description": "Optional parameter of `str_replace` command containing the new string (if not given, no string will be added). Required parameter of `insert` command containing the string to insert."
|
|
},
|
|
"old_str": {
|
|
"type": "string",
|
|
"description": "Required parameter of `str_replace` command containing the string in `path` to replace."
|
|
},
|
|
"view_range": {
|
|
"type": "array",
|
|
"description": "Optional parameter of `view` command when `path` points to a file. If none is given, the full file is shown. If provided, the file will be shown in the indicated line number range, e.g. [11, 12] will show lines 11 and 12. Indexing at 1 to start. Setting `[start_line, -1]` shows all lines from `start_line` to the end of the file.",
|
|
"items": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"command",
|
|
"path"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"messages": [
|
|
{
|
|
"role": "system",
|
|
"text": "You are a helpful software engineer assistant."
|
|
},
|
|
{
|
|
"role": "user",
|
|
"text": "Exercise the packaged minimal agent's persistent shell and string-replacement editor.\nEditor path: {{cwd}}/created.txt"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"tools": [
|
|
{
|
|
"type": "function",
|
|
"function": {
|
|
"name": "bash",
|
|
"description": "Run commands in a bash shell\n* When invoking this tool, the contents of the \"command\" parameter does NOT need to be XML-escaped.\n* You don't have access to the internet via this tool.\n* You do have access to a mirror of common linux and python packages via apt and pip.\n* State is persistent across command calls and discussions with the user.\n* To inspect a particular line range of a file, e.g. lines 10-25, try 'sed -n 10,25p /path/to/the/file'.\n* Please avoid commands that may produce a very large amount of output.\n* Please run long lived commands in the background, e.g. 'sleep 10 &' or start a server in the background.",
|
|
"parameters": {
|
|
"type": "object",
|
|
"properties": {
|
|
"command": {
|
|
"type": "string",
|
|
"description": "The bash command to run. Relative path is preferred in the command."
|
|
}
|
|
},
|
|
"required": [
|
|
"command"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "function",
|
|
"function": {
|
|
"name": "str_replace_editor",
|
|
"description": "Custom editing tool for viewing, creating and editing files\n* State is persistent across command calls and discussions with the user\n* If `path` is a file, `view` displays the result of applying `cat -n`. If `path` is a directory, `view` lists non-hidden files and directories up to 2 levels deep\n* The `create` command cannot be used if the specified `path` already exists as a file\n* If a `command` generates a long output, it will be truncated and marked with `<response clipped>`\n\nNotes for using the `str_replace` command:\n* The `old_str` parameter should match EXACTLY one or more consecutive lines from the original file. Be mindful of whitespaces!\n* If the `old_str` parameter is not unique in the file, the replacement will not be performed. Make sure to include enough context in `old_str` to make it unique\n* The `new_str` parameter should contain the edited lines that should replace the `old_str`",
|
|
"parameters": {
|
|
"type": "object",
|
|
"properties": {
|
|
"command": {
|
|
"type": "string",
|
|
"description": "The commands to run. Allowed options are: `view`, `create`, `str_replace`, `insert`.",
|
|
"enum": [
|
|
"view",
|
|
"create",
|
|
"str_replace",
|
|
"insert"
|
|
]
|
|
},
|
|
"path": {
|
|
"type": "string",
|
|
"description": "Absolute path to file or directory, e.g. `/repo/file.py` or `/repo`."
|
|
},
|
|
"file_text": {
|
|
"type": "string",
|
|
"description": "Required parameter of `create` command, with the content of the file to be created."
|
|
},
|
|
"insert_line": {
|
|
"type": "integer",
|
|
"description": "Required parameter of `insert` command. The `new_str` will be inserted AFTER the line `insert_line` of `path`."
|
|
},
|
|
"new_str": {
|
|
"type": "string",
|
|
"description": "Optional parameter of `str_replace` command containing the new string (if not given, no string will be added). Required parameter of `insert` command containing the string to insert."
|
|
},
|
|
"old_str": {
|
|
"type": "string",
|
|
"description": "Required parameter of `str_replace` command containing the string in `path` to replace."
|
|
},
|
|
"view_range": {
|
|
"type": "array",
|
|
"description": "Optional parameter of `view` command when `path` points to a file. If none is given, the full file is shown. If provided, the file will be shown in the indicated line number range, e.g. [11, 12] will show lines 11 and 12. Indexing at 1 to start. Setting `[start_line, -1]` shows all lines from `start_line` to the end of the file.",
|
|
"items": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"command",
|
|
"path"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"messages": [
|
|
{
|
|
"role": "system",
|
|
"text": "You are a helpful software engineer assistant."
|
|
},
|
|
{
|
|
"role": "user",
|
|
"text": "Exercise the packaged minimal agent's persistent shell and string-replacement editor.\nEditor path: {{cwd}}/created.txt"
|
|
},
|
|
{
|
|
"role": "assistant",
|
|
"toolCalls": [
|
|
{
|
|
"id": "minimal-bash-1",
|
|
"name": "bash"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"role": "tool",
|
|
"toolCallId": "minimal-bash-1",
|
|
"text": "{{tool-result}}"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"tools": [
|
|
{
|
|
"type": "function",
|
|
"function": {
|
|
"name": "bash",
|
|
"description": "Run commands in a bash shell\n* When invoking this tool, the contents of the \"command\" parameter does NOT need to be XML-escaped.\n* You don't have access to the internet via this tool.\n* You do have access to a mirror of common linux and python packages via apt and pip.\n* State is persistent across command calls and discussions with the user.\n* To inspect a particular line range of a file, e.g. lines 10-25, try 'sed -n 10,25p /path/to/the/file'.\n* Please avoid commands that may produce a very large amount of output.\n* Please run long lived commands in the background, e.g. 'sleep 10 &' or start a server in the background.",
|
|
"parameters": {
|
|
"type": "object",
|
|
"properties": {
|
|
"command": {
|
|
"type": "string",
|
|
"description": "The bash command to run. Relative path is preferred in the command."
|
|
}
|
|
},
|
|
"required": [
|
|
"command"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "function",
|
|
"function": {
|
|
"name": "str_replace_editor",
|
|
"description": "Custom editing tool for viewing, creating and editing files\n* State is persistent across command calls and discussions with the user\n* If `path` is a file, `view` displays the result of applying `cat -n`. If `path` is a directory, `view` lists non-hidden files and directories up to 2 levels deep\n* The `create` command cannot be used if the specified `path` already exists as a file\n* If a `command` generates a long output, it will be truncated and marked with `<response clipped>`\n\nNotes for using the `str_replace` command:\n* The `old_str` parameter should match EXACTLY one or more consecutive lines from the original file. Be mindful of whitespaces!\n* If the `old_str` parameter is not unique in the file, the replacement will not be performed. Make sure to include enough context in `old_str` to make it unique\n* The `new_str` parameter should contain the edited lines that should replace the `old_str`",
|
|
"parameters": {
|
|
"type": "object",
|
|
"properties": {
|
|
"command": {
|
|
"type": "string",
|
|
"description": "The commands to run. Allowed options are: `view`, `create`, `str_replace`, `insert`.",
|
|
"enum": [
|
|
"view",
|
|
"create",
|
|
"str_replace",
|
|
"insert"
|
|
]
|
|
},
|
|
"path": {
|
|
"type": "string",
|
|
"description": "Absolute path to file or directory, e.g. `/repo/file.py` or `/repo`."
|
|
},
|
|
"file_text": {
|
|
"type": "string",
|
|
"description": "Required parameter of `create` command, with the content of the file to be created."
|
|
},
|
|
"insert_line": {
|
|
"type": "integer",
|
|
"description": "Required parameter of `insert` command. The `new_str` will be inserted AFTER the line `insert_line` of `path`."
|
|
},
|
|
"new_str": {
|
|
"type": "string",
|
|
"description": "Optional parameter of `str_replace` command containing the new string (if not given, no string will be added). Required parameter of `insert` command containing the string to insert."
|
|
},
|
|
"old_str": {
|
|
"type": "string",
|
|
"description": "Required parameter of `str_replace` command containing the string in `path` to replace."
|
|
},
|
|
"view_range": {
|
|
"type": "array",
|
|
"description": "Optional parameter of `view` command when `path` points to a file. If none is given, the full file is shown. If provided, the file will be shown in the indicated line number range, e.g. [11, 12] will show lines 11 and 12. Indexing at 1 to start. Setting `[start_line, -1]` shows all lines from `start_line` to the end of the file.",
|
|
"items": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"command",
|
|
"path"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"messages": [
|
|
{
|
|
"role": "system",
|
|
"text": "You are a helpful software engineer assistant."
|
|
},
|
|
{
|
|
"role": "user",
|
|
"text": "Exercise the packaged minimal agent's persistent shell and string-replacement editor.\nEditor path: {{cwd}}/created.txt"
|
|
},
|
|
{
|
|
"role": "assistant",
|
|
"toolCalls": [
|
|
{
|
|
"id": "minimal-bash-1",
|
|
"name": "bash"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"role": "tool",
|
|
"toolCallId": "minimal-bash-1",
|
|
"text": "{{tool-result}}"
|
|
},
|
|
{
|
|
"role": "assistant",
|
|
"toolCalls": [
|
|
{
|
|
"id": "minimal-bash-2",
|
|
"name": "bash"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"role": "tool",
|
|
"toolCallId": "minimal-bash-2",
|
|
"text": "{{tool-result}}"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"tools": [
|
|
{
|
|
"type": "function",
|
|
"function": {
|
|
"name": "bash",
|
|
"description": "Run commands in a bash shell\n* When invoking this tool, the contents of the \"command\" parameter does NOT need to be XML-escaped.\n* You don't have access to the internet via this tool.\n* You do have access to a mirror of common linux and python packages via apt and pip.\n* State is persistent across command calls and discussions with the user.\n* To inspect a particular line range of a file, e.g. lines 10-25, try 'sed -n 10,25p /path/to/the/file'.\n* Please avoid commands that may produce a very large amount of output.\n* Please run long lived commands in the background, e.g. 'sleep 10 &' or start a server in the background.",
|
|
"parameters": {
|
|
"type": "object",
|
|
"properties": {
|
|
"command": {
|
|
"type": "string",
|
|
"description": "The bash command to run. Relative path is preferred in the command."
|
|
}
|
|
},
|
|
"required": [
|
|
"command"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "function",
|
|
"function": {
|
|
"name": "str_replace_editor",
|
|
"description": "Custom editing tool for viewing, creating and editing files\n* State is persistent across command calls and discussions with the user\n* If `path` is a file, `view` displays the result of applying `cat -n`. If `path` is a directory, `view` lists non-hidden files and directories up to 2 levels deep\n* The `create` command cannot be used if the specified `path` already exists as a file\n* If a `command` generates a long output, it will be truncated and marked with `<response clipped>`\n\nNotes for using the `str_replace` command:\n* The `old_str` parameter should match EXACTLY one or more consecutive lines from the original file. Be mindful of whitespaces!\n* If the `old_str` parameter is not unique in the file, the replacement will not be performed. Make sure to include enough context in `old_str` to make it unique\n* The `new_str` parameter should contain the edited lines that should replace the `old_str`",
|
|
"parameters": {
|
|
"type": "object",
|
|
"properties": {
|
|
"command": {
|
|
"type": "string",
|
|
"description": "The commands to run. Allowed options are: `view`, `create`, `str_replace`, `insert`.",
|
|
"enum": [
|
|
"view",
|
|
"create",
|
|
"str_replace",
|
|
"insert"
|
|
]
|
|
},
|
|
"path": {
|
|
"type": "string",
|
|
"description": "Absolute path to file or directory, e.g. `/repo/file.py` or `/repo`."
|
|
},
|
|
"file_text": {
|
|
"type": "string",
|
|
"description": "Required parameter of `create` command, with the content of the file to be created."
|
|
},
|
|
"insert_line": {
|
|
"type": "integer",
|
|
"description": "Required parameter of `insert` command. The `new_str` will be inserted AFTER the line `insert_line` of `path`."
|
|
},
|
|
"new_str": {
|
|
"type": "string",
|
|
"description": "Optional parameter of `str_replace` command containing the new string (if not given, no string will be added). Required parameter of `insert` command containing the string to insert."
|
|
},
|
|
"old_str": {
|
|
"type": "string",
|
|
"description": "Required parameter of `str_replace` command containing the string in `path` to replace."
|
|
},
|
|
"view_range": {
|
|
"type": "array",
|
|
"description": "Optional parameter of `view` command when `path` points to a file. If none is given, the full file is shown. If provided, the file will be shown in the indicated line number range, e.g. [11, 12] will show lines 11 and 12. Indexing at 1 to start. Setting `[start_line, -1]` shows all lines from `start_line` to the end of the file.",
|
|
"items": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"command",
|
|
"path"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"messages": [
|
|
{
|
|
"role": "system",
|
|
"text": "You are a helpful software engineer assistant."
|
|
},
|
|
{
|
|
"role": "user",
|
|
"text": "Exercise the packaged minimal agent's persistent shell and string-replacement editor.\nEditor path: {{cwd}}/created.txt"
|
|
},
|
|
{
|
|
"role": "assistant",
|
|
"toolCalls": [
|
|
{
|
|
"id": "minimal-bash-1",
|
|
"name": "bash"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"role": "tool",
|
|
"toolCallId": "minimal-bash-1",
|
|
"text": "{{tool-result}}"
|
|
},
|
|
{
|
|
"role": "assistant",
|
|
"toolCalls": [
|
|
{
|
|
"id": "minimal-bash-2",
|
|
"name": "bash"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"role": "tool",
|
|
"toolCallId": "minimal-bash-2",
|
|
"text": "{{tool-result}}"
|
|
},
|
|
{
|
|
"role": "assistant",
|
|
"toolCalls": [
|
|
{
|
|
"id": "minimal-editor",
|
|
"name": "str_replace_editor"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"role": "tool",
|
|
"toolCallId": "minimal-editor",
|
|
"text": "{{tool-result}}"
|
|
}
|
|
]
|
|
}
|
|
]
|