ext/

directory
v1.3.11 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 27, 2026 License: Apache-2.0

Directories

Path Synopsis
Package fs 定义 ext 层共享的最小文件系统接口:filetools、offload、 skill、localsession 等中间件依赖此抽象,便于注入内存 FS(测试) 或本地实现(生产)。
Package fs 定义 ext 层共享的最小文件系统接口:filetools、offload、 skill、localsession 等中间件依赖此抽象,便于注入内存 FS(测试) 或本地实现(生产)。
hook
approve
Package approve 提供工具调用审批:工具执行前发审批事件并阻塞等待 使用方经 Decisions channel 送回的决策。
Package approve 提供工具调用审批:工具执行前发审批事件并阻塞等待 使用方经 Decisions channel 送回的决策。
askuser
Package askuser 提供 ask_user 工具:模型向用户提问,循环中断等待回答, 回答作为工具结果进入消息历史。
Package askuser 提供 ask_user 工具:模型向用户提问,循环中断等待回答, 回答作为工具结果进入消息历史。
contextfix
Package contextfix 在每次 Run 开始时修理消息历史,双向修补: 补缺 —— assistant 的 tool_call 缺少对应 tool 结果时补占位消息; 删孤 —— tool 结果消息对应的 assistant 调用已丢失时删除(保留会被 API 拒绝)。
Package contextfix 在每次 Run 开始时修理消息历史,双向修补: 补缺 —— assistant 的 tool_call 缺少对应 tool 结果时补占位消息; 删孤 —— tool 结果消息对应的 assistant 调用已丢失时删除(保留会被 API 拒绝)。
filetools
binary.go 是 read_file 的二进制兜底:特殊类型文件(可执行/压缩包/ 办公文档/音视频等)文本化进上下文是乱码且体量巨大,直接拒读。
binary.go 是 read_file 的二进制兜底:特殊类型文件(可执行/压缩包/ 办公文档/音视频等)文本化进上下文是乱码且体量巨大,直接拒读。
internal/await
Package await 提供决策路由器:人机交互 hook(approve/askuser/taskplan) 的多个等待者共享同一个决策 channel,并发判定下投递到谁 是随机的—— Router 按 key(CallID)把值路由到正确的等待者:错配的暂存并广播唤醒, 等待者重查暂存。
Package await 提供决策路由器:人机交互 hook(approve/askuser/taskplan) 的多个等待者共享同一个决策 channel,并发判定下投递到谁 是随机的—— Router 按 key(CallID)把值路由到正确的等待者:错配的暂存并广播唤醒, 等待者重查暂存。
localsession
Package localsession 将 session 以文件形式持久化到本地文件系统: EndHook 时把完整可恢复状态(消息历史、用量、停止原因)写入 sessions/<id>.json,同一 ID 每轮滚动覆盖为最新快照。
Package localsession 将 session 以文件形式持久化到本地文件系统: EndHook 时把完整可恢复状态(消息历史、用量、停止原因)写入 sessions/<id>.json,同一 ID 每轮滚动覆盖为最新快照。
mcp
Package mcp 通过单一 mcp_router 工具封装全部 MCP 调用。
Package mcp 通过单一 mcp_router 工具封装全部 MCP 调用。
offload
Package offload 是 ToolEndHook:超大工具结果卸载到文件系统, 上下文里只保留头部摘要与文件路径,防止大输出(日志、转储、目录遍历) 撑爆上下文。
Package offload 是 ToolEndHook:超大工具结果卸载到文件系统, 上下文里只保留头部摘要与文件路径,防止大输出(日志、转储、目录遍历) 撑爆上下文。
skill
Package skill 将技能指令按需注入 system prompt。
Package skill 将技能指令按需注入 system prompt。
skilltool
Package skilltool 是 skill 的第三层加载:模型用 load_skill 工具按名称 取 SKILL.md 全文 + 技能目录结构。
Package skilltool 是 skill 的第三层加载:模型用 load_skill 工具按名称 取 SKILL.md 全文 + 技能目录结构。
summary
Package summary 在 loop 结束时调用模型对整个过程生成摘要, 结果写入 state.Metadata["summary"](失败不阻断主流程)。
Package summary 在 loop 结束时调用模型对整个过程生成摘要, 结果写入 state.Metadata["summary"](失败不阻断主流程)。
task
Package task 提供 task 工具:一个"并行分身"工具(fork)。
Package task 提供 task 工具:一个"并行分身"工具(fork)。
taskplan
Package taskplan 提供 task_plan 工具:模型提交任务规划后中断等待 用户处置——执行 / 拒绝 / 按修改意见调整后重新提交。
Package taskplan 提供 task_plan 工具:模型提交任务规划后中断等待 用户处置——执行 / 拒绝 / 按修改意见调整后重新提交。
provider
anthropic
Package anthropic 实现 Anthropic Messages 协议的 Provider (POST {BaseURL}/v1/messages)。
Package anthropic 实现 Anthropic Messages 协议的 Provider (POST {BaseURL}/v1/messages)。
openai
Package openai 实现 OpenAI 兼容协议的 Provider, 任何兼容 /chat/completions 的端点(OpenAI/DeepSeek/vLLM/Ollama 等) 只需替换 BaseURL 即可接入。
Package openai 实现 OpenAI 兼容协议的 Provider, 任何兼容 /chat/completions 的端点(OpenAI/DeepSeek/vLLM/Ollama 等) 只需替换 BaseURL 即可接入。
openairesponses
Package openairesponses 实现 OpenAI Responses 格式的 Provider (POST {BaseURL}/responses),DeepSeek、OpenAI 等兼容端点替换 BaseURL 即可接入。
Package openairesponses 实现 OpenAI Responses 格式的 Provider (POST {BaseURL}/responses),DeepSeek、OpenAI 等兼容端点替换 BaseURL 即可接入。
provutil
Package provutil 提供 provider 实现的公共薄层:结构化 HTTP 错误 (modelretry 等装饰器按 Retryable() 判断可重试性,不解析错误文本)、 状态检查与 SSE 行扫描器。
Package provutil 提供 provider 实现的公共薄层:结构化 HTTP 错误 (modelretry 等装饰器按 Retryable() 判断可重试性,不解析错误文本)、 状态检查与 SSE 行扫描器。
warp
model/modelretry
Package modelretry 是 provider 装饰器:对模型调用做指数退避重试。
Package modelretry 是 provider 装饰器:对模型调用做指数退避重试。
tool/limit
Package limit 是工具节点中间件:跨全部工具共享一个信号量,限制同一 时刻实际执行的工具调用数——模型一轮 fan-out N 个调用时(引擎默认全并发), 保护外部资源不被 N 路同时打挂(rate-limit / DB 连接 / 外呼风暴)。
Package limit 是工具节点中间件:跨全部工具共享一个信号量,限制同一 时刻实际执行的工具调用数——模型一轮 fan-out N 个调用时(引擎默认全并发), 保护外部资源不被 N 路同时打挂(rate-limit / DB 连接 / 外呼风暴)。
tool/safetool
Package safetool 是工具节点中间件:panic 恢复为 error、error 附带工具名, 单个工具的崩溃不会炸掉整个 agent loop(工具错误由引擎回传模型自纠)。
Package safetool 是工具节点中间件:panic 恢复为 error、error 附带工具名, 单个工具的崩溃不会炸掉整个 agent loop(工具错误由引擎回传模型自纠)。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL