读者:Coding Agent(改
src/core)。产品模型工具用法见.xrk/skills/core/agent-tools。
文档与代码
- 契约:docs/agent-context.md · docs/ai-workflow.md · docs/harness-module-loop.md
- 代码:
src/infrastructure/ai-workflow/ai-workflow.js·harness-module-loop.js·loader.js·chat-pipeline.js
工作流
- 路径:
core/*/workflow/*.js(AiWorkflowLoader扫描,不用ai-workflow.streamDir) - 配置:
data/server_bots/{port}/ai-workflow.yaml;schemacommonconfig/system/system-ai-workflow.js - 工具:
registerMCPTool→this.mcpTools;远程挂载:export function getMcpServers()或 yamlmcp.remote - Tool 环:
callAI//v1+workflows →@xrkseek/harness(runHarnessModuleLoop) - 工厂:仅单次
chat/chatStream(无 MCP 多轮) - 出站:
prepareOutboundMessages= contextWindow trim - 策略/安全:
policies[]·security.toolScan·security.approval;执行门禁在MCPServer.handleToolCall - 斜杠:
slash-commands.js(/recipe);microagents:trigger-microagents.js - Shell:
#utils/exec-async.js;禁止promisify(exec)(skillxrk-node-runtime)
与子服务端关系
子服务端为可选 Python 扩展;AiWorkflow 核心链路不依赖子服务。业务 Core 可通过 AgentRuntime.callSubserver 调用子服务 apis/ 接口。