Files
deepseek-harness/apps/web/tests/snapshots/goal-multi-turn-actions/ui.expected.md
T

11 KiB
Raw Blame History

  • banner:
    • navigation "Session hierarchy":
      • button "workspace" [disabled]
    • img
    • text: Standard mode
    • button "Session log":
      • text: Session log
      • img
    • tablist:
      • tab "Chat" [selected]
      • tab "Trajectory"
  • group "Command input": /goal 做两个turn,每个turn输出随机一个包的文件结构。注意你做完一个turn之后,直接输出内容,停止,我们的系统会帮你再开一个turn,你看着做一个类似的
  • 'button "goal Goal created Status: active Objective: 做两个turn,每个turn输出随机一个包的文件结构。注意你做完一个turn之后,直接输出内容,停止,我们的系统会帮你再开一个turn,你看着做一个类似的 Rounds: 0/256 Activation: armed Commands: /goal edit , /goal pause, /goal clear"':
    • img
    • img
    • text: "goal Goal created Status: active Objective: 做两个turn,每个turn输出随机一个包的文件结构。注意你做完一个turn之后,直接输出内容,停止,我们的系统会帮你再开一个turn,你看着做一个类似的 Rounds: 0/256 Activation: armed Commands: /goal edit , /goal pause, /goal clear"
  • button "Context injection goal":
    • img
    • img
    • text: Context injection goal
  • button "Context injection @deepseek-ai/dsh-system-prompt":
    • img
    • img
    • text: Context injection @deepseek-ai/dsh-system-prompt
  • 'button "Think The user''s goal is: "做两个turn,每个turn输出随机一个包的文件结构。注意你做完一个turn之后,直接输出内容,停止,我们的系统会帮你再开一个turn,你看着做一个类似的" — which translates to: "Do two turns, each turn output the file structure of a random package. Note that after you finish one turn, directly output the content and stop; our system will help you open another turn, and you just do something similar.""':
    • img
    • img
    • text: "Think The user's goal is: "做两个turn,每个turn输出随机一个包的文件结构。注意你做完一个turn之后,直接输出内容,停止,我们的系统会帮你再开一个turn,你看着做一个类似的" — which translates to: "Do two turns, each turn output the file structure of a random package. Note that after you finish one turn, directly output the content and stop; our system will help you open another turn, and you just do something similar.""
  • button "Bash Show working directory and its contents":
    • img
    • img
    • text: Bash Show working directory and its contents
  • 'button "Tool call get_goal · {}"':
    • img
    • img
    • text: "Tool call get_goal · {}"
  • 'button "Think There''s a packages directory. Let me look inside to see what packages are available."':
    • img
    • img
    • text: "Think There's a packages directory. Let me look inside to see what packages are available."
  • button "Bash List packages directory contents":
    • img
    • img
    • text: Bash List packages directory contents
  • button "Think There are 4 packages:":
    • img
    • img
    • text: "Think There are 4 packages:"
  • button "Failed Bash Randomly pick one package directory":
    • img
    • text: Failed Bash Randomly pick one package directory
  • 'button "Think shuf is not available on macOS. I''ll use a different approach for random selection. Let me use $RANDOM in bash or use sort -R or Python."':
    • img
    • img
    • text: "Think shuf is not available on macOS. I'll use a different approach for random selection. Let me use $RANDOM in bash or use sort -R or Python."
  • button "Bash Randomly select one package with Python":
    • img
    • img
    • text: Bash Randomly select one package with Python
  • 'button "Think The random pick for turn 1 is packages/context/session-reference. Now I''ll output its file structure. Let me get the file tree."':
    • img
    • img
    • text: "Think The random pick for turn 1 is packages/context/session-reference. Now I'll output its file structure. Let me get the file tree."
  • button "Bash List all files in session-reference package":
    • img
    • img
    • text: Bash List all files in session-reference package
  • 'button "Think Turn 1 is done. Per the objective: "你做完一个turn之后,直接输出内容,停止" — after finishing a turn, directly output the content and stop. The system will open another turn."':
    • img
    • img
    • text: "Think Turn 1 is done. Per the objective: "你做完一个turn之后,直接输出内容,停止" — after finishing a turn, directly output the content and stop. The system will open another turn."
  • paragraph:
    • strong: Turn 1 / 2
    • text: — 随机选中的包:
    • code: packages/context/session-reference
    • text: 📦
  • button "Copy"
  • code: session-reference ├── README.md ├── package.json ├── src │ ├── index.ts │ └── uri.ts └── tests └── session-reference.spec.ts
  • button "Copy"
  • code: "session-reference/ ├── README.md # 包说明文档 ├── package.json # 包元数据与依赖声明 ├── src/ │ ├── index.ts # 入口,导出公共 API │ └── uri.ts # 会话引用 URI 相关实现 └── tests/ └── session-reference.spec.ts # 单元测试"
  • paragraph: 这是一个很典型的轻量 TypeScript 包结构:入口 + 实现 + 测试。这一轮到此结束,等系统开启下一个 turn。
  • button "Copy":
    • img
  • button "Good response":
    • img
  • button "Bad response":
    • img
  • button "Branch into a new conversation":
    • img
  • text: {{clock}} Ran for {{duration}} TTFT {{duration}} {{throughput}} tok/s
  • button "Context injection goal":
    • img
    • img
    • text: Context injection goal
  • 'button "Think This is turn 2 of 2. I need to randomly pick another package and output its file structure. In the first turn I picked packages/context/session-reference. Let me pick a different one randomly this time."':
    • img
    • img
    • text: "Think This is turn 2 of 2. I need to randomly pick another package and output its file structure. In the first turn I picked packages/context/session-reference. Let me pick a different one randomly this time."
  • button "Bash Randomly select another package with Python":
    • img
    • img
    • text: Bash Randomly select another package with Python
  • 'button "Think The random pick returned the same package as turn 1. Since turn 1 already covered session-reference, it would be better to pick a different one for variety. Let me re-roll, excluding the already-covered package."':
    • img
    • img
    • text: "Think The random pick returned the same package as turn 1. Since turn 1 already covered session-reference, it would be better to pick a different one for variety. Let me re-roll, excluding the already-covered package."
  • button "Bash Re-roll excluding the package from turn 1":
    • img
    • img
    • text: Bash Re-roll excluding the package from turn 1
  • button "Bash List all files in token-meter package":
    • img
    • img
    • text: Bash List all files in token-meter package
  • 'button "Think This is turn 2 of 2. I''ve output the file structure for packages/llm/token-meter. Both turns are done. I should output the content, stop, and then mark the goal as complete since both turns are finished."':
    • img
    • img
    • text: "Think This is turn 2 of 2. I've output the file structure for packages/llm/token-meter. Both turns are done. I should output the content, stop, and then mark the goal as complete since both turns are finished."
  • paragraph:
    • strong: Turn 2 / 2
    • text: — 随机选中的包:
    • code: packages/llm/token-meter
    • text: 📦
  • button "Copy"
  • code: token-meter ├── README.md ├── package.json ├── src │ └── index.ts └── tests └── token-meter.spec.ts
  • button "Copy"
  • code: "token-meter/ ├── README.md # 包说明文档 ├── package.json # 包元数据与依赖声明 ├── src/ │ └── index.ts # 入口,导出公共 APItoken 计量逻辑) └── tests/ └── token-meter.spec.ts # 单元测试"
  • paragraph:
    • text: 两个 turn 都完成了(turn 1
    • code: session-reference
    • text: turn 2
    • code: token-meter
    • text: )。这一轮到此结束。
  • 'button "Tool call get_goal · {}"':
    • img
    • img
    • text: "Tool call get_goal · {}"
  • paragraph: 两个 turn 均已完成,目标达成,标记 goal 为完成。
  • button "Tool call update_goal · goal-{{uuid}}":
    • img
    • img
    • text: Tool call update_goal · goal-{{uuid}}
  • 'button "Context injection tool-goal complete: 做两个turn,每个turn输出随机一个包的文件结构。注意你做完一个turn之后,直接输出内容,停止,我们的系统会帮你再开一个turn,你看着做一个类似的"':
    • img
    • img
    • text: "Context injection tool-goal complete: 做两个turn,每个turn输出随机一个包的文件结构。注意你做完一个turn之后,直接输出内容,停止,我们的系统会帮你再开一个turn,你看着做一个类似的"
  • paragraph: 两个 turn 都完成了
  • paragraph:
    • strong: 总结:
  • list:
    • listitem:
      • strong: Turn 1
      • text: — 随机选中
      • code: packages/context/session-reference
      • text: ,输出了文件结构:
      • button "Copy"
      • code: session-reference/ ├── README.md ├── package.json ├── src/ │ ├── index.ts │ └── uri.ts └── tests/ └── session-reference.spec.ts
    • listitem:
      • strong: Turn 2
      • text: — 随机选中
      • code: packages/llm/token-meter
      • text: ,输出了文件结构:
      • button "Copy"
      • code: token-meter/ ├── README.md ├── package.json ├── src/ │ └── index.ts └── tests/ └── token-meter.spec.ts
  • paragraph:
    • strong: 验证方式:
    • text: 两个包的随机选择都通过
    • code: python3 random.choice
    • text: 从工作区的
    • code: packages/
    • text: 目录下实际枚举的 4 个候选包中抽取(
    • code: ui-conversation
    • text: 、
    • code: session-reference
    • text: 、
    • code: token-meter
    • text: 、
    • code: skill-local
    • text: ),文件结构则用
    • code: find
    • text: 实际列出文件后整理输出,均已排除
    • code: node_modules
    • text: 和
    • code: .git
    • text: 。第二次随机抽到了与 turn 1 相同的包,为避免重复换抽了另一个。
  • paragraph:
    • strong: 说明:
    • text: 本轮没有产生任何文件修改或提交——任务本身就是"输出文件结构",所有产物都在上面的消息文本里。
  • paragraph:
    • text: 如果你还想看剩下两个包(
    • code: ui-conversation
    • text: 、
    • code: skill-local
    • text: )的结构,或者其他格式的输出(比如带文件大小的树形图),随时告诉我。
  • button "Copy":
    • img
  • button "Good response":
    • img
  • button "Bad response":
    • img
  • button "Branch into a new conversation":
    • img
  • tooltip "Branch into a new conversation"
  • text: {{clock}} Ran for {{duration}} TTFT {{duration}} {{throughput}} tok/s
  • textbox "Message the agent"
  • button "Commands":
    • img
  • 'button "Access mode, current: Workspace Write"': Workspace Write
  • button "Select model, current DeepSeek-V4-Flash":
    • text: DeepSeek-V4-Flash
    • img
  • button "9% of context used"
  • button "Send message" [disabled]
  • text: 2 turns · 12 steps LLM {{duration}} · Tool call {{duration}} TTFT avg {{duration}} · {{throughput}} tok/s Cache hit 91% Input 113K tok · Output 2.4K tok