- 博客(3251)
- 资源 (44)
- 收藏
- 关注
原创 鸿蒙OS应用开发的开发环境
当你想投入到这个生态系统里的时候,首先是使用它,这是最方便的方法,比如买一台带有鸿蒙系统的手机,并且不断地使用它,提出你自己的建议,让它进行完善和改进。在这里主要开始学习开发鸿蒙系统的应用,由于鸿蒙系统发布的时间不是很久,当然是相对安卓和IOS来说,因此它是一个全新的系统,并且致力于创建一种更方便的软件方式,它引入不同于以往的软件开发语言,以及不同的界面接口。这时候,就可以看到应用的名称,包的名称,保存的位置,编译的SDK版本,运行模式,是否可视化编辑,语言,兼容性API,设备类型。
2023-12-07 12:31:53
897
2
原创 loadWorkspaceBootstrapFiles 函数分析
loadWorkspaceBootstrapFiles函数用于加载工作区引导文件,包括智能体配置、工具定义等标准文件。该函数首先解析工作区路径,然后定义并加载7种标准引导文件(如AGENTS.md、TOOLS.md等),同时添加内存相关文件。文件加载使用缓存机制,并优雅处理缺失文件。还提供会话过滤功能,为不同会话类型返回特定文件集合。函数采用异步操作和类型安全设计,可通过并行加载和预检查进一步优化性能。
2026-03-29 20:50:00
153
原创 buildAgentSystemPrompt 函数分析
摘要:buildAgentSystemPrompt是OpenClaw智能体系统的核心函数,负责构建完整的系统提示词模板。该函数接收包括工作目录、思考级别、工具列表等12项参数,通过6个功能模块(工具配置、安全管理、工作区设置等)定义智能体行为规范。实现上采用工具优先级处理、沙箱环境适配等关键技术,支持三种提示词模式。主要应用于智能体启动、会话创建等场景,建议通过模块化重构和配置驱动优化代码结构。该函数通过灵活组合各类参数,为智能体建立明确的行为边界和交互规则。
2026-03-29 20:13:28
160
原创 从Control UI发送消息到回应的过程
本文分析了params.opts.onPartialReply回调函数的完整调用链。该回调由Control UI定义,通过getReplyFromConfig→runReplyAgent→runAgentTurnWithFallback等函数逐层传递,最终在subscribeEmbeddedPiSession的事件处理器中被触发。调用链展示了该回调如何从UI传递到代理系统底层,再通过包装函数回传给原始调用者,实现实时接收和显示代理生成的部分回复内容。整个过程体现了Control UI与代理系统之间的关键交互
2026-03-28 19:44:04
109
原创 摘要:“智能体循环生命周期、流机制与等待语义”
摘要:本文详细阐述了智能体循环(Agent Loop)的完整生命周期和工作机制。智能体循环包括输入接收、上下文组装、模型推理、工具执行、流式输出和持久化存储等关键环节。系统采用会话级串行化执行保证一致性,通过事件流机制(生命周期、工具、助手三类事件)实现状态同步。文档还介绍了提示词组装规则、钩子系统(内部钩子和插件钩子)、流式输出处理、工具执行管理、上下文压缩机制以及超时控制等核心功能模块的实现逻辑。
2026-03-28 18:26:52
135
原创 使用 Brave Search 进行网络搜索的设置
本文介绍了如何配置使用Brave Search API进行网络搜索。主要内容包括:获取API密钥的步骤(注册账户、选择Data for Search计划、设置密钥),JSON配置示例(指定提供商、API密钥等参数),以及注意事项(需使用Data for Search计划而非Data for AI计划,注意免费/付费限制)。适用于需要将Brave Search设为默认搜索提供商的用户。
2026-03-26 11:26:41
14
原创 Pi 集成架构
本文档描述 OpenClaw 如何与 pi-coding-agent 及其关联包(pi-ai、pi-agent-core、pi-tui)集成,以实现 AI 代理能力。pi-coding-agent 高层 SDK:createAgentSession、SessionManager、内置工具等。pi-ai 核心大模型抽象:Model、streamSimple、消息类型、服务提供者 API。pi-agent-core 代理循环、工具执行、AgentMessage 类型。标题:Pi 集成架构。
2026-03-26 08:40:08
27
原创 Pi 集成开发流程
本文档介绍了OpenClaw项目中Pi集成开发的标准化流程。开发流程包括代码构建(pnpm build)、规范检查(pnpm lint)和格式校验(pnpm format),提交前需运行完整校验(pnpm lint && pnpm build && pnpm test)。测试环节支持通过Vitest运行Pi专项测试集,包含核心单元测试和真实服务调用测试(OPENCLAW_LIVE_TEST=1)。推荐使用开发模式(pnpm gateway:dev)进行交互式调试,支持终端界面
2026-03-26 08:33:21
17
原创 subscribeEmbeddedPiSession 函数的回调设置
本文介绍了subscribeEmbeddedPiSession函数通过onPartialReply回调返回文本结果的机制。关键流程包括:1)回调参数传递;2)事件处理注册;3)消息更新处理时触发回调。触发条件包括有新内容、内容变化、有媒体等。处理流程涵盖文本提取、标签处理、增量计算等步骤。该机制支持流式处理和增量传输,通过移除思考块标签、解析回复指令等技术手段,实现代理回复的实时传递,优化长回复场景下的用户体验。
2026-03-25 23:50:42
111
原创 runEmbeddedAttempt、runEmbeddedPiAgent和runAgentTurnWithFallback这三个函数的关系和作用
本文分析了三个代理运行函数的层级关系和职责分工。最外层的runAgentTurnWithFallback负责模型降级和重试逻辑;中间层runEmbeddedPiAgent管理模型配置、认证和工作区;最底层runEmbeddedAttempt执行具体的代理会话创建和消息发送。这三个函数形成清晰的决策层-管理层-执行层架构,各司其职又相互配合,通过分层设计实现了代码的模块化和可维护性。
2026-03-25 23:15:57
326
原创 createAgentSession 是构建嵌入式 Pi 代理的核心函数
本文分析了createAgentSession函数的核心作用及调用关系。该函数从@mariozechner/pi-coding-agent包导入,主要用于创建AI代理会话。它通过整合模型配置、工具注册、会话管理等功能,初始化完整的代理环境。关键依赖包括模型配置、工具定义、会话管理器等组件。在调用链中,该函数首先初始化代理实例和相关配置,随后返回会话对象供后续操作使用,最终通过activeSession.dispose释放资源。该函数是构建嵌入式Pi代理的核心,实现了代理生命周期的统一管理。
2026-03-25 22:39:00
35
原创 pi-coding-agent 完整详解
pi-coding-agent是一个由Mario Zechner开发的专业AI编程助手,基于Node.js和TypeScript构建。核心功能包括:1)多级思考模式(ThinkingLevel),从none到ultra控制推理深度;2)对话压缩(compaction)管理长对话记忆;3)WebSocket实时通信支持流式交互。该智能体支持代码生成、调试、重构等专业编程任务,采用AI Agent架构,具备工具调用和多轮记忆能力。项目结构通常包含server、agent、config等模块,可通过二次开发扩展功
2026-03-25 22:02:04
279
原创 从 Control UI 到 runEmbeddedPiAgent 函数的完整调用链
本文档详细记录了从Control UI到runEmbeddedPiAgent函数的完整调用链流程。该调用链共包含9个关键步骤,展示了OpenClaw平台处理用户消息的完整路径:从界面输入开始,经过消息验证、分发处理、配置获取、代理运行等环节,最终执行嵌入式Pi代理。每个步骤都有明确的功能划分,包括参数验证、上下文处理、模型回退等机制,体现了系统的模块化设计。文档提供了各函数的文件位置、功能描述、关键代码和参数说明,完整呈现了消息处理流程的技术实现细节。
2026-03-24 23:05:10
123
原创 runEmbeddedPiAgent 函数分析
摘要 runEmbeddedPiAgent函数是嵌入式Pi代理的核心执行函数,主要功能包括: 处理会话通道和全局通道的初始化 管理任务队列(全局队列和会话队列) 解析工作目录和代理配置 确定消息通道格式(Markdown或纯文本) 解析和验证AI模型提供者及模型ID 执行预处理钩子(如before_model_resolve) 提供详细的日志记录和错误处理机制 支持多种回调函数处理代理运行过程中的各种事件 该函数采用异步设计,支持丰富的配置选项,包括会话管理、认证配置、模型选择、执行控制等参数,是嵌入式Pi
2026-03-24 22:57:54
499
原创 runAgentTurnWithFallback函数处理
OpenClaw AI代理核心运行逻辑摘要 该代码实现了一个带降级重试机制的AI对话轮次执行系统,主要功能包括: 模型自动降级 - 当主模型失败时自动切换备用模型(runWithModelFallback) 错误处理 - 识别并处理临时HTTP错误、上下文溢出等异常情况 会话管理 - 维护会话状态、处理上下文压缩失败等情况 事件跟踪 - 通过唯一运行ID(UUID)追踪每次对话执行 结果分发 - 处理流式响应并分块发送给用户 核心函数runAgentTurnWithFallback实现了无限重试循环,支持:
2026-03-24 22:19:38
135
原创 Node.js的http服务
res.end(JSON.stringify({ message: '页面不存在', code: 404 }));res.end(JSON.stringify({ message: '首页', code: 200 }));浏览器访问 http://localhost:3000 就能看到 "Hello World!console.log('服务器运行在 http://localhost:3000');console.log('服务器运行在 http://localhost:3000');那个更接近实际开发。
2026-03-23 17:19:39
317
原创 控制UI发送消息的代码分析
本文分析了控制UI发送消息的代码实现。核心方法sendChatMessage负责构建消息内容块,处理文本和图片附件,并通过WebSocket发送请求。关键技术包括:1) WebSocket持久连接通信;2) 使用幂等键防止重复发送;3) 支持图片附件转换和预览;4) 实时UI更新反馈。消息格式采用JSON结构,包含会话信息、消息内容、附件数据等字段。整体流程涵盖消息构建、UI更新、附件转换、请求发送和响应处理等环节,实现了可靠的消息传输功能。
2026-03-22 12:41:43
24
原创 attachGatewayWsMessageHandler函数详细解释
摘要 这段代码实现了Node.js环境下WebSocket网关的核心消息处理逻辑,主要包含以下功能: 连接初始化:解析客户端IP、代理信息等上下文,判断连接来源可信度。 握手认证: 强制首个消息必须是connect请求 校验协议版本、客户端角色和作用域 验证浏览器客户端的Origin合法性 进行设备身份认证(公钥、签名、Nonce等) 设备管理: 处理设备配对流程 本地客户端自动批准配对 生成/验证设备Token 连接建立: 记录客户端在线状态 返回网关能力、健康状态等信息 处理Node角色客户端的特殊注册
2026-03-22 12:25:16
95
原创 优化openclaw的压缩参数,提升响应(.openclaw\openclaw.json)
本文详细分析了compaction配置优化的原因和方案。原配置仅设置安全模式但缺乏具体Token管控,存在预留空间不足、历史消息丢失等问题。优化方案包括:1) 设置16384预留Token,适配主流模型上下文窗口;2) 保留32000近期Token,支持多轮长对话;3) 配置8192最小预留Token作为兜底保障。这些调整显著提升了对话稳定性、长对话体验和配置鲁棒性,有效解决了上下文超限、回复截断等问题,使系统能更好地利用大模型能力。优化通过精细化Token管控,平衡了历史保留与新内容生成的关系,兼顾了不同
2026-03-22 12:00:11
119
原创 attachGatewayWsConnectionHandler 函数详细分析
attachGatewayWsConnectionHandler是OpenClaw Gateway中处理WebSocket连接的核心函数,主要功能包括: 管理WebSocket连接全生命周期(建立、消息处理、关闭) 生成唯一连接ID,记录连接元数据(IP、UA等) 处理请求头信息并安全清理日志内容 集成认证速率限制和健康状态监控 提供广播功能支持实时通信 支持Canvas主机配置和远程节点管理 该函数通过解耦的连接处理架构,实现了网关的稳定双向通信能力,同时确保日志安全和系统可观测性。关键特性包括控制字符过
2026-03-22 00:57:46
93
原创 attachGatewayWsHandlers 函数详细分析
本文分析了OpenClaw Gateway中的attachGatewayWsHandlers函数,该函数负责配置WebSocket服务器的连接处理逻辑。作为中间层,它通过参数适配和依赖传递,将WebSocket服务器实例与实际的连接处理逻辑解耦。文章详细解析了函数的参数结构、核心职责和设计意图,包括参数类型安全、依赖注入等关键技术点,以及函数在系统架构中的调用关系。该函数体现了单一职责原则和接口隔离原则,通过清晰的参数接口确保上下游组件间的明确依赖,同时支持功能扩展。
2026-03-22 00:45:59
178
原创 attachGatewayUpgradeHandler 函数解析
attachGatewayUpgradeHandler函数是WebSocket协议升级处理器,主要功能是将HTTP请求升级为WebSocket连接。它首先解析Canvas作用域URL并进行格式检查,然后处理Canvas相关的认证授权,包括路径验证和请求授权。认证失败时会拒绝连接,成功则继续处理。最后将请求传递给WebSocket服务器建立连接,并触发连接事件。该函数在HTTP服务器和WebSocket服务器间起到桥梁作用,确保安全可靠的WebSocket连接建立。
2026-03-20 17:06:49
71
原创 WebSocket 调用 chat.send 的完整流程
本文详细介绍了WebSocket调用chat.send方法的完整流程:1)通过socket.on接收JSON消息;2)解析验证请求帧;3)调用handleGatewayRequest进行权限验证和速率限制检查;4)路由到coreGatewayHandlers中对应的chat.send处理函数;5)执行参数验证和消息处理。整个过程采用异步的请求-响应模式,基于JSON消息协议实现WebSocket RPC调用,包含完整的错误处理和响应机制。
2026-03-20 13:48:27
96
原创 Control UI 获取浏览器消息的流程
本文分析了Control UI获取浏览器消息的完整流程。从用户输入界面开始,通过textarea元素接收输入并实时更新状态,点击发送按钮或按Enter键触发onSend回调。随后经过多层处理函数(handleSendChat、handleSendChatInternal、sendChatMessageNow),最终通过sendChatMessage构建消息内容块并调用WebSocket接口发送到Gateway。整个流程支持文本和图片附件,包含错误处理和状态管理机制,实现了从用户输入到服务器通信的完整消息传递
2026-03-20 11:44:06
149
原创 server-http.ts 文件分析
摘要 server-http.ts 是 Gateway 服务器的核心 HTTP 服务实现文件,主要功能包括: 服务器创建:支持 HTTP/HTTPS 服务器创建与配置 请求处理:处理各类 HTTP 请求(钩子、工具调用、Slack、OpenAI 等) WebSocket 支持:处理 WebSocket 升级请求 安全机制:实现认证授权、速率限制、安全头设置 功能模块:包含 Canvas 处理、控制 UI、插件路由等子系统 文件采用模块化设计,通过类型化的接口和清晰的函数分工,实现了复杂网关功能的高效管理。关
2026-03-17 23:13:43
73
原创 Gateway 服务器 WebSocket 创建与处理流程分析
本文分析了Gateway服务器的WebSocket创建与处理流程。主要内容包括:1) 服务器创建过程,涉及配置加载、运行时状态初始化和WebSocket处理器附加;2) 连接处理机制,包括连接监听、初始化和消息处理器设置;3) 数据接收与处理流程,涵盖消息解析、类型处理和认证授权;4) 响应处理方式,包括直接响应、广播和错误处理。系统采用模块化设计,具备完善的认证、速率限制和安全措施,支持实时事件广播。文章还提出了错误处理增强、性能优化等改进建议。该WebSocket系统为客户端提供了安全可靠的实时通信能力
2026-03-17 22:39:00
235
原创 server.impl.ts 文件分析
摘要 server.impl.ts 是 OpenClaw 网关服务的核心实现文件,主要负责: 服务初始化:加载配置、设置认证授权、初始化插件系统和子代理注册表 功能模块: 通道管理(创建/维护通信通道) WebSocket 服务器实现 健康监控(通道状态、心跳检测) 执行批准管理 节点注册管理 辅助系统: 配置热重载 诊断日志 自动更新检查 密钥管理 速率限制 该文件整合了网关的核心功能模块,通过插件系统提供扩展能力,并包含完善的监控和诊断机制。
2026-03-17 21:54:33
52
原创 run.ts 文件分析
摘要 run.ts是OpenClaw CLI中gateway run命令的核心实现文件,主要负责启动WebSocket Gateway服务。该文件实现了命令行选项解析、配置验证、端口管理、认证处理、安全检查等关键功能。主要特点包括: 支持多种认证方式(token、password、Tailscale) 提供端口占用检查和强制释放功能 包含开发模式支持(--dev)和重置选项(--reset) 实现详细的日志记录配置 处理从父命令继承选项的逻辑 确保非本地绑定时有适当的安全认证 文件通过模块化设计,将不同功能
2026-03-17 17:29:04
42
原创 openclaw gateway run 命令实现逻辑分析
本文分析了openclaw gateway run命令的实现逻辑。命令注册在register.ts中,实际执行流程在run.ts中。主要流程包括:开发模式检查、日志配置、端口解析、认证设置、安全验证等。关键验证包括配置检查(需设置local模式或使用--allow-unconfigured)、认证检查(非本地网络需认证)、端口检查和开发模式处理。支持多种选项如端口、绑定模式、认证方式等,最终通过startGatewayServer启动网关服务。
2026-03-17 17:13:04
83
原创 registerGatewayCli 函数调用分析
摘要:registerGatewayCli函数通过动态导入实现懒加载,当用户执行"openclaw gateway"命令时触发调用。该函数采用子命令注册模式,调用链从主入口run-main.ts开始,经registerSubclis.ts查找配置后动态加载gateway-cli.js模块。系统支持两种注册模式:Eager模式立即注册所有子命令,Lazy模式按需加载,后者能有效提升启动性能。整个流程体现了模块化CLI设计思想。
2026-03-17 14:47:46
71
原创 run-main.ts 文件分析
摘要 run-main.ts 是 OpenClaw CLI 的核心入口文件,主要功能包括: 初始化处理: 加载和规范化环境变量 确保 CLI 路径正确性 运行时环境检查 命令处理: 解析和重写命令行参数 路由命令到相应处理器 构建命令行程序结构 命令注册: 注册核心命令和子命令 条件性注册插件命令 支持命令别名处理(如 --update → update) 错误处理: 捕获未处理异常和拒绝 格式化错误输出 确保优雅退出 特殊逻辑: 针对 Windows 系统的参数规范化 条件性跳过某些命令的路径检查 动态导
2026-03-17 14:23:15
169
原创 entry.ts 文件分析
摘要 entry.ts 是 OpenClaw 项目的核心入口文件,负责 CLI 的启动和命令行参数处理。主要功能包括: 环境初始化:设置进程标题、环境变量规范化和警告过滤器安装 参数处理:解析命令行参数,处理特殊标志如 --no-color 和实验性警告抑制 子进程管理:必要时创建子进程并附加进程桥接 安全控制:对 secrets audit 命令强制使用只读认证存储 性能优化:默认启用模块编译缓存(除非显式禁用) 文件采用模块化设计,通过多个辅助模块处理特定功能,如参数解析、环境变量处理和进程管理等。关键
2026-03-16 22:21:48
396
原创 openclaw.mjs 文件分析
openclaw.mjs是OpenClaw项目的Node.js入口脚本,采用ESM模块格式。主要功能包括:1) 严格的Node.js版本检查,确保运行环境满足最低要求;2) 性能优化,启用编译缓存提升加载速度;3) 安装进程警告过滤器保持一致性;4) 灵活导入入口文件,支持.js和.mjs格式。该脚本具有完善的错误处理机制,采用现代JavaScript特性(如async/await),为项目提供健壮的启动环境,同时兼顾性能优化和格式兼容性。
2026-03-16 22:04:09
344
原创 run-node.mjs 文件详细解析
run-node.mjs 是 OpenClaw 项目的开发模式入口文件,负责智能构建检查和启动应用。该 ES 模块导入 Node.js 核心模块,定义构建工具配置和监视路径。主要功能包括:通过文件修改时间检测源文件变更,使用 Git 命令检查代码状态,管理构建时间戳,智能判断是否需要重新构建。核心算法会递归检查源代码目录,排除测试文件,比较文件修改时间与上次构建时间戳,并结合 Git HEAD 状态决定是否触发重建。该文件提供了高效的开发环境构建管理机制。
2026-03-16 16:49:53
74
原创 `pnpm dev gateway` 命令执行流程分析
摘要:pnpmdevgateway命令是OpenClaw项目启动Gateway服务器的入口,其执行流程包括:1)通过run-node.mjs检查并构建TypeScript代码;2)由openclaw.mjs加载入口文件;3)在entry.js中解析参数并路由到Gateway命令;4)通过gateway-cli模块注册并执行具体命令;5)最终在server.js创建WebSocket服务器。该流程包含开发模式支持、参数解析、配置加载、端口检查和错误处理等关键环节,展现了OpenClaw的模块化架构设计。
2026-03-16 16:13:45
118
原创 OpenClaw CN 项目开发环境pnpm dev 和 pnpm build 是两个不同用途的命令
pnpmdev和pnpmbuild是pnpm的两个主要命令,分别用于开发和生产环境。pnpmdev用于快速启动开发模式,支持增量构建和热更新;pnpmbuild则执行完整构建流程,生成优化后的生产版本。开发时使用pnpmdev提高效率,部署时使用pnpmbuild确保稳定。两者在功能、构建流程、产物优化和执行速度上均有显著差异。
2026-03-16 15:36:26
170
原创 OpenClaw CN 项目开发环境分析
# OpenClaw CN 项目开发环境分析## 项目概览OpenClaw CN 是一个更懂中文环境的 Local Agent 实战社区版,基于 TypeScript 开发的多平台智能代理系统。
2026-03-16 13:44:37
55
原创 Windows 上 openclaw onboard --install-daemon 命令的安装位置和启动配置
摘要:Windows系统中,执行openclaw-cnonboard--install-daemon命令会创建计划任务OpenClawGateway,该任务在用户登录时自动运行位于%USERPROFILE%.openclaw\gateway.cmd的脚本文件来启动服务。管理方法包括通过任务计划程序或命令行(schtasks)查看/启停任务,使用openclaw gateway命令操作服务,或通过删除计划任务和脚本文件完全卸载服务。该机制确保OpenClawGateway服务随系统登录自动启动。(149字)
2026-03-16 11:10:25
549
原创 OpenClaw框架图
自托管 AI 助手的核心架构,采用 ** 中心辐射式(Hub-and-Spoke)** 设计,所有交互都通过。” 的完整闭环,是其能成为 “能动手干活的本地 AI 助手” 的核心架构基础。这张图清晰展现了 OpenClaw “这是用户与 OpenClaw 交互的。Gateway 是整个系统的。
2026-03-14 21:27:33
189
原创 pnpm gateway:watch 命令是 OpenClaw 项目中的一个开发模式命令
摘要:pnpm gateway:watch是OpenClaw项目中用于Gateway服务器开发的命令,提供热重载功能。该命令通过Node.js的--watch模式监控src、tsconfig.json等关键文件,在代码变更时自动触发TypeScript重新构建和服务器重启。开发者无需手动操作即可实时查看修改效果,显著提升开发效率。技术实现基于watch-node.mjs脚本和tsdown编译器,设置OPENCLAW_WATCH_MODE环境变量启用监控模式,适用于Gateway核心功能的快速迭代开发。
2026-03-14 21:14:17
237
tinyxml2配套源码
2016-06-27
国产8051模拟器
2016-09-10
python抓取天气并分析 实例源码
2017-08-28
胶囊模型的代码
2018-02-02
书《深度学习》
2017-03-13
开源鸿蒙4.0不能进入桌面的补丁
2024-03-17
开源鸿蒙 4.0 RK3566开发板配置
2024-03-17
实现numpy的C++库扩展
2019-11-24
svm_hog_data.rar
2020-03-02
python web py入门配套源代码
2018-02-23
webpy演示例子1
2018-02-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅