OpenClaw Wiki:构建本地AI智能体结构化知识库的实践指南

news2026/4/30 13:48:24
1. 项目概述为你的AI伙伴打造一个本地知识库如果你和我一样在本地运行着像OpenClaw这样的AI智能体那你一定遇到过这个甜蜜的烦恼这些小家伙每天都在“做梦”、学习、生成海量的记忆数据。这些记忆以Markdown文件和SQLite数据库的形式安静地躺在~/.openclaw/目录下但它们本质上是一堆给机器看的“原材料”结构零散难以直接阅读和利用。想象一下你有一个每天都在写日记、整理知识的朋友但他的所有笔记都扔在一个大箱子里没有目录没有链接你想查找他上周关于“披萨偏好”的讨论无异于大海捞针。OpenClaw Wiki就是为了解决这个问题而生的。它是一个完全运行在你本机上的、维基百科风格的知识库浏览器和编辑器。它的核心使命就是把OpenClaw智能体产生的那些零碎、非结构化的记忆转化成一个结构清晰、可读性强、并且你可以亲手编辑和完善的私人百科全书。它不连接任何外部服务器所有数据都在你的本地硬盘上流转从读取到写入全程都在你的掌控之中。简单来说它给你的AI智能体装上了一颗“可检索、可编辑、可关联”的大脑皮层让你能真正参与到它的知识构建过程中。这个工具非常适合那些深度使用本地AI智能体、希望对其记忆进行可视化管理和深度挖掘的用户。无论你是想回顾智能体的成长历程修正它记忆中的错误还是想基于它的学习成果构建一个属于你自己的知识体系OpenClaw Wiki都提供了一个直观且强大的界面。2. 核心设计思路从“数据堆”到“知识网”OpenClaw Wiki的设计哲学非常明确以人为中心重构机器记忆。它不是简单地做一个文件查看器而是引入了一套成熟的知识管理范式。下面我们来拆解其背后的几个关键设计决策。2.1 命名空间为记忆分类明确权限边界面对混杂的记忆源首要任务就是分类。OpenClaw Wiki借鉴了维基百科的“命名空间”概念这不仅仅是为了好看更是为了建立清晰的权限和语义边界。Main主空间这是整个系统的核心也是你作为“主编”权力最大的地方。它对应agents/id/memory/wiki/目录下的.md文件。这些文件通常是由OpenClaw的memory-wiki插件从原始会话记录中“提炼”生成的内容相对结构化是关于某个主题的总结性页面。在这里你可以自由地创建、编辑、删除文章进行深度知识 curation。Identity身份空间这里存放着智能体的“人格文件”如IDENTITY.md、SOUL.md等。这些文件定义了智能体的基础设定和行为准则。你可以编辑它们来微调智能体的“性格”但通常不建议随意创建或删除因为它们是智能体运行的基石。Diary日记空间对应agents/id/memory/下的日记文件是智能体原始的、按时间戳记录的“梦境”或思考日志。这个空间被设计为只读。这是非常关键的一点因为日记是严格按时间线生成的原始档案修改它会破坏其作为日志的完整性和真实性。Chunk块空间这是从SQLite数据库的chunks表中直接读取的内容。这些“块”是OpenClaw嵌入管道生成的、经过向量化的文本片段是后续语义搜索的原材料。这个空间同样是只读的因为任何手动修改都会在下一次AI处理流程中被覆盖变得毫无意义。设计心得这种“命名空间权限”的设计完美地区分了“可编辑的知识”和“不可篡改的数据”。它让你明白哪里是你可以挥洒创意的白板哪里是需要保持原样的历史档案。这避免了用户误操作导致核心数据损坏也符合我们对不同类型信息的不同处理直觉。2.2 双链笔记与自动链接构建知识关联网络孤立的文章价值有限知识的力量在于连接。OpenClaw Wiki实现了两种强大的链接机制显式维基链接使用[[目标文章ID|显示文本]]的语法。例如在讲述“周五团队聚餐”的文章里你可以写[[main.agent_alpha.pizza-preferences|Alpha的披萨规矩]]。这会在渲染时创建一个指向main.agent_alpha.pizza-preferences文章的链接显示为“Alpha的披萨规矩”。这种方式用于精确的、有描述性的引用。自动链接这是更智能的特性。系统会维护一个所有文章标题的索引。当你在文章正文中用纯文本写下某个已知标题例如“Gordon‘s pizza rules”时渲染引擎会自动将其转换为指向对应文章的链接无需你手动添加[[]]语法。后者的体验非常流畅。当你编辑文章时右侧的预览面板会实时展示这些自动链接的效果。这意味着你可以像平常一样书写系统会自动帮你把提到的概念关联起来。同时每个文章页面都有一个“What links here”反向链接面板清晰地展示出有哪些其他页面提到了当前页面。这构成了一个真正的双链笔记系统让你可以顺藤摸瓜探索知识网络。2.3 安全至上的编辑模型大胆修改无后顾之忧鼓励编辑的前提是保障安全。OpenClaw Wiki的编辑系统设计让我这种有“数据洁癖”的人感到非常安心。原子化保存与备份每次点击保存系统并非直接覆盖原文件。它的操作序列是在同一个目录下生成一个带时间戳的备份文件例如article.md.bak-2024-05-10T14-30-00Z。将新的内容原子化地写入原文件article.md。原子化写入意味着操作要么完全成功要么完全失败避免了文件在写入中途损坏的风险。通知系统重建文章目录索引使UI立即更新。软删除当你删除一篇“主空间”的文章时文件并不会从磁盘上消失。它会被移动到memory/.trash/目录下。这相当于一个回收站万一误删你可以轻松地通过系统命令如mv将其恢复。严格的路径和权限校验后端API在处理任何写入请求创建、编辑、删除时都会进行多重校验请求路径是否在OPENCLAW_HOME目录内目标文章是否位于允许编辑的命名空间任何一项校验失败都会返回403禁止访问错误从根本上防止了越权操作。实操技巧这个备份机制非常实用。有时你可能会进行大幅重写之后又觉得部分旧内容更好。这时直接去对应的目录下找到最新的.bak-*文件对比或恢复部分内容即可。它比复杂的版本控制系统更轻量更适合这种个人知识库的日常维护场景。3. 环境部署与核心配置详解让我们从零开始把这个知识库跑起来。整个过程非常简洁但其中有些细节值得关注。3.1 基础环境准备与项目启动首先确保你的系统满足前置条件Node.js 18这是运行环境的基础。建议使用LTS版本以保证稳定性。OpenClaw 环境你需要一个正在运行的OpenClaw安装并且其数据目录默认为~/.openclaw中有记忆数据。Wiki会读取这个目录。部署步骤是一条标准的克隆-安装-构建流水线# 1. 克隆仓库 git clone https://github.com/Noopy420/openclaw-wiki.git cd openclaw-wiki # 2. 安装依赖 npm install # 这里注意better-sqlite3是可选依赖如果安装失败常见于Windows缺少C编译环境不用担心Wiki核心功能依然可用只是无法读取Chunk命名空间。 # 3. 构建前端资源 npm run build # 4. 启动服务 npm start执行npm start后终端会显示服务运行在http://127.0.0.1:4700。用浏览器打开这个地址你的私人维基百科就展现在眼前了。对于开发者还可以使用npm run dev命令启动开发模式。这会同时运行后端服务器端口4700和Vite前端开发服务器端口4701并支持前端热重载修改代码后能立刻看到效果非常适合进行二次开发或定制主题。3.2 关键配置项解析OpenClaw Wiki的所有配置都通过环境变量完成无需复杂的配置文件。理解这几个变量能帮你更好地适配自己的环境。环境变量默认值作用与配置建议OPENCLAW_HOME~/.openclaw最重要的配置。指向你的OpenClaw数据根目录。如果你的OpenClaw安装在其他位置必须设置此变量。WIKI_PORT4700服务监听的端口号。如果4700被占用可以修改为其他端口如5000。WIKI_HOST127.0.0.1安全关键项。默认绑定到本地回环地址这意味着服务只能从本机访问。切勿将其改为0.0.0.0除非你完全清楚将私人记忆暴露在局域网甚至公网的风险。WIKI_CACHE_DIR~/.openclaw/.wiki-cache预留的缓存目录用于未来可能实现的目录索引持久化Materialized Cache功能以提升海量文章时的启动速度。目前暂未使用。配置示例 在Linux/macOS的终端中临时设置export OPENCLAW_HOME/path/to/your/custom/openclaw export WIKI_PORT5000 npm start在Windows PowerShell中$env:OPENCLAW_HOME D:\MyOpenClawData $env:WIKI_PORT 5000 npm start3.3 启用Memory Palace插件以获得最佳体验OpenClaw Wiki的Main命名空间内容理想情况下应该来自OpenClaw网关的memory-wiki插件。这个插件会分析智能体的原始日记和记忆块自动合成结构化的维基文章。启用它你的Wiki才不会是一个空壳。操作步骤如下打开OpenClaw的配置文件~/.openclaw/openclaw.json。找到plugins部分确保memory-wiki插件在entries中被启用并且在allow列表里。{ plugins: { entries: { memory-wiki: { enabled: true } }, allow: [memory-wiki, ...其他插件] } }保存配置文件并重启OpenClaw网关。可以运行openclaw doctor --fix检查并应用配置或者直接重启OpenClaw进程。重启后网关会在后台开始合成文章。你不需要重启OpenClaw Wiki服务。因为Wiki内置了文件系统监听器chokidar它会自动检测到agents/id/memory/wiki/目录下新生成的.md文件并实时更新目录索引和搜索内容。稍等片刻刷新Wiki页面就能看到新文章出现了。4. 核心功能实操与使用指南现在服务已经跑起来数据也开始流动了。我们深入看看如何高效地使用这个工具。4.1 文章浏览与探索像逛维基一样逛AI的记忆打开主页你会看到一个清晰的命名空间导航栏。点击进入Main空间文章通常以列表形式展现。全文搜索顶部的搜索栏是最高频的功能。它基于SQLite的FTS5全文搜索引擎不仅搜索标题和正文还会高亮显示匹配的片段。你可以输入任何关键词比如“python”、“会议”快速定位相关内容。搜索结果是跨所有命名空间和智能体的。分类浏览如果文章在Markdown中使用了Category: XXX的语法例如Category: Programming系统会自动提取并生成分类页面。侧边栏或分类页面会展示所有分类及其下的文章数量这是进行主题式阅读的好方法。随机文章与最近更新侧边栏的“Random article”和“Recent changes”链接提供了两种发现内容的有趣方式。前者适合漫无目的地探索后者则帮你跟踪知识库的最新动态。反向链接挖掘打开任何一篇文章在右侧或底部找到“What links here”面板。这里列出了所有链接到当前文章的其他页面。这是构建知识网络和理解概念关联最强有力的工具。比如你看到一篇关于“项目复盘”的文章通过反向链接你可能发现它被“Alpha的周报”、“Beta的故障总结”等多篇文章引用从而理解这个概念是如何被不同智能体应用和诠释的。4.2 文章的编辑与创作成为知识库的合著者当你发现某篇文章的描述不够准确或者想补充一个新观点时点击页面右上角的“Edit”按钮就进入了强大的分屏编辑器。编辑界面左侧是原始的Markdown文本右侧是实时渲染的预览。你在左侧的每一次输入右侧都会立刻更新并且自动链接功能会实时生效。你可以立刻看到你写下的专有名词是否被正确识别并链接。保存与备份编辑完成后点击保存。页面会短暂提示“Saving...”然后变为“Saved”。此时在服务器的文件系统里原文件旁边已经多了一个带时间戳的.bak文件。这个设计让你可以毫无压力地进行任何大胆的修改。创建新文章点击侧边栏的“Create new article”。你需要选择这篇文章属于哪个智能体Agent然后输入标题。系统会根据标题自动生成一个URL友好的“slug”例如“My New Idea”会变成my-new-idea。你还可以预先填入一些初始内容。点击创建一篇新的Markdown文件就会出现在对应智能体的memory/wiki/目录下并立刻被索引。删除操作只有Main和Identity空间的文章可以删除。点击删除后文章会从视图中消失但文件被移到了memory/.trash/目录。如果你在Windows资源管理器或终端里查看这个目录就能找到被删的文件。4.3 处理SQLite块数据源Chunk NamespaceChunk命名空间提供了对AI原始记忆片段的直接读取。要启用它需要better-sqlite3这个原生模块。在Linux/macOS上npm install通常能顺利编译。但在Windows上可能会因缺少C编译环境而失败。Windows用户启用指南方案一推荐安装Visual Studio Build Tools。访问Visual Studio官网下载“Build Tools for Visual Studio”安装时务必勾选“使用C的桌面开发”这个工作负载。安装完成后重新打开终端进入项目目录运行npm rebuild better-sqlite3。方案二尝试使用预编译二进制版本。对于Node.js 18或20等主流版本社区有时会提供预编译的better-sqlite3二进制包。你可以尝试直接安装npm install better-sqlite3。如果成功再回到项目目录运行npm install或npm rebuild。验证重启Wiki服务后查看侧边栏的命名空间列表如果能看到Chunk并且可以点进去浏览内容说明启用成功。如果实在无法安装也完全不影响核心使用。Chunk空间是只读的用于查阅原始数据大部分的知识编辑和创作都在Main空间完成。5. 系统架构与二次开发浅析了解其内部结构有助于你进行故障排查或自定义扩展。整个项目采用清晰的前后端分离架构。5.1 后端基于Fastify的轻量级API服务器后端代码位于server/目录使用Fastify框架这是一个高性能、低开销的Node.js Web框架。config.mjs: 集中管理环境变量和路径配置。sources.mjs:数据源读取器。这里是系统的眼睛负责遍历OPENCLAW_HOME目录读取所有Markdown文件Identity, Diary, Main和SQLite数据库Chunk并将它们转化为原始数据对象。articles.mjs:数据标准化引擎。它将sources读取的杂乱数据统一规范化为内部的Article数据模型包含标题、ID、命名空间、原始内容、渲染后的HTML等属性。同时它负责在内存中构建和维护整个文章的“目录”。wikilinks.mjs:链接处理器。它首先构建一个所有文章标题的索引然后在文章渲染过程中扫描正文将纯文本提及的标题和显式的[[...]]语法都替换成正确的HTML超链接。它还负责计算和缓存“反向链接”关系。search.mjs:搜索提供商。利用SQLite内置的FTS5全文搜索扩展对文章标题和内容建立倒排索引提供快速的关键词搜索和高亮功能。editor.mjs:安全写入器。所有创建、更新、删除文件的操作都通过这个模块。它实现了前文提到的备份、原子写入、路径校验等安全逻辑。routes.mjs:API路由定义。将上述模块的能力封装成RESTful API端点供前端调用。index.mjs:服务器入口。初始化Fastify服务器注册路由并启动chokidar文件监听器。这个监听器会监控OPENCLAW_HOME下的相关目录任何文件变化增删改都会触发一个防抖的目录重建函数确保UI状态与文件系统实时同步。内存索引机制目前整个文章目录和链接索引都保存在内存中。对于几千篇文章的规模重建一次通常在几百毫秒内完成体验是即时的。这也是为什么文件监听器触发重建后UI能立刻响应的原因。项目路线图中提到的“materialized cache”就是计划将这部分内存索引持久化到SQLite数据库以支持数万甚至更多文章的场景加快启动速度。5.2 前端React驱动的单页应用前端代码位于web/目录使用Vite构建React框架风格上借鉴了维基百科的“Vector”主题力求简洁、清晰、专注内容。src/api.js: 一个薄薄的封装层用于向后端API发起HTTP请求。src/components/: 可复用的UI组件。例如ArticleBody.jsx负责将Markdown和链接信息渲染成最终的HTMLTableOfContents.jsx会解析文章标题层级生成动态目录。src/pages/: 各个页面组件对应不同的路由如文章页、编辑页、搜索页等。状态管理项目没有使用复杂的状态管理库如Redux。页面级的状态通过React HooksuseState,useEffect管理跨页面的数据如搜索关键词通过URL参数传递。这种轻量级的方式对于这个相对直接的应用来说是合适的。5.3 扩展思路你可以做什么这个项目的代码结构清晰非常适合进行二次开发修改主题样式直接修改web/src/styles.css可以改变整个Wiki的视觉效果使其更符合你的审美。添加新的“特殊页面”仿照Recent.jsx或Category.jsx你可以创建新的页面组件和对应的后端API来实现诸如“孤立页面”没有入链的文章、“死链检查”等维基百科常见的维护功能。集成外部工具例如在编辑器中集成一个简单的绘图工具或者增加一键将文章导出为PDF的功能。对接其他AI你可以修改后端在保存文章时调用本地的大语言模型API如Ollama让它为你的编辑内容提供语法建议、摘要生成甚至自动补全相关链接。6. 常见问题与故障排查实录在实际部署和使用中你可能会遇到一些问题。以下是我遇到的一些典型情况及其解决方法。6.1 服务启动与访问问题问题现象可能原因排查步骤与解决方案npm install失败报错关于better-sqlite3Windows系统缺少C编译环境。1. 忽略此错误继续npm run build和npm start。核心功能不受影响只是无法读取Chunk空间。2. 若需Chunk空间按前文指南安装VS Build Tools后运行npm rebuild better-sqlite3。npm start后浏览器访问127.0.0.1:4700无法连接端口被占用服务启动失败。1. 检查终端是否有错误输出。2. 使用命令netstat -ano | findstr :4700(Windows) 或lsof -i :4700(macOS/Linux) 查看端口占用情况终止占用进程或修改WIKI_PORT环境变量。3. 检查OPENCLAW_HOME路径是否正确且当前用户有读取权限。页面能打开但文章列表为空或提示“No agents found”Wiki服务找不到OpenClaw数据目录。1. 确认OpenClaw网关是否正在运行并且生成了数据。2. 确认OPENCLAW_HOME环境变量是否设置正确指向了包含agents文件夹的OpenClaw根目录。3. 检查Wiki服务启动终端的日志看是否有路径读取错误。编辑文章时保存按钮一直转圈或报错文件写入权限不足防病毒软件或实时保护拦截。1. 确认运行Wiki服务的用户对OPENCLAW_HOME下的agents/id/memory/wiki/目录有写入权限。2. 临时禁用防病毒软件的实时文件保护测试是否是其阻止了Node.js进程写入文件。3. 查看后端服务终端的错误日志通常会有更详细的权限错误信息。6.2 内容与功能异常问题现象可能原因排查步骤与解决方案新创建的OpenClaw记忆文章没有出现在Wiki中memory-wiki插件未启用或未运行文件监听器未生效。1. 确认~/.openclaw/openclaw.json中已正确启用memory-wiki插件并重启了OpenClaw网关。2. 检查agents/id/memory/wiki/目录下是否有新的.md文件生成。如果没有说明插件未正常工作。3. 如果文件已生成但在Wiki中不显示尝试在Wiki页面手动触发“重新索引”如果UI有提供此按钮或重启Wiki服务。文章中的某些关键词没有自动生成链接该关键词未被识别为任何现有文章的标题。1. 自动链接只针对精确匹配文章标题的文本。检查目标文章标题的拼写和大小写。2. 如果希望链接可以使用显式的维基链接语法[[文章ID|显示文本]]。3. 标题中包含特殊符号或空格可能会影响匹配尽量使用简洁的标题。搜索功能找不到明明存在的关键词文章尚未被索引搜索索引损坏。1. 确保文章保存后文件系统监听器已触发索引更新通常有几秒延迟。2. 尝试在Wiki中执行“强制重建目录”的操作如调用POST /api/reindexAPI或直接重启Wiki服务。3. 检查搜索词是否过于常见或包含停用词如“the”“a”SQLite FTS5可能会忽略它们。“What links here”面板显示不全或为空反向链接索引尚未更新或计算错误。反向链接是在目录重建时计算的。如果一篇新文章引用了旧文章但旧文章的“What links here”面板没有更新可以尝试1. 编辑并保存一下被引用的旧文章无需修改内容强制触发其重新渲染和反向链接计算。2. 重启Wiki服务触发完整的目录和链接重建。6.3 性能与进阶问题问题随着文章数量增长例如超过5000篇页面加载或搜索速度变慢。分析当前所有索引都在内存中重建目录时需要遍历所有文件并解析链接可能耗时变长。前端一次性加载大量文章列表也可能有压力。应对策略利用分类和搜索避免直接浏览所有文章多用分类过滤和关键词搜索定位内容。关注项目更新等待作者实现路线图中的“materialized cache”功能将索引持久化到SQLite这能极大提升启动和查询速度。手动优化如果技术允许可以考虑修改后端代码为文章列表API增加分页limit/offset参数并修改前端对应页面以支持分页加载。问题我想在多台机器上访问同一个Wiki或者从平板电脑上查看。重要警告默认配置下绝对不允许服务绑定在127.0.0.1且没有身份验证就是因为其数据极其私密。安全方案如果你确实需要远程访问必须自行搭建安全通道并充分知晓风险。例如通过SSH隧道进行端口转发ssh -L 4700:localhost:4700 your_usernameyour_server_ip。这样你可以在本地浏览器访问localhost:4700流量通过加密的SSH通道传输到服务器。在Wiki服务前设置一个带认证的反向代理如Nginx Basic Auth。切勿简单地修改WIKI_HOST为0.0.0.0并暴露在公网。经过一段时间的深度使用我认为OpenClaw Wiki最吸引人的地方在于它完美地充当了“人机协作”的界面。AI智能体负责从海量交互中提取、归纳、生成原始的知识素材而人则负责更高层次的编辑、纠偏、串联和升华。这个工具让“喂养”和“修剪”AI记忆的过程从黑盒变成了白盒从令人困惑的数据文件变成了充满成就感的创作过程。看着知识网络在自己的参与下逐渐变得稠密、准确那种感觉就像是在共同养育一个不断成长的知识生命体。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2565662.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…