Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/ZhangShenao/harness9
/ functions
Functions
1,385 in github.com/ZhangShenao/harness9
⨍
Functions
1,385
◇
Types & classes
252
↓ 2 callers
Function
timeoutBanner
timeoutBanner 返回一条清晰、机器可读的超时提示,供 LLM 调整策略。
internal/tools/bash.go:173
↓ 2 callers
Function
truncateUTF8
truncateUTF8 将 s 截断到不超过 maxBytes 字节,保证不切断多字节 rune, 截断时追加省略标记。
internal/ltm/precis.go:83
↓ 2 callers
Function
verifySHA256
verifySHA256 从 SHA256SUMS 文件中找到 tarballName 对应的期望摘要,与实际文件比对。
cmd/harness9/upgrade.go:188
↓ 2 callers
Function
waitMCPUpdate
waitMCPUpdate 返回一个 tea.Cmd,阻塞等待 mcpCh 发来更新后触发 mcpUpdateMsg。
cmd/harness9/tui_update.go:166
↓ 2 callers
Function
waitSandboxUpdate
waitSandboxUpdate 返回一个 tea.Cmd,阻塞等待 sandboxCh 发来更新后触发 sandboxUpdateMsg。
cmd/harness9/tui_update.go:182
↓ 2 callers
Function
writeSummary
writeSummary 将运行摘要写入 cfg.OutputDir/run_summary.md,记录 RunID 与 seed 以支持复现。
cmd/swebench/report.go:110
↓ 2 callers
Function
yamlQuote
(value)
website/scripts/sync-docs.mjs:90
↓ 1 callers
Method
ActiveCount
ActiveCount 返回 (active, total) 两个计数: - active:pending 和 in_progress 状态的任务数(即尚未完成的任务) - total:TodoStore 中的全部任务数 TUI 续跑逻辑(autoExecuting)使用此方法判断是否仍有待执行的
internal/planning/todo.go:130
↓ 1 callers
Method
AfterExecute
AfterExecute 是空操作,原样返回结果。
internal/permission/hook.go:77
↓ 1 callers
Method
AfterExecute
(ctx context.Context, tc schema.ToolCall, result schema.ToolResult)
internal/hooks/hook.go:25
↓ 1 callers
Method
AfterExecute
AfterExecute 对 DangerHook 是空操作,原样返回结果。
internal/hooks/danger_hook.go:79
↓ 1 callers
Method
BeforeExecute
(ctx context.Context, tc schema.ToolCall)
internal/hooks/hook.go:24
↓ 1 callers
Method
BeforeExecute
BeforeExecute 对 OffloadHook 是空操作。
internal/hooks/offload.go:67
↓ 1 callers
Method
Clear
(_ context.Context)
internal/memory/mem_session.go:62
↓ 1 callers
Method
Close
(_ context.Context)
internal/sandbox/local_environment.go:20
↓ 1 callers
Method
Close
Close 对 HTTP 传输无需额外清理。
internal/mcp/transport.go:309
↓ 1 callers
Function
ConfigFromEnv
ConfigFromEnv 从环境变量读取 OTEL 配置,返回 Config 实例。 环境变量: - OTEL_ENABLED = "true" 启用(其他值视为关闭) - OTEL_SERVICE_NAME = "harness9"(默认) -
internal/observability/config.go:39
↓ 1 callers
Method
Definition
Definition 返回工具元信息,包含描述和 JSON Schema 参数定义。
internal/tools/read_file.go:61
↓ 1 callers
Method
Definition
Definition 返回工具的元信息,包含描述和 JSON Schema 参数定义。 LLM 会根据此定义决定何时调用该工具以及如何构造参数。
internal/tools/write_file.go:58
↓ 1 callers
Method
Definition
Definition 返回工具的元信息,包含描述和 JSON Schema 参数定义。 LLM 会根据此定义决定何时调用该工具以及如何构造参数。
internal/tools/edit_file.go:60
↓ 1 callers
Method
Definition
()
internal/tools/bash.go:87
↓ 1 callers
Method
Definition
Definition 返回工具定义,供 LLM Provider 了解工具的用途和参数格式。
internal/tools/mcp_adapter.go:57
↓ 1 callers
Method
Execute
Execute 调用 MCP Server 的对应工具,透传 LLM 提供的 JSON 参数。
internal/tools/mcp_adapter.go:60
↓ 1 callers
Method
FormatForInjection
()
internal/memory/summarization.go:24
↓ 1 callers
Function
FormatObservation
FormatObservation 渲染工具执行结束后的 Observation 注入日志。
internal/logfmt/format.go:217
↓ 1 callers
Function
FormatParallelTools
FormatParallelTools 渲染并行工具执行开始日志。
internal/logfmt/format.go:228
↓ 1 callers
Function
FormatTurnDone
FormatTurnDone 渲染 Turn 无工具调用时的任务完成日志。
internal/logfmt/format.go:211
↓ 1 callers
Method
Generate
(ctx context.Context, messages []schema.Message, availableTools []schema.ToolDefinition)
internal/memory/summarization.go:18
↓ 1 callers
Method
Generate
(_ context.Context, messages []schema.Message, tools []schema.ToolDefinition)
internal/engine/agent_loop_test.go:43
↓ 1 callers
Method
Generate
(_ context.Context, _ []schema.Message, _ []schema.ToolDefinition)
internal/engine/agent_loop_test.go:104
↓ 1 callers
Method
GetAvailableTools
GetAvailableTools 直接委托给内层 Registry。
internal/hooks/hook.go:46
↓ 1 callers
Method
ID
()
internal/sandbox/local_environment.go:18
↓ 1 callers
Method
Name
()
internal/tools/web_search.go:50
↓ 1 callers
Method
Name
()
internal/tools/web_fetch.go:50
↓ 1 callers
Method
Name
()
internal/evals/assertions.go:80
↓ 1 callers
Method
Name
()
internal/evals/assertions.go:107
↓ 1 callers
Method
Name
()
internal/evals/assertions.go:128
↓ 1 callers
Method
Name
()
internal/evals/assertions.go:147
↓ 1 callers
Method
Name
()
internal/evals/assertions.go:164
↓ 1 callers
Method
Name
()
internal/evals/assertions.go:179
↓ 1 callers
Method
Name
()
internal/evals/assertions.go:193
↓ 1 callers
Method
Name
()
internal/evals/assertions.go:211
↓ 1 callers
Function
NewNoopProvider
NewNoopProvider 返回一个无操作的 Provider。
internal/ltm/provider.go:45
↓ 1 callers
Function
NewStdioTransport
NewStdioTransport 创建 StdioTransport。command/args 指定子进程命令;env 为额外环境变量。
internal/mcp/transport.go:77
↓ 1 callers
Method
OnInteractionEnd
OnInteractionEnd 在 runLoop 退出时调用(defer 保证执行)。turns 是实际执行的轮数。
internal/engine/observer.go:12
↓ 1 callers
Method
OnInteractionStart
OnInteractionStart 在 runLoop 入口调用,返回可携带 Span 的增强 ctx。
internal/engine/observer.go:10
↓ 1 callers
Method
OnPreCompress
OnPreCompress 在上下文压缩前从待压缩消息中提取记忆。
internal/ltm/provider.go:23
↓ 1 callers
Method
OnSessionEnd
OnSessionEnd 在会话结束时执行收尾固化。
internal/ltm/provider.go:25
↓ 1 callers
Method
OnTurnStart
OnTurnStart 在每个 Turn 开始时调用,返回本 Turn 的增强 ctx(LLM 调用和工具调用均继承此 ctx)。
internal/engine/observer.go:14
↓ 1 callers
Method
PopMessage
(ctx context.Context)
internal/memory/session.go:18
↓ 1 callers
Method
Prefetch
Prefetch 在每个 turn 前按 query 预取相关记忆(语义检索)。
internal/ltm/provider.go:19
↓ 1 callers
Method
ReadFile
ReadFile 从本地文件系统读取文件内容。
internal/sandbox/local_environment.go:34
↓ 1 callers
Method
Register
Register 直接委托给内层 Registry。
internal/hooks/hook.go:41
↓ 1 callers
Function
RunCLI
RunCLI 启动交互式 REPL,从 os.Stdin 读取用户输入。 idx 不为 nil 时,支持 /skill-name 斜杠命令直接加载技能正文。 直到 ctx 取消、用户输入 exit/quit 或 EOF 时返回。
cmd/harness9/cli.go:20
↓ 1 callers
Function
RunTUI
RunTUI 以 AltScreen 模式启动 Bubbletea 程序。 用户按 Ctrl-C/Ctrl-D(空闲时)退出后返回。
cmd/harness9/tui.go:388
↓ 1 callers
Function
RunUpgrade
RunUpgrade 检查并升级 harness9 到最新版本。 currentVersion 由编译时 ldflags 注入(如 "0.0.2");本地开发构建为 "dev"。
cmd/harness9/upgrade.go:39
↓ 1 callers
Method
Send
Send 发送 HTTP POST JSON-RPC 请求并等待响应。
internal/mcp/transport.go:247
↓ 1 callers
Method
Send
(ctx context.Context, _ string, _ json.RawMessage)
internal/mcp/client_test.go:177
↓ 1 callers
Function
Setup
Setup 根据 cfg 初始化 OTEL tracer 和 meter。 若 cfg.Enabled=false 或 cfg.Exporter=noop,返回零开销的 noop 实现。 对 OTLP exporter: - endpoint 和 headers 均由 cfg 显式传入(不依赖 SD
internal/observability/setup.go:46
↓ 1 callers
Method
StaleCandidates
StaleCandidates 识别清理候选:importance<=1 且 use_count=0 且 60 天未更新的未删除条目。 当前为 Phase 3 接缝——供未来的 Consolidator(Dreaming 巩固)消费,主流程暂未调用。
internal/ltm/store.go:333
↓ 1 callers
Method
Start
Start 对 HTTP 传输无需特殊初始化(HTTP 是无状态的)。
internal/mcp/transport.go:244
↓ 1 callers
Method
Start
Start 并发连接所有已配置的 MCP Server,超时时间为每个 server 30 秒。 所有连接结果(成功或失败)均在方法返回前完成(wg.Wait),结果写入 m.status。 设计原则(fail-soft):单个 Server 连接失败不影响其他 Server,也不导致整体启动失败
internal/mcp/manager.go:69
↓ 1 callers
Method
Stop
Stop 关闭所有活跃的 MCP Server 连接。
internal/mcp/manager.go:187
↓ 1 callers
Method
String
String 返回状态的可读名称,供 TUI 展示。
internal/sandbox/container.go:31
↓ 1 callers
Method
String
String 返回 PermissionMode 的可读名称。
internal/engine/permission.go:23
↓ 1 callers
Method
Sync
Sync 在每个 turn 结束后同步对话数据给提供者。
internal/ltm/provider.go:21
↓ 1 callers
Function
WithIncludeReasoning
WithIncludeReasoning 在每次请求中注入 include_reasoning=true, 使 OpenRouter 在流式响应的 delta.reasoning 字段中返回推理内容。 对不支持此参数的后端无副作用(参数被忽略)。
internal/provider/openai.go:72
↓ 1 callers
Function
WithMaxConcurrentTools
WithMaxConcurrentTools 设置同一 Turn 内最大并发工具数,0 或负数表示不限制。
internal/engine/agent_loop.go:37
↓ 1 callers
Method
WithNotify
WithNotify 注册状态变更回调(用于 TUI 实时更新)。调用线程不限。
internal/mcp/manager.go:59
↓ 1 callers
Method
WithOffloadEnabled
WithOffloadEnabled 在 system prompt 中添加 context offload 检索指引。 仅在 OffloadHook 已配置时调用。
internal/context/builder.go:45
↓ 1 callers
Function
WithPermissionMode
WithPermissionMode 设置 AgentEngine 的权限模式。
internal/engine/permission.go:39
↓ 1 callers
Function
WithPreviewLines
WithPreviewLines 设置 context 中保留的预览行数(默认 20)。
internal/hooks/offload.go:38
↓ 1 callers
Method
WithSandboxContext
WithSandboxContext 启用 Sandbox 执行环境提示。 当启用时,在 system prompt 中添加 Sandbox 特定指引,说明可用的环境能力。
internal/context/builder.go:60
↓ 1 callers
Method
WithTodoEnabled
WithTodoEnabled 在 system prompt 中添加 todo_write 工具的使用指引。 仅在 todo_write 已注册时调用。
internal/context/builder.go:38
↓ 1 callers
Function
WriteJSON
WriteJSON 将报告序列化为 JSON,写入 path。 自动创建父目录(权限 0755),使用 MarshalIndent 保证可读性。
internal/evals/report.go:109
↓ 1 callers
Function
WriteMarkdown
WriteMarkdown 将报告渲染为 Markdown,写入 path。 包含:总计行、按类别统计表格、每个 Case 的详细结果(含失败消息和效率警告)。 分类统计按名称字母序排列,确保输出稳定可 diff。
internal/evals/report.go:123
↓ 1 callers
Method
activeStatusBarStyle
activeStatusBarStyle 返回当前模式下的状态栏容器背景样式。 三种背景色通过不同色调给用户强烈的视觉区分信号: - shellMode=true → 深绿底(shellStatusBarStyle, bg #22 / fg #120) - Plan/AutoEdit 模
cmd/harness9/tui_view.go:69
↓ 1 callers
Method
agentNames
()
internal/subagent/task_tool.go:130
↓ 1 callers
Method
applyCompactionWith
applyCompactionWith 对消息列表应用压缩策略。comp 为 nil 时原样返回。
internal/engine/agent_loop.go:523
↓ 1 callers
Method
availableNames
()
internal/skills/index.go:63
↓ 1 callers
Function
bannerContent
bannerContent 返回欢迎页的完整 Banner 内容(ASCII Art + 副标题 + 快捷键提示 + 分隔线)。 width 为终端宽度,用于居中 ASCII Art 和计算分隔线长度。
cmd/harness9/tui_banner.go:17
↓ 1 callers
Function
baseURLEnablesReasoning
baseURLEnablesReasoning 判断给定的 base URL 是否为需要 include_reasoning=true 才会暴露推理内容的 OpenAI 兼容网关(OpenRouter、Requesty)。 baseURLEnablesReasoning reports whethe
internal/provider/openai.go:83
↓ 1 callers
Method
buildChildRegistry
buildChildRegistry 构造子代理的隔离工具注册表:仅注册定义允许的基础工具 (永不含 task),再包权限派生 hook + denyTaskHook + sharedHooks(danger/offload)。 baseTools 参数允许调用方传入经 sandbox 包装后的工具
internal/subagent/runner.go:64
↓ 1 callers
Method
buildMentionHint
buildMentionHint 为 @ 前缀生成子代理建议提示:列出名称匹配的子代理及其截断描述。 与 buildCompletionHint 的 / 分支同构:Tab 循环中用缓存列表(高亮选中项),否则按前缀实时匹配。
cmd/harness9/tui_update.go:1054
↓ 1 callers
Function
buildSensitivePaths
()
internal/tools/safe_path.go:25
↓ 1 callers
Function
buildTarGz
buildTarGz 在内存中构造一个包含单个文件的 .tar.gz,返回其字节内容。
cmd/harness9/upgrade_test.go:19
↓ 1 callers
Function
commonStringPrefix
commonStringPrefix 返回 a 与 b 的最长公共前缀。
internal/tools/edit_file.go:390
↓ 1 callers
Method
connect
connect 根据 ServerConfig 构建 Transport 并执行连接握手。
internal/mcp/manager.go:123
↓ 1 callers
Function
containsStr
(s, sub string)
internal/planning/todo_test.go:122
↓ 1 callers
Function
convertToFunctionParameters
convertToFunctionParameters 将 JSON Schema interface{} 转换为 OpenAI SDK 的 FunctionParameters 类型。 优先路径:若 input 已是 map[string]interface{},直接类型断言(无内存分配)。 回退
internal/provider/openai.go:381
↓ 1 callers
Method
countState
(s TaskState)
internal/subagent/tracker.go:207
↓ 1 callers
Method
cycleCompletion
cycleCompletion 处理 Tab 键:首次进入补全模式,或在匹配列表中循环切换。 补全顺序:内置命令优先,其次 Skills。
cmd/harness9/tui_update.go:917
↓ 1 callers
Method
dispatchShellCommand
dispatchShellCommand 处理用户侧 "!<cmd>" Shell 命令执行。 执行流程: 1. 空命令直接返回(重新聚焦输入框) 2. 追加 "$ cmd" 行到 Scrollback(先于执行结果显示,提供即时反馈) 3. isInteractiveCmd 检测:命中则追加错误
cmd/harness9/tui_update.go:1710
↓ 1 callers
Method
duckDuckGoSearch
duckDuckGoSearch 向 DDG HTML 端点发送 POST 请求并解析结果。
internal/tools/web_search.go:128
↓ 1 callers
Method
executeTools
executeTools 并发执行所有工具调用,每个工具带有独立的超时控制。 通过预分配切片 + 索引写入保证结果顺序与 ToolCalls 一致。
internal/engine/agent_loop.go:602
↓ 1 callers
Function
extractArgString
extractArgString 为规则匹配提取可读的参数字符串。 bash 工具提取 command 字段;其他工具使用原始 JSON 字节。
internal/permission/hook.go:64
↓ 1 callers
Function
extractDDGResult
extractDDGResult 从单个 result div 节点中提取标题、URL 和摘要。
internal/tools/web_search.go:190
↓ 1 callers
Function
extractFinalOutput
extractFinalOutput 从 ScriptedProvider 的脚本序列中提取最终文本输出。 从末尾向前遍历,返回第一个满足"无工具调用且有文本"的 Turn 的 Text。 若脚本序列全为工具调用(无纯文本 Turn),返回通用终止文案"任务完成。"。 这反映了 ReAct 循环的
internal/evals/harness.go:150
↓ 1 callers
Method
extractMessage
extractMessage 从 Anthropic SDK 的 ContentBlockUnion 切片中提取 schema.Message。 遍历所有 Content Block,合并 text 类型的文本和 tool_use 类型的工具调用。
internal/provider/anthropic.go:346
↓ 1 callers
Method
extractMessage
extractMessage 从 OpenAI SDK 的 ChatCompletionMessage 中提取 schema.Message。 过滤非 function 类型的 ToolCalls,统一转换为 schema.ToolCall。
internal/provider/openai.go:359
← previous
next →
401–500 of 1,385, ranked by callers