Goal 进度在手机看,模型消耗记在 TaoToken 背后的 Harness

发布时间:2026/9/18 15:52:39
Goal 进度在手机看,模型消耗记在 TaoToken 背后的 Harness 1. 手机看 Goal 进度电脑接 TaoToken长任务场景先对齐两个账本当 DeepSeek Harness 在电脑上跑长任务时手机端 DSH Mobile 最值得看的两个信号是 Goal 进度和模型消耗。建议先去 TaoToken 官网 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_contentdsh_mobile_intro 获取 API Key电脑端 Harness 调模型前Base URL 填 https://taotoken.net/api。这样手机上看 Goal 进度电脑端接 TaoToken 记账才能做出一张可对照的消耗表。DSH Mobile 要解决的并不是“把完整 IDE 搬到手机上”而是把长任务里短而频繁的决策节点接到手机看一眼 Agent 跑到哪一步处理一次命令审批补一句上下文让 Agent 继续或者确认下一阶段方向。DeepSeek Harness 的 Agent 循环、工具执行、插件和工作区仍然留在电脑上手机只负责连接、交互和渲染。对长任务使用者来说真正难受的是离开电脑后任务停在审批点或者 Goal 明明在推进却不知道烧了多少 token。本文用一个可复现目标收束一边记录 DSH Mobile 收到的 Goal 进度事件一边记录电脑端 Harness 通过 TaoToken 产生的模型消耗最后按时间窗口或 request id 做对照。你会得到两张表第一张是 Goal 状态变化第二张是模型调用与 token 用量。两张表对齐后就能判断哪个阶段耗时最长、哪个审批最影响推进、哪类任务消耗最高。2. 电脑端 Harness 调模型前拿 Key、填 Base URL、留 request id先把模型通道切到 TaoToken。不要等 Harness 报 401 或 404 才临时改配置最好在启动 DSH 之前就把 Key 和 Base URL 固定下来。入口在 TaoToken 官网https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_contentharness_model_key 。登录后进入控制台创建 API Key然后在电脑端 Harness 的模型供应商配置里填写供应商名称TaoTokenBase URLhttps://taotoken.net/apiAPI KeyYOUR_API_KEY协议按 Harness 实际支持的兼容层选择 OpenAI 兼容或 Anthropic 兼容如果 Harness 通过环境变量读取模型配置可以用下面的方式把 Key 注入进程不要把真实 Key 写进仓库export TAOTOKEN_API_KEYYOUR_API_KEY export OPENAI_BASE_URLhttps://taotoken.net/api export OPENAI_API_KEY$TAOTOKEN_API_KEY如果 Harness 走 Anthropic 兼容通道再单独设置export ANTHROPIC_BASE_URLhttps://taotoken.net/api export ANTHROPIC_AUTH_TOKENYOUR_API_KEY注意Anthropic 兼容变量只给对应工具使用不要把它套到 Codex 上。Codex 的配置方式在下一节单独说明。切完供应商后先做一次最小调用确认 Harness 能正常返回而不是等长任务跑了一半才发现模型不可用。验证时重点看三样东西HTTP 状态码是否为成功。返回内容里是否有模型输出。Harness 日志里是否记录request_id、模型名、输入 token、输出 token。后面做对照实验时request_id是最稳的对齐键。如果 Harness 没有记录 request id就退而求其次用时间窗口和 session id 对齐。3. 三件套配置Claude Code、Codex、CC Switch 都指向 TaoToken长任务旁边通常还会开着 Claude Code、Codex 或 CC Switch。把它们的供应商也统一到 TaoToken可以减少多套 Key 和多套账单的混乱。这里分三件套写清楚尤其注意 Claude Code 和 Codex 的配置格式不同。3.1 Claude Codesettings.json ANTHROPIC_*Claude Code 侧使用settings.json配置环境变量。路径通常是~/.claude/settings.json示例{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_AUTH_TOKEN: YOUR_API_KEY, ANTHROPIC_MODEL: YOUR_CLAUDE_MODEL_ID } }这里的ANTHROPIC_BASE_URL必须指向 TaoToken 的 Base URLhttps://taotoken.net/api。ANTHROPIC_AUTH_TOKEN使用你在 TaoToken 控制台创建的 Key。模型 ID 按 TaoToken 模型列表填写不要照抄其他平台的模型名。3.2 Codexconfig.toml不要套 ANTHROPIC_*Codex 使用config.toml不是ANTHROPIC_*。典型路径是~/.codex/config.toml。示例model YOUR_CODEX_MODEL_ID model_provider taotoken [model_providers.taotoken] name TaoToken base_url https://taotoken.net/api env_key TAOTOKEN_API_KEY wire_api chat然后在 shell 里设置export TAOTOKEN_API_KEYYOUR_API_KEYCodex 侧的关键是base_url https://taotoken.net/api和env_key TAOTOKEN_API_KEY。不要把ANTHROPIC_BASE_URL或ANTHROPIC_AUTH_TOKEN写进 Codex 配置否则会出现协议不匹配、鉴权失败或路径错误。3.3 CC Switch三件套切换字段如果你用 CC Switch 管理多套供应商可以把它理解为三件套切换层Claude Code 配置、Codex 配置、API Key 环境变量。表单或配置文件里按下面字段填provider: TaoToken base_url: https://taotoken.net/api api_key: YOUR_API_KEY claude_code_protocol: anthropic codex_protocol: openai-compatible切到 TaoToken 后回到 Claude Code 和 Codex 分别验证一次。只要两边都能正常请求后续 Harness、DSH Mobile 和本地工具就可以共用同一个 Key 来源账单也更容易在 TaoToken 控制台里统一查看。4. DSH Mobile 怎么把 Goal 进度事件送到手机DSH Mobile 使用 Kuikly 做跨端一套 Kotlin 代码覆盖 Android、iOS 和鸿蒙。它没有在手机和电脑之间再放一套业务服务而是直接按 DSH 官方 Host 协议连接电脑上的 Harness。电脑端的 Agent 循环继续运行手机端通过 HTTP RPC 发送操作通过两条 WebSocket 接收事件。两条事件流分工不同/api/events.mux当前会话内正在发生的事包括模型输出、工具调用、审批、提问、消息队列和后台任务。/api/events.host电脑侧的全局变化包括会话增删、运行状态、工作区变更和 Host 级错误。Goal 进度通常会在会话内事件或快照中出现。需要注意session/queue和session/jobs这类事件可能推送完整快照而不是增量。App 收到新快照后应直接覆盖本地状态不能只做追加。重连时也不能只靠事件回放恢复通常要按“隧道重建 → 补 session/event → 请求 session.history → 用最新快照覆盖 queue/jobs”的顺序恢复。下面是一个 Kotlin 侧解析 Goal 进度事件的简化示例重点是保留未知字段避免某个字段解析失败导致整条事件流中断data class GoalProgressEvent( val sessionId: String, val jobId: String?, val phase: String, val updatedAt: Long, val raw: MapString, Any? ) fun parseGoalProgress(type: String, payload: JsonObject): GoalProgressEvent? { if (type !in setOf(session/projection.value, session/jobs, session/event)) { return null } val sessionId payload[sessionId]?.jsonPrimitive?.content ?: return null val goal payload[goal]?.jsonObject val phase goal?.get(phase)?.jsonPrimitive?.content ?: unknown return GoalProgressEvent( sessionId sessionId, jobId payload[jobId]?.jsonPrimitive?.content, phase phase, updatedAt System.currentTimeMillis(), raw payload.mapValues { it.value } ) }连接安全也要单独考虑。DSH 默认监听127.0.0.1:3080不要为了手机访问就把这个端口开放到公网。更稳妥的方式是 SSH 本地端口转发或者使用扫码 Relay 配对。SSH 模式下手机侧建立一个本地回环端口映射到电脑的127.0.0.1:3080认证发生在 SSH 层DSH 仍然只看到本机回环请求。Relay 模式下电脑端插件和手机 App 都主动连接 Relay再通过密封隧道转发流量3080 不需要直接暴露。5. 可复现实验Goal 进度事件与 Harness 模型消耗记录对照这一节把前面的配置串起来做一个可复现的对照实验。目标不是跑一个玩具请求而是让 Harness 执行一个需要多轮模型调用、可能触发审批或追问的长任务然后在手机上看 Goal 进度在 TaoToken 看消耗。5.1 启动顺序先在电脑端准备 Harness 和 Relay。关键是把 Harness 的模型供应商切到 TaoToken并把 Base URL 固定为https://taotoken.net/api。# 以下命令按你本地项目实际启动脚本替换关键环境变量保持一致 export TAOTOKEN_API_KEYYOUR_API_KEY export OPENAI_BASE_URLhttps://taotoken.net/api export OPENAI_API_KEY$TAOTOKEN_API_KEY export HOST0.0.0.0 export PORT8787 export PUBLIC_RELAY_URLhttp://192.168.1.20:8787 ./start-relay.shHOST0.0.0.0会让 Relay 监听本机所有网络接口只在可信局域网或热点中使用并检查系统防火墙。PUBLIC_RELAY_URL必须换成手机能访问到的电脑局域网地址它会写进二维码。启动后先检查健康接口curl http://127.0.0.1:8787/health然后在 DSH Settings 里进入 Remote Access 页面让电脑生成二维码。手机安装 DSH Mobile 后扫码配对。连接成功后手机端应该能看到当前会话列表和运行状态。5.2 记录 Goal 进度事件在手机端发起或接续一个长任务。任务运行期间记录以下字段时间戳session idjob idGoal phase是否出现审批是否出现提问模型输出是否在持续更新如果要在电脑端日志里过滤可以用类似命令把日志路径替换成你的实际路径rg -n session/event|session/jobs|session/projection|goal|approval|question ~/.dsh/logs5.3 记录 TaoToken 消耗模型消耗侧去 TaoToken 控制台查看 API Key 用量。入口https://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentdsh_mobile_keys 。重点记录调用时间模型名输入 token输出 token请求次数对应 request id如果 Harness 日志里有request_id就按 request id 对齐如果没有就按时间窗口对齐。最终可以整理成下面这种对照表时间Goal 事件Goal 状态模型输入 token输出 token备注10:01:12session/eventplanningYOUR_MODEL_ID1200300首轮规划10:03:40approvalwaiting_approval---命令审批10:04:05session/eventexecutingYOUR_MODEL_ID1800900审批后继续10:08:21session/jobscompletedYOUR_MODEL_ID700150后台 job 完成这张表的价值在于把“任务为什么慢”拆开。如果 Goal 在waiting_approval停留很久说明瓶颈在人机交互不在模型如果executing阶段 token 暴涨说明模型调用密集需要看 Harness 的工具循环和上下文策略如果 TaoToken 控制台显示调用很多但 Goal 推进很少可能是 Agent 在无效重试或工具调用失败后反复请求模型。6. 扫码超时、重连丢事件、模型 401 的排查顺序长任务场景里故障通常不是单点而是连接、事件、模型三层叠在一起。建议按下面顺序排查。6.1 扫码后一直超时先检查手机能否访问 Relay 健康接口curl http://192.168.1.20:8787/health如果手机打不开检查三件事PUBLIC_RELAY_URL是否还是电脑当前局域网地址。Relay 是否监听了手机可达的接口。防火墙是否允许 8787 端口。电脑切换 Wi-Fi 或热点后局域网地址通常会变化。此时需要更新PUBLIC_RELAY_URL重启 Relay 和 DSH再重新扫码。6.2 重连后事件丢失移动网络一定会断。锁屏、切后台、进隧道、Wi-Fi 与蜂窝切换都可能让 WebSocket 失效。重连后不要直接重发 Prompt而是恢复观察和控制。正确顺序是重建 SSH 或 Relay 隧道。用上次收到的序号补回遗漏的session/event。请求一次session.history重新对齐聊天记录。用最新快照覆盖queue和jobs。每次连接还应带一个世代号。旧连接迟到的 RPC 响应直接丢弃不能写进新会话状态。6.3 模型请求 401 或 404如果 Harness 报鉴权失败先检查 TaoToken Key 是否正确、是否过期、是否把空格带进了环境变量。然后检查 Base URL 是否为https://taotoken.net/api。如果报 404通常是协议路径不匹配Harness 走 OpenAI 兼容还是 Anthropic 兼容要和 TaoToken 侧配置一致。Claude Code 用户检查~/.claude/settings.json里的ANTHROPIC_BASE_URL和ANTHROPIC_AUTH_TOKEN。Codex 用户检查~/.codex/config.toml里的base_url和env_key不要在 Codex 里混用ANTHROPIC_*。CC Switch 用户则确认当前激活供应商是 TaoToken而不是上一套残留配置。7. 从手机控制面板到统一模型账本下一步与 CTADSH Mobile 这类工具的意义不是让手机取代桌面而是让长任务在无人值守时仍然能推进。人离开电脑后手机接住审批、追问和确认电脑继续运行 Agent 循环、工具和插件TaoToken 负责模型调用和消耗记录。三者分工清楚后Goal 进度和模型账本就能对得上。后续扩展可以优先做输入能力比如图片上传和语音输入通知能力则需要电脑端配合单靠手机通知权限无法判断任务何时需要人处理。协议适配层也可以继续下沉把流式 Markdown、工具卡片、断线状态机和会话模型留在共享层。以后接其他 Agent Host 时主要新增协议适配器而不是重写三端界面。如果你准备把这套流程跑起来建议按下面路径操作先体验模型对话确认 TaoToken 调用正常https://taotoken.net/models/detail/chat?utm_sourcetaotoken_aicg_blog_endutm_contentdsh_mobile_chat长任务较多时查看 Coding Plan 是否更适合https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentdsh_mobile_plan进入控制台创建 API Key填入 Harness、Claude Code、Codex 或 CC Switchhttps://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentdsh_mobile_keysClaude Code 用户继续看 Anthropic 兼容配置文档https://taotoken.net/doc/ClaudeCodeAnthropic?utm_sourcetaotoken_aicg_blog_endutm_contentdsh_mobile_claude_code电脑端 Harness 调模型前再去 TaoToken 官网 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_contentdsh_mobile_final 获取 KeyBase URL 填https://taotoken.net/api。把 Goal 进度事件和模型消耗记录放在同一张表里你就能在手机上判断任务是否真的在推进而不是只看一个“正在运行”的状态灯。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询