Directories
¶
| Path | Synopsis |
|---|---|
|
Package agent 提供 Agent 门面:主循环 Runner + 会话记忆 + 运行时 保障(预算、结构化输出)的组合体。
|
Package agent 提供 Agent 门面:主循环 Runner + 会话记忆 + 运行时 保障(预算、结构化输出)的组合体。 |
|
Package askuser 提供内置的 ask_user 能力:大脑主动向用户求澄清。
|
Package askuser 提供内置的 ask_user 能力:大脑主动向用户求澄清。 |
|
agent.go:AgentConfig → agent.Agent 的装配(单文件 Build 与多文件 BuildApp 共用),含模型/存储/召回的解析辅助。
|
agent.go:AgentConfig → agent.Agent 的装配(单文件 Build 与多文件 BuildApp 共用),含模型/存储/召回的解析辅助。 |
|
core
|
|
|
capability
Package capability 定义框架的最小统一抽象:一切节点皆能力。
|
Package capability 定义框架的最小统一抽象:一切节点皆能力。 |
|
runctx
deliver.go:交付物收集器(交付物直达通道的 ctx 原语,设计见 docs/deliverable-channel-plan.md)。
|
deliver.go:交付物收集器(交付物直达通道的 ctx 原语,设计见 docs/deliverable-channel-plan.md)。 |
|
examples/main.go:从一份 YAML 拉起整个应用。
|
examples/main.go:从一份 YAML 拉起整个应用。 |
|
embedded
command
examples/embedded demonstrates single-binary deployment: the entire config tree (app.yaml, agents, namespaces, prompt files) is compiled into the binary with //go:embed and loaded via config.LoadAppFS — with zero dependence on the filesystem or the process working directory.
|
examples/embedded demonstrates single-binary deployment: the entire config tree (app.yaml, agents, namespaces, prompt files) is compiled into the binary with //go:embed and loaded via config.LoadAppFS — with zero dependence on the filesystem or the process working directory. |
|
interactive
command
backend.go:内置 mock 业务后端(商品/库存/销售/订单/客户)。
|
backend.go:内置 mock 业务后端(商品/库存/销售/订单/客户)。 |
|
pipeline
command
examples/pipeline —— 无脑硬编排样例:把多个 agent 串成固定流程。
|
examples/pipeline —— 无脑硬编排样例:把多个 agent 串成固定流程。 |
|
superpowers
command
examples/superpowers:把 obra/superpowers 技能集拉起为**可交互的研发教练** (smoke.yaml 保持纯测试用途,本 runner 独立)。
|
examples/superpowers:把 obra/superpowers 技能集拉起为**可交互的研发教练** (smoke.yaml 保持纯测试用途,本 runner 独立)。 |
|
impl
|
|
|
channel/feishu
Package feishu 是飞书(Lark)的 Channel 适配器:
|
Package feishu 是飞书(Lark)的 Channel 适配器: |
|
exec/docker
Package docker 是 agent-kit 官方的 docker 执行沙箱:在一次性、加固的 容器里跑脚本(无网络、只读根、tmpfs、限内存/CPU/PID、丢权限、禁提权)。
|
Package docker 是 agent-kit 官方的 docker 执行沙箱:在一次性、加固的 容器里跑脚本(无网络、只读根、tmpfs、限内存/CPU/PID、丢权限、禁提权)。 |
|
interactor/cli
Package cli 提供 runctx.Interactor 的终端内置实现。
|
Package cli 提供 runctx.Interactor 的终端内置实现。 |
|
memory/inmemory
Package inmemory 是 memory 的进程内关键词匹配后端(memory type: inmemory), 按 scope 分桶。
|
Package inmemory 是 memory 的进程内关键词匹配后端(memory type: inmemory), 按 scope 分桶。 |
|
memory/redis
Package redis 提供长期记忆的 redis 后端:每个 scope 落一个 redis hash (<prefix>mem:<scope>,field=key、value=value),跨副本共享。
|
Package redis 提供长期记忆的 redis 后端:每个 scope 落一个 redis hash (<prefix>mem:<scope>,field=key、value=value),跨副本共享。 |
|
model/minimax
thinkstrip.go:推理模型 <think> 块的适配层剥离。
|
thinkstrip.go:推理模型 <think> 块的适配层剥离。 |
|
model/openai
Package openai 注册 openai 兼容模型工厂。
|
Package openai 注册 openai 兼容模型工厂。 |
|
model/zhipu
Package zhipu 走智谱 GLM 的 OpenAI 兼容接口(bigmodel.cn)。
|
Package zhipu 走智谱 GLM 的 OpenAI 兼容接口(bigmodel.cn)。 |
|
secrets/file
Package file 提供凭证协议的文件实现:从一个不入库的 YAML 文件 (name: value 平铺)取凭证。
|
Package file 提供凭证协议的文件实现:从一个不入库的 YAML 文件 (name: value 平铺)取凭证。 |
|
session/bigram
Package bigram 是 session 的内置词法召回器(retriever: bigram):字符 bigram 重叠打分,对中文友好、无 embedding 依赖的保底实现。
|
Package bigram 是 session 的内置词法召回器(retriever: bigram):字符 bigram 重叠打分,对中文友好、无 embedding 依赖的保底实现。 |
|
session/file
Package file 是 session 的文件后端(session type: file):dir 下每个会话 一个 <id>.jsonl,进程重启后会话可恢复。
|
Package file 是 session 的文件后端(session type: file):dir 下每个会话 一个 <id>.jsonl,进程重启后会话可恢复。 |
|
session/inmemory
Package inmemory 是 session 的进程内滑动窗口后端(session type: inmemory), 适合开发与无状态短会话。
|
Package inmemory 是 session 的进程内滑动窗口后端(session type: inmemory), 适合开发与无状态短会话。 |
|
session/redis
Package redis 提供 session 会话历史的 redis 后端(RPUSH/LRANGE 追加日志, 实现 FullLoader 支持滚动摘要与窗外召回)。
|
Package redis 提供 session 会话历史的 redis 后端(RPUSH/LRANGE 追加日志, 实现 FullLoader 支持滚动摘要与窗外召回)。 |
|
skill/einoskill
Package einoskill 把 agent-kit 的技能物化目录(EnsurePack 产物, <work_dir>/agent-kit/.skills/<ns>/<name>@<version>)适配为 eino ADK Skill middleware 的 Backend 接口——用 eino ADK 的团队可以直接消费我们分发、 锁定(skills.lock)、校验过的技能目录,SKILL.md frontmatter 两边同一份 (name/description/context/agent/model 全兼容)。
|
Package einoskill 把 agent-kit 的技能物化目录(EnsurePack 产物, <work_dir>/agent-kit/.skills/<ns>/<name>@<version>)适配为 eino ADK Skill middleware 的 Backend 接口——用 eino ADK 的团队可以直接消费我们分发、 锁定(skills.lock)、校验过的技能目录,SKILL.md frontmatter 两边同一份 (name/description/context/agent/model 全兼容)。 |
|
source/a2a
Package a2a 把远端 agent 服务接入为 Source:远端跑的是 skill 还是 完整 agent 对本地不可见,统一以 cap://agent.a2a/<source名>/<agent名> 的黑盒能力挂载。
|
Package a2a 把远端 agent 服务接入为 Source:远端跑的是 skill 还是 完整 agent 对本地不可见,统一以 cap://agent.a2a/<source名>/<agent名> 的黑盒能力挂载。 |
|
source/exectool
Package exectool 把"执行一段脚本"声明为 Source:一段配置列几个工具、 各绑一种运行时(python/node/bash/sh),每个成为一个 cap://tool/<源名>/<工具名> 能力,入参只有 script + args。
|
Package exectool 把"执行一段脚本"声明为 Source:一段配置列几个工具、 各绑一种运行时(python/node/bash/sh),每个成为一个 cap://tool/<源名>/<工具名> 能力,入参只有 script + args。 |
|
source/httptool
Package httptool 把 HTTP 接口声明为 Source:一段配置声明一批接口, 每个接口成为一个 cap://tool/<source名>/<接口名> 能力,无需写代码。
|
Package httptool 把 HTTP 接口声明为 Source:一段配置声明一批接口, 每个接口成为一个 cap://tool/<source名>/<接口名> 能力,无需写代码。 |
|
source/local
Package local 把本地 Go 函数包装成能力,零配置成本。
|
Package local 把本地 Go 函数包装成能力,零配置成本。 |
|
source/mcptool
Package mcptool 把 MCP server 接入为 Source:server 的每个工具 成为一个 cap://tool/<source名>/<工具名> 能力。
|
Package mcptool 把 MCP server 接入为 Source:server 的每个工具 成为一个 cap://tool/<source名>/<工具名> 能力。 |
|
source/rpctool
Package rpctool 把 RPC 接口暴露为能力。
|
Package rpctool 把 RPC 接口暴露为能力。 |
|
source/vector
Package vector 把向量知识库检索接成一种工具源(source type: vector), 与 http/mcp/rpc 并列——RAG 在本框架里就是 tools 层的一种工具,不是 独立组件。
|
Package vector 把向量知识库检索接成一种工具源(source type: vector), 与 http/mcp/rpc 并列——RAG 在本框架里就是 tools 层的一种工具,不是 独立组件。 |
|
store/file
Package file 提供 store.KV 的文件后端:一键一文件,写入 tmp+rename 原子落盘,进程重启后可读回。
|
Package file 提供 store.KV 的文件后端:一键一文件,写入 tmp+rename 原子落盘,进程重启后可读回。 |
|
store/redis
Package redis 提供 store.KV 的 redis 后端。
|
Package redis 提供 store.KV 的 redis 后端。 |
|
utils/decode
Package decode 是协议实现方的配置解码工具:把 map 形式的配置解码到 各实现自己的强类型配置结构上(JSON round-trip,足够覆盖 YAML 基础类型)。
|
Package decode 是协议实现方的配置解码工具:把 map 形式的配置解码到 各实现自己的强类型配置结构上(JSON round-trip,足够覆盖 YAML 基础类型)。 |
|
utils/redisconn
Package redisconn 定义 agent-kit 对 redis 的全部诉求(Client 能力面 接口),并提供基于官方 go-redis 的实现。
|
Package redisconn 定义 agent-kit 对 redis 的全部诉求(Client 能力面 接口),并提供基于官方 go-redis 的实现。 |
|
utils/redisconn/redisconntest
Package redisconntest 提供 redisconn.Client 的内存实现:测试里替代 真 redis,同时是第三方实现 Client 接口的最小参考——每个方法的语义 契约(Update 的原子性、Get 的 ok 语义、LRange 的负下标)在此逐一体现。
|
Package redisconntest 提供 redisconn.Client 的内存实现:测试里替代 真 redis,同时是第三方实现 Client 接口的最小参考——每个方法的语义 契约(Update 的原子性、Get 的 ok 语义、LRange 的负下标)在此逐一体现。 |
|
internal
|
|
|
testmodel
Package testmodel 提供测试用的脚本化 ChatModel:按预设序列返回消息, 无需真实模型即可端到端验证循环、skill、workflow 等机制。
|
Package testmodel 提供测试用的脚本化 ChatModel:按预设序列返回消息, 无需真实模型即可端到端验证循环、skill、workflow 等机制。 |
|
protocol
|
|
|
channel
Package channel 定义 IM 接入层(Ring 1):飞书、钉钉、Slack 等各写 一个适配器,agent 侧零改动。
|
Package channel 定义 IM 接入层(Ring 1):飞书、钉钉、Slack 等各写 一个适配器,agent 侧零改动。 |
|
exec
Package exec 定义脚本执行沙箱的协议(可扩展接缝):脚本在哪个隔离环境 执行,由使用方实现并注册(docker/远程/WASM/…),核心不含沙箱实现(官方 docker 实现见 impl/exec/docker)。
|
Package exec 定义脚本执行沙箱的协议(可扩展接缝):脚本在哪个隔离环境 执行,由使用方实现并注册(docker/远程/WASM/…),核心不含沙箱实现(官方 docker 实现见 impl/exec/docker)。 |
|
memory
Package memory 提供长期记忆:以 memory_save / memory_search 能力 暴露给模型,由大脑决定何时记、何时查——这是"模型自主"的部分。
|
Package memory 提供长期记忆:以 memory_save / memory_search 能力 暴露给模型,由大脑决定何时记、何时查——这是"模型自主"的部分。 |
|
model
Package model 是模型协议:按 provider 注册工厂、按配置构造 ChatModel。
|
Package model 是模型协议:按 provider 注册工厂、按配置构造 ChatModel。 |
|
prompt
Package prompt 把提示词抽象为 provider 供给的资源:按名字+版本通道 拉取,渲染变量,版本随轨迹打点可回溯。
|
Package prompt 把提示词抽象为 provider 供给的资源:按名字+版本通道 拉取,渲染变量,版本随轨迹打点可回溯。 |
|
resource
Package resource is the single read-only resource abstraction for the framework: configuration (app/agent/namespace), prompt files, secrets files, and skill-pack contents all load through an io/fs.FS resolved from a resource ref.
|
Package resource is the single read-only resource abstraction for the framework: configuration (app/agent/namespace), prompt files, secrets files, and skill-pack contents all load through an io/fs.FS resolved from a resource ref. |
|
secrets
Package secrets 是凭证协议:配置文本中的 ${ENV_VAR} 与 ${secret:NAME} 占位符在加载时展开,凭证不落配置文件。
|
Package secrets 是凭证协议:配置文本中的 ${ENV_VAR} 与 ${secret:NAME} 占位符在加载时展开,凭证不落配置文件。 |
|
session
Package session 定义会话历史存储的契约与工厂,不含具体后端实现。
|
Package session 定义会话历史存储的契约与工厂,不含具体后端实现。 |
|
source
Package source 定义能力供给的三层中第一层:Source(供给源)。
|
Package source 定义能力供给的三层中第一层:Source(供给源)。 |
|
store
Package store 提供 KV 家族存储原语。
|
Package store 提供 KV 家族存储原语。 |
|
vectorstore
Package vectorstore 定义向量库后端的协议(可扩展接缝):真实向量库 (qdrant/milvus/自定义)实现 eino Retriever 并在这里注册,由 vector 检索 工具源(impl/source/vector)按名字选用。
|
Package vectorstore 定义向量库后端的协议(可扩展接缝):真实向量库 (qdrant/milvus/自定义)实现 eino Retriever 并在这里注册,由 vector 检索 工具源(impl/source/vector)按名字选用。 |
|
runtime
|
|
|
engine
Package engine 提供执行引擎模板(Ring 1)。
|
Package engine 提供执行引擎模板(Ring 1)。 |
|
loop
dedup.go:重复调用断路器(Ring 0)。
|
dedup.go:重复调用断路器(Ring 0)。 |
|
observe
events.go:结构化进度事件的发射点(设计见 docs/channel-card-design.md §2.3)。
|
events.go:结构化进度事件的发射点(设计见 docs/channel-card-design.md §2.3)。 |
|
suspend
Package suspend 实现挂起/恢复的持久化:ask_user 与审批等待不再靠 进程内 goroutine 阻塞——飞书审批常常跨小时甚至隔天,占着 goroutine 等、进程一重启全丢,撑不住真实使用。
|
Package suspend 实现挂起/恢复的持久化:ask_user 与审批等待不再靠 进程内 goroutine 阻塞——飞书审批常常跨小时甚至隔天,占着 goroutine 等、进程一重启全丢,撑不住真实使用。 |
|
decorate.go:出站装饰与进度订阅的第三方扩展面 (设计见 docs/channel-card-design.md §2.4/§3)。
|
decorate.go:出站装饰与进度订阅的第三方扩展面 (设计见 docs/channel-card-design.md §2.4/§3)。 |
|
agent.go 装配声明式 sub-agent:与主循环**同构**的隔离子循环—— 同一套 harness(L1 纪律 + Ring 0 闸门 + 评审循环 + 压缩),只是 persona/工具面/画像不同。
|
agent.go 装配声明式 sub-agent:与主循环**同构**的隔离子循环—— 同一套 harness(L1 纪律 + Ring 0 闸门 + 评审循环 + 压缩),只是 persona/工具面/画像不同。 |
|
Package std 空导入即拉起 agent-kit 的默认存储后端(session/memory 的 inmemory·file·bigram + store.KV 的 file),恢复开箱即用的 zero-config。
|
Package std 空导入即拉起 agent-kit 的默认存储后端(session/memory 的 inmemory·file·bigram + store.KV 的 file),恢复开箱即用的 zero-config。 |
|
Package todo 提供内置的计划外化能力(todo_write/todo_read)。
|
Package todo 提供内置的计划外化能力(todo_write/todo_read)。 |
Click to show internal directories.
Click to hide internal directories.