DeepSeek Harness v0.1.0-rc.8:终端助手开始真正处理图像

2026-08-21 47 预计阅读时间: 1 分钟
来源: oschina.net AI 摘要 Original link

Disclaimer: This article is an AI-assisted summary. Read it together with the original source when precision matters. The summary may omit context, version differences, or edge cases and is not official documentation.

预计阅读时间:10 分钟

DeepSeek Harness 公测刚满一周,就发布了 v0.1.0-rc.8。这次版本包含 14 项更新,表面上看是命令、子 Agent、Windows 会话和默认模式的持续完善,真正改变使用方式的却是多模态能力:图片可以作为原生请求输入,也可以和文字混合发送,甚至能被 /goal/plan 等工作流命令直接接收。

这意味着终端里的 AI 助手不再只处理日志、代码和自然语言描述。截图、架构图、报错图片、产品原型,都可以进入同一个任务上下文。

多模态变化在哪里

v0.1.0-rc.8 的多模态更新可以拆成两层:

  • 支持原生图片请求。
  • 支持图文混合输入,并让 /goal/plan 等命令处理图片。

第二点更值得关注。单独让模型“描述一张图片”,价值有限;把图片放进目标拆解和计划生成流程,才会影响开发者的日常工作。例如,开发者可以把一张 CI 失败截图和一句“定位问题并给出修复计划”一起交给 Harness,让图片成为任务上下文的一部分。

这里需要区分一个容易混淆的概念:终端工具支持看图,并不等于底层使用的纯文本模型突然获得了视觉能力。Harness 可能在请求层完成图片接收、预处理、模型路由或上下文转换。具体实现要以实际配置和模型适配情况为准,但从使用者角度看,图片已经可以参与工作流,而不必先手动转写成文字。

从“聊天输入”走向“任务输入”

/goal/plan 这类命令本质上不是普通聊天,它们会影响后续任务的拆解方式。图片进入这些命令后,终端助手可以处理更多原本难以用文本完整表达的信息:

  • 浏览器或桌面应用的错误提示截图。
  • 终端中截取的构建失败信息。
  • 系统架构图、时序图和网络拓扑图。
  • UI 原型或页面异常截图。
  • 监控面板中的曲线和告警状态。

实际使用时,建议把图片和明确动作绑定起来,而不是只问“这是什么”。例如:

/goal
请阅读这张 CI 失败截图,判断最可能的故障类别,并输出一个按优先级排序的排查目标。

或者:

/plan
根据这张页面报错截图和当前仓库代码,制定修复计划。计划需要包含:
1. 可能涉及的文件
2. 验证假设所需的命令
3. 修改后的测试方式
4. 仍然需要人工确认的风险

上面的命令格式表达的是使用思路。具体图片附加语法、命令行参数和模型配置,应以本地安装版本的帮助信息为准。

一个可改造的图文请求示例

如果你需要把 Harness 接入已有脚本或内部工具,可以先把本地图片编码成 Data URI,再组合成图文消息。下面的脚本只负责生成请求 JSON,不依赖第三方库;其中请求地址和认证字段是假设配置,需要按实际服务端接口修改。

运行前把 IMAGE_PATH 改成真实图片路径:

#!/usr/bin/env python3
import base64
import json
import mimetypes
from pathlib import Path

IMAGE_PATH = Path("ci-failure.png")
TEXT = "阅读这张 CI 失败截图,提取错误信息,并给出三步排查计划。"

if not IMAGE_PATH.is_file():
    raise SystemExit(f"图片不存在: {IMAGE_PATH}")

mime_type = mimetypes.guess_type(IMAGE_PATH.name)[0] or "application/octet-stream"
encoded = base64.b64encode(IMAGE_PATH.read_bytes()).decode("ascii")

payload = {
    "input": [
        {"type": "text", "text": TEXT},
        {
            "type": "image_url",
            "image_url": {
                "url": f"data:{mime_type};base64,{encoded}"
            },
        },
    ]
}

Path("multimodal-request.json").write_text(
    json.dumps(payload, ensure_ascii=False, indent=2),
    encoding="utf-8",
)
print("已生成 multimodal-request.json")

如果你的 Harness 兼容类似 OpenAI 的 HTTP 消息格式,可以这样发送。HARNESS_ENDPOINT、认证头和 JSON 字段只是示例,使用前需要对照 v0.1.0-rc.8 的实际帮助信息或服务配置调整:

export HARNESS_ENDPOINT="http://127.0.0.1:8000/v1/messages"
export HARNESS_TOKEN="replace-with-your-token"

curl --fail-with-body "$HARNESS_ENDPOINT" \
  -H "Authorization: Bearer $HARNESS_TOKEN" \
  -H "Content-Type: application/json" \
  --data-binary @multimodal-request.json

这个模式的重点不是 Data URI 本身,而是把图片和任务指令放进同一个结构化请求。生产环境中还要考虑图片大小、压缩、格式白名单、敏感信息脱敏以及请求日志中是否会保存图片内容。

子 Agent、PowerShell 与极简模式

这次更新并不只有多模态能力。

Claude Code 和 Codex 进一步接入子 Agent 体系,说明 Harness 的工作重点正在从单轮助手转向可分工的任务执行器。一个主 Agent 可以把代码分析、测试检查或文档整理交给子 Agent,再汇总结果。这样的结构适合复杂任务,但也会带来上下文传递、权限边界、重复调用和成本控制问题。启用前应明确每个子 Agent 能访问哪些目录、能执行哪些命令,以及失败时如何回收状态。

Windows 终端加入持久 PowerShell 会话,则解决了另一类非常具体的问题:环境变量、当前目录、虚拟环境和前一条命令的状态可以在连续操作中保留。对于需要多步执行的构建、调试和部署任务,这比每次启动全新 shell 更接近真实开发环境。

极简模式预设默认开启,代表工具希望降低初次使用时的界面和配置负担。它适合快速试用,但团队落地时仍应检查默认权限、模型选择、会话持久化和命令执行策略,避免“能跑起来”被误认为“已经适合自动化运行”。

采用前的检查清单

可以按下面的顺序验证这次更新是否适合你的工作流:

  • 用一张无敏感信息的错误截图测试原生图片请求。
  • 分别验证普通对话、/goal/plan 是否能正确接收图文输入。
  • 检查当前模型或后端是否真的支持图片处理,避免把图片静默丢弃。
  • 限制图片大小和格式,必要时在发送前压缩或打码。
  • 为子 Agent 配置最小目录和命令权限。
  • 在 Windows 上确认持久 PowerShell 会话不会复用错误的环境状态。
  • 记录多模态请求的耗时、失败率和额外成本。

v0.1.0-rc.8 的价值不只是增加了一个“上传图片”的入口。更重要的变化是,图像开始成为目标定义、计划生成和工程执行的一等输入。对个人开发者来说,这能减少从截图到文字的手工转录;对团队来说,则需要同步建立权限、隐私、模型能力和可观测性边界。把它当作任务编排能力的一部分来验证,会比只测试图片能否被识别更接近真实收益。


相关推荐