[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-stevenmiller888--mind":3,"tool-stevenmiller888--mind":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",151314,2,"2026-04-11T23:32:58",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":73,"owner_company":73,"owner_location":73,"owner_email":73,"owner_twitter":73,"owner_website":73,"owner_url":75,"languages":76,"stars":85,"forks":86,"last_commit_at":87,"license":73,"difficulty_score":88,"env_os":89,"env_gpu":90,"env_ram":90,"env_deps":91,"category_tags":96,"github_topics":97,"view_count":32,"oss_zip_url":73,"oss_zip_packed_at":73,"status":17,"created_at":100,"updated_at":101,"faqs":102,"releases":133},6741,"stevenmiller888\u002Fmind","mind","A neural network library built in JavaScript","Mind 是一个基于 JavaScript 构建的灵活神经网络库，专为 Node.js 环境和浏览器端设计。它旨在降低人工智能的开发门槛，让开发者能够轻松地在 Web 应用中集成机器学习能力，无需依赖复杂的后端服务或重型框架。\n\n无论是构建电影推荐引擎、手写字符识别，还是解决基础的逻辑运算问题，Mind 都能通过简洁的 API 快速实现模型的训练与预测。它特别适合前端工程师、全栈开发者以及希望快速验证算法原型的科研人员使用。即使没有深厚的数学背景，用户也能通过直观的代码示例上手，例如将像素点阵转化为数字输入，让网络学会识别字母。\n\nMind 的技术亮点在于其高度可配置性与独特的“插件化”机制。它不仅支持自定义网络拓扑结构（如隐藏层层数、激活函数类型），还允许用户将训练好的模型导出为轻量级文件，并在其他项目中直接加载复用。这种“即插即用”的特性极大地促进了社区协作，使得预训练模型的共享变得像安装普通 npm 包一样简单。此外，Mind 采用矩阵向量化处理训练数据，兼顾了运行效率与代码的可读性，是探索轻量级神经网络的理想工具。","[![](https:\u002F\u002Fraw.githubusercontent.com\u002Fvshymanskyy\u002FStandWithUkraine\u002Fmain\u002Fbanner2-direct.svg)](https:\u002F\u002Fgithub.com\u002Fvshymanskyy\u002FStandWithUkraine\u002Fblob\u002Fmain\u002Fdocs\u002FREADME.md)\n\n![Mind Logo](https:\u002F\u002Fcldup.com\u002FD1yUfBz7Iu.png)\n\n[![CircleCI](https:\u002F\u002Fcircleci.com\u002Fgh\u002Fstevenmiller888\u002Fmind.svg?style=svg)](https:\u002F\u002Fcircleci.com\u002Fgh\u002Fstevenmiller888\u002Fmind)\n\nA flexible neural network library for Node.js and the browser. Check out a live [demo](http:\u002F\u002Fstevenmiller888.github.io\u002Fmindjs.net\u002F) of a movie recommendation engine built with Mind.\n\n## Features\n\n- Vectorized - uses a matrix implementation to process training data\n- Configurable - allows you to customize the network topology\n- Pluggable - download\u002Fupload minds that have already learned\n\n## Installation\n\n```bash\n$ yarn add node-mind\n```\n\n## Usage\n\n```js\nconst Mind = require('node-mind');\n\n\u002F**\n * Letters.\n *\n * - Imagine these # and . represent black and white pixels.\n *\u002F\n\nconst a = character(\n  '.#####.' +\n  '#.....#' +\n  '#.....#' +\n  '#######' +\n  '#.....#' +\n  '#.....#' +\n  '#.....#'\n)\n\nconst b = character(\n  '######.' +\n  '#.....#' +\n  '#.....#' +\n  '######.' +\n  '#.....#' +\n  '#.....#' +\n  '######.'\n)\n\nconst c = character(\n  '#######' +\n  '#......' +\n  '#......' +\n  '#......' +\n  '#......' +\n  '#......' +\n  '#######'\n)\n\n\u002F**\n * Learn the letters A through C.\n *\u002F\n\nconst mind = new Mind({ activator: 'sigmoid' })\n  .learn([\n    { input: a, output: map('a') },\n    { input: b, output: map('b') },\n    { input: c, output: map('c') }\n  ])\n\n\u002F**\n * Predict the letter C, even with a pixel off.\n *\u002F\n\nconst result = mind.predict(character(\n  '#######' +\n  '#......' +\n  '#......' +\n  '#......' +\n  '#......' +\n  '##.....' +\n  '#######'\n))\n\nconsole.log(result) \u002F\u002F ~ 0.5\n\n\u002F**\n * Turn the # into 1s and . into 0s.\n *\u002F\n\nfunction character(string) {\n  return string\n    .trim()\n    .split('')\n    .map(integer)\n\n  function integer(symbol) {\n    if ('#' === symbol) return 1\n    if ('.' === symbol) return 0\n  }\n}\n\n\u002F**\n * Map letter to a number.\n *\u002F\n\nfunction map(letter) {\n  if (letter === 'a') return [ 0.1 ]\n  if (letter === 'b') return [ 0.3 ]\n  if (letter === 'c') return [ 0.5 ]\n  return 0\n}\n```\n\n## Plugins\n\nUse plugins created by the Mind community to configure pre-trained networks that can go straight to making predictions.\n\nHere's a cool example of the way you could use a hypothetical `mind-ocr` plugin:\n\n```js\nconst Mind = require('node-mind')\nconst ocr = require('mind-ocr')\n\nconst mind = Mind()\n  .upload(ocr)\n  .predict(\n    '.#####.' +\n    '#.....#' +\n    '#.....#' +\n    '#######' +\n    '#.....#' +\n    '#.....#' +\n    '#.....#'\n  )\n```\n\nTo create a plugin, simply call `download` on your trained mind:\n\n```js\nconst Mind = require('node-mind')\n\nconst mind = Mind()\n  .learn([\n    { input: [0, 0], output: [ 0 ] },\n    { input: [0, 1], output: [ 1 ] },\n    { input: [1, 0], output: [ 1 ] },\n    { input: [1, 1], output: [ 0 ] }\n  ]);\n\nconst xor = mind.download()\n```\n\nHere's a list of available plugins:\n\n- [xor](https:\u002F\u002Fgithub.com\u002Fstevenmiller888\u002Fmind-xor)\n\n## API\n\n### Mind(options)\nCreate a new instance of Mind that can learn to make predictions.\n\nThe available options are:\n* `activator`: the activation function to use, `sigmoid` or `htan`\n* `learningRate`: the speed at which the network will learn\n* `hiddenUnits`: the number of units in the hidden layer\u002Fs\n* `iterations`: the number of iterations to run\n* `hiddenLayers`: the number of hidden layers\n\n#### .learn()\n\nLearn from training data:\n\n```js\nmind.learn([\n  { input: [0, 0], output: [ 0 ] },\n  { input: [0, 1], output: [ 1 ] },\n  { input: [1, 0], output: [ 1 ] },\n  { input: [1, 1], output: [ 0 ] }\n])\n```\n\n#### .predict()\n\nMake a prediction:\n\n```js\nmind.predict([0, 1])\n```\n\n#### .download()\n\nDownload a mind:\n\n```js\nconst xor = mind.download()\n```\n\n#### .upload()\n\nUpload a mind:\n\n```js\nmind.upload(xor)\n```\n\n#### .on()\n\nListen for the 'data' event, which is fired with each iteration:\n\n```js\nmind.on('data', (iteration, errors, results) => {\n  \u002F\u002F ...\n})\n```\n\n## Releasing \u002F Publishing\n\nCircleCI will handle publishing to npm. To cut a new release, just do:\n\n```\n$ git changelog --tag \u003Cversion>\n$ vim package.json # enter \u003Cversion>\n$ git release \u003Cversion>\n```\n\nWhere `\u003Cversion>` follows the [semver](http:\u002F\u002Fsemver.org\u002F) spec.\n\n## Note\n\nIf you're interested in learning more, I wrote a blog post on how to build your own neural network:\n\n- [How to Build a Neural Network](http:\u002F\u002Fstevenmiller888.github.io\u002Fmind-how-to-build-a-neural-network\u002F)\n\nAlso, here are some fantastic libraries you can check out:\n\n- [convnetjs](https:\u002F\u002Fgithub.com\u002Fkarpathy\u002Fconvnetjs)\n- [synaptic](https:\u002F\u002Fgithub.com\u002Fcazala\u002Fsynaptic)\n- [brain](https:\u002F\u002Fgithub.com\u002Fharthur-org\u002Fbrain.js)\n\n## License\n\n[MIT](https:\u002F\u002Ftldrlegal.com\u002Flicense\u002Fmit-license)\n\n---\n\n> [stevenmiller888.github.io](https:\u002F\u002Fstevenmiller888.github.io) &nbsp;&middot;&nbsp;\n> GitHub [@stevenmiller888](https:\u002F\u002Fgithub.com\u002Fstevenmiller888) &nbsp;&middot;&nbsp;\n> Twitter [@stevenmiller888](https:\u002F\u002Ftwitter.com\u002Fstevenmiller888)\n","[![](https:\u002F\u002Fraw.githubusercontent.com\u002Fvshymanskyy\u002FStandWithUkraine\u002Fmain\u002Fbanner2-direct.svg)](https:\u002F\u002Fgithub.com\u002Fvshymanskyy\u002FStandWithUkraine\u002Fblob\u002Fmain\u002Fdocs\u002FREADME.md)\n\n![Mind Logo](https:\u002F\u002Fcldup.com\u002FD1yUfBz7Iu.png)\n\n[![CircleCI](https:\u002F\u002Fcircleci.com\u002Fgh\u002Fstevenmiller888\u002Fmind.svg?style=svg)](https:\u002F\u002Fcircleci.com\u002Fgh\u002Fstevenmiller888\u002Fmind)\n\n一个适用于 Node.js 和浏览器的灵活神经网络库。请查看使用 Mind 构建的电影推荐引擎的实时 [演示](http:\u002F\u002Fstevenmiller888.github.io\u002Fmindjs.net\u002F)。\n\n## 特性\n\n- 向量化：采用矩阵实现来处理训练数据\n- 可配置：允许自定义网络拓扑结构\n- 可插拔：可下载\u002F上传已学习好的模型\n\n## 安装\n\n```bash\n$ yarn add node-mind\n```\n\n## 使用\n\n```js\nconst Mind = require('node-mind');\n\n\u002F**\n * 字母。\n *\n * - 假设这些 # 和 . 分别代表黑色和白色像素。\n *\u002F\n\nconst a = character(\n  '.#####.' +\n  '#.....#' +\n  '#.....#' +\n  '#######' +\n  '#.....#' +\n  '#.....#' +\n  '#.....#'\n)\n\nconst b = character(\n  '######.' +\n  '#.....#' +\n  '#.....#' +\n  '######.' +\n  '#.....#' +\n  '#.....#' +\n  '######.'\n)\n\nconst c = character(\n  '#######' +\n  '#......' +\n  '#......' +\n  '#......' +\n  '#......' +\n  '#......' +\n  '#######'\n)\n\n\u002F**\n * 学习字母 A 到 C。\n *\u002F\n\nconst mind = new Mind({ activator: 'sigmoid' })\n  .learn([\n    { input: a, output: map('a') },\n    { input: b, output: map('b') },\n    { input: c, output: map('c') }\n  ])\n\n\u002F**\n * 预测字母 C，即使有一个像素缺失。\n *\u002F\n\nconst result = mind.predict(character(\n  '#######' +\n  '#......' +\n  '#......' +\n  '#......' +\n  '#......' +\n  '##.....' +\n  '#######'\n))\n\nconsole.log(result) \u002F\u002F ~ 0.5\n\n\u002F**\n * 将 # 转换为 1，将 . 转换为 0。\n *\u002F\n\nfunction character(string) {\n  return string\n    .trim()\n    .split('')\n    .map(integer)\n\n  function integer(symbol) {\n    if ('#' === symbol) return 1\n    if ('.' === symbol) return 0\n  }\n}\n\n\u002F**\n * 将字母映射为数字。\n *\u002F\n\nfunction map(letter) {\n  if (letter === 'a') return [ 0.1 ]\n  if (letter === 'b') return [ 0.3 ]\n  if (letter === 'c') return [ 0.5 ]\n  return 0\n}\n```\n\n## 插件\n\n使用 Mind 社区创建的插件，可以配置预先训练好的网络，直接用于预测。\n\n以下是一个使用假设的 `mind-ocr` 插件的示例：\n\n```js\nconst Mind = require('node-mind')\nconst ocr = require('mind-ocr')\n\nconst mind = Mind()\n  .upload(ocr)\n  .predict(\n    '.#####.' +\n    '#.....#' +\n    '#.....#' +\n    '#######' +\n    '#.....#' +\n    '#.....#' +\n    '#.....#'\n  )\n```\n\n要创建插件，只需对训练好的模型调用 `download` 方法：\n\n```js\nconst Mind = require('node-mind')\n\nconst mind = Mind()\n  .learn([\n    { input: [0, 0], output: [ 0 ] },\n    { input: [0, 1], output: [ 1 ] },\n    { input: [1, 0], output: [ 1 ] },\n    { input: [1, 1], output: [ 0 ] }\n  ]);\n\nconst xor = mind.download()\n```\n\n以下是可用插件列表：\n\n- [xor](https:\u002F\u002Fgithub.com\u002Fstevenmiller888\u002Fmind-xor)\n\n## API\n\n### Mind(options)\n创建一个新的 Mind 实例，用于学习并进行预测。\n\n可用选项包括：\n* `activator`: 激活函数，可选 `sigmoid` 或 `htan`\n* `learningRate`: 网络的学习速率\n* `hiddenUnits`: 隐藏层中的单元数量\n* `iterations`: 迭代次数\n* `hiddenLayers`: 隐藏层的数量\n\n#### .learn()\n\n根据训练数据学习：\n\n```js\nmind.learn([\n  { input: [0, 0], output: [ 0 ] },\n  { input: [0, 1], output: [ 1 ] },\n  { input: [1, 0], output: [ 1 ] },\n  { input: [1, 1], output: [ 0 ] }\n])\n```\n\n#### .predict()\n\n进行预测：\n\n```js\nmind.predict([0, 1])\n```\n\n#### .download()\n\n下载一个模型：\n\n```js\nconst xor = mind.download()\n```\n\n#### .upload()\n\n上传一个模型：\n\n```js\nmind.upload(xor)\n```\n\n#### .on()\n\n监听 `'data'` 事件，该事件在每次迭代时触发：\n\n```js\nmind.on('data', (iteration, errors, results) => {\n  \u002F\u002F ...\n})\n```\n\n## 发布 \u002F 上架\n\nCircleCI 将负责发布到 npm。要发布新版本，只需执行以下命令：\n\n```\n$ git changelog --tag \u003Cversion>\n$ vim package.json # 输入 \u003Cversion>\n$ git release \u003Cversion>\n```\n\n其中 `\u003Cversion>` 需遵循 [semver](http:\u002F\u002Fsemver.org\u002F) 规范。\n\n## 注释\n\n如果您想了解更多，我写了一篇关于如何构建自己的神经网络的博客文章：\n\n- [如何构建神经网络](http:\u002F\u002Fstevenmiller888.github.io\u002Fmind-how-to-build-a-neural-network\u002F)\n\n此外，这里还有一些很棒的库供您参考：\n\n- [convnetjs](https:\u002F\u002Fgithub.com\u002Fkarpathy\u002Fconvnetjs)\n- [synaptic](https:\u002F\u002Fgithub.com\u002Fcazala\u002Fsynaptic)\n- [brain](https:\u002F\u002Fgithub.com\u002Fharthur-org\u002Fbrain.js)\n\n## 许可证\n\n[MIT](https:\u002F\u002Ftldrlegal.com\u002Flicense\u002Fmit-license)\n\n---\n\n> [stevenmiller888.github.io](https:\u002F\u002Fstevenmiller888.github.io) &nbsp;&middot;&nbsp;\n> GitHub [@stevenmiller888](https:\u002F\u002Fgithub.com\u002Fstevenmiller888) &nbsp;&middot;&nbsp;\n> Twitter [@stevenmiller888](https:\u002F\u002Ftwitter.com\u002Fstevenmiller888)","# Mind 快速上手指南\n\nMind 是一个适用于 Node.js 和浏览器的灵活神经网络库。它支持向量化数据处理、自定义网络拓扑，并允许导入\u002F导出已训练好的模型。\n\n## 环境准备\n\n- **运行环境**：Node.js (推荐 LTS 版本) 或现代浏览器\n- **包管理器**：npm 或 yarn\n- **前置依赖**：无特殊系统依赖，仅需 JavaScript 运行环境\n\n> 💡 **国内加速建议**：如遇安装缓慢，可配置淘宝镜像源：\n> ```bash\n> npm config set registry https:\u002F\u002Fregistry.npmmirror.com\n> # 或\n> yarn config set registry https:\u002F\u002Fregistry.npmmirror.com\n> ```\n\n## 安装步骤\n\n使用 yarn 安装（推荐）：\n```bash\nyarn add node-mind\n```\n\n或使用 npm 安装：\n```bash\nnpm install node-mind\n```\n\n## 基本使用\n\n以下示例演示如何训练一个简单的神经网络来识别字符图案（将 `#` 视为 1，`.` 视为 0）：\n\n```js\nconst Mind = require('node-mind');\n\n\u002F\u002F 辅助函数：将字符图案转换为数字数组\nfunction character(string) {\n  return string\n    .trim()\n    .split('')\n    .map(symbol => symbol === '#' ? 1 : 0);\n}\n\n\u002F\u002F 辅助函数：将字母映射为数值标签\nfunction map(letter) {\n  if (letter === 'a') return [0.1];\n  if (letter === 'b') return [0.3];\n  if (letter === 'c') return [0.5];\n  return [0];\n}\n\n\u002F\u002F 定义训练数据（字符 A, B, C）\nconst a = character(\n  '.#####.' +\n  '#.....#' +\n  '#.....#' +\n  '#######' +\n  '#.....#' +\n  '#.....#' +\n  '#.....#'\n);\n\nconst b = character(\n  '######.' +\n  '#.....#' +\n  '#.....#' +\n  '######.' +\n  '#.....#' +\n  '#.....#' +\n  '######.'\n);\n\nconst c = character(\n  '#######' +\n  '#......' +\n  '#......' +\n  '#......' +\n  '#......' +\n  '#......' +\n  '#######'\n);\n\n\u002F\u002F 创建并训练模型\nconst mind = new Mind({ activator: 'sigmoid' })\n  .learn([\n    { input: a, output: map('a') },\n    { input: b, output: map('b') },\n    { input: c, output: map('c') }\n  ]);\n\n\u002F\u002F 进行预测（即使有一个像素错误，也能识别出 C）\nconst result = mind.predict(character(\n  '#######' +\n  '#......' +\n  '#......' +\n  '#......' +\n  '#......' +\n  '##.....' +\n  '#######'\n));\n\nconsole.log(result); \u002F\u002F 输出接近 0.5 的值\n```\n\n### 核心 API 简述\n\n- **`new Mind(options)`**：创建实例。可选配置包括 `activator` (激活函数), `learningRate` (学习率), `hiddenUnits` (隐藏层单元数) 等。\n- **`.learn(data)`**：传入 `{ input, output }` 数组进行训练。\n- **`.predict(input)`**：输入数据获取预测结果。\n- **`.download()` \u002F `.upload(model)`**：导出或导入已训练好的模型数据，便于持久化或作为插件复用。","某前端开发团队需要在浏览器端构建一个轻量级的图形验证码识别功能，用于实时过滤用户提交的异常图片数据。\n\n### 没有 mind 时\n- **依赖沉重**：必须引入 TensorFlow.js 等大型框架，导致页面加载体积激增，严重影响首屏渲染速度。\n- **环境受限**：复杂的模型训练通常依赖 Node.js 后端或 Python 环境，无法直接在用户浏览器中完成本地化学习与推理。\n- **定制困难**：难以灵活调整神经网络的拓扑结构（如隐藏层数量、激活函数），无法针对简单的像素特征进行轻量化适配。\n- **状态丢失**：训练好的模型参数难以序列化保存和复用，每次刷新页面都需要重新训练，浪费计算资源。\n\n### 使用 mind 后\n- **极致轻量**：mind 基于原生 JavaScript 实现且支持向量化矩阵运算，无需额外重型依赖，完美嵌入前端项目。\n- **全栈运行**：利用 mind 可在浏览器直接进行模型训练与预测，实现了数据不出域的隐私保护与低延迟响应。\n- **灵活配置**：通过 `activator`、`hiddenLayers` 等选项轻松定制网络结构，快速适配从字母识别到简单图案分类的各种场景。\n- **插件化复用**：借助 `download` 和 `upload` 接口，可将训练好的“大脑”导出为插件，随时加载预训练模型立即投入生产。\n\nmind 让开发者能在纯 JavaScript 环境中以极低的成本构建、训练并部署灵活的神经网络，真正实现了 AI 能力的浏览器原生落地。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fstevenmiller888_mind_a8cb9abd.png","stevenmiller888",null,"https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fstevenmiller888_32972237.png","https:\u002F\u002Fgithub.com\u002Fstevenmiller888",[77,81],{"name":78,"color":79,"percentage":80},"JavaScript","#f1e05a",96.5,{"name":82,"color":83,"percentage":84},"Makefile","#427819",3.5,1508,110,"2026-03-17T07:55:20",1,"Linux, macOS, Windows","未说明",{"notes":92,"python":93,"dependencies":94},"该工具是基于 Node.js 和浏览器的神经网络库，无需 Python 环境。通过 yarn 或 npm 安装（包名为 node-mind）。支持自定义网络拓扑、激活函数（sigmoid\u002Fhtan）及插件扩展。由于是纯 JavaScript 实现，主要依赖 CPU 进行计算，无特定 GPU 或大内存需求，适合轻量级应用和浏览器端运行。","不适用",[95],"node-mind",[14],[64,98,99],"neural-network","prediction","2026-03-27T02:49:30.150509","2026-04-12T07:52:32.326178",[103,108,113,118,123,128],{"id":104,"question_zh":105,"answer_zh":106,"source_url":107},30405,"如何在浏览器中使用 Mind.js？是否有构建好的脚本？","虽然不建议直接热链接（hot-linking），但如果你需要快速测试，可以使用以下脚本标签引入：\n\u003Cscript type=\"text\u002Fjavascript\" src=\"https:\u002F\u002Frawgit.com\u002Fstevenmiller888\u002Fmind\u002Fmaster\u002Findex.js\">\u003C\u002Fscript>\n注意：请确保引用的是 Mind 库本身的构建脚本，而不是网站的构建脚本。","https:\u002F\u002Fgithub.com\u002Fstevenmiller888\u002Fmind\u002Fissues\u002F6",{"id":109,"question_zh":110,"answer_zh":111,"source_url":112},30406,"Mind.js 支持 0 到 1 之间的输入值（如 0.2, 0.5）吗？","这取决于你配置的激活函数：\n1. 如果使用 Sigmoid 激活函数，网络可以接受 0 到 1 之间的输入。\n2. 如果使用双曲正切（tanh）激活函数，网络可以接受 -1 到 1 之间的输入。\n如果输出结果不理想，建议尝试调整超参数，例如切换激活函数类型、增加学习迭代次数或调整学习率。","https:\u002F\u002Fgithub.com\u002Fstevenmiller888\u002Fmind\u002Fissues\u002F13",{"id":114,"question_zh":115,"answer_zh":116,"source_url":117},30407,"为什么示例代码的运行结果总是接近 1 而不是预期的 0.5？","这通常是因为激活函数选择不当。建议尝试使用 Sigmoid 激活函数来替代当前的配置。你可以参考官方示例中的字符识别代码进行配置：\nhttps:\u002F\u002Fgithub.com\u002Fstevenmiller888\u002Fmind\u002Fblob\u002Fmaster\u002Fexamples\u002Fcharacter-recognition\u002Fsimple\u002Findex.js#L49","https:\u002F\u002Fgithub.com\u002Fstevenmiller888\u002Fmind\u002Fissues\u002F19",{"id":119,"question_zh":120,"answer_zh":121,"source_url":122},30408,"如何保存训练好的模型以便以后加载使用（下载和上传权重）？","Mind.js 提供了 download() 和 upload() 函数用于导出和导入网络权重。维护者已专门创建了一个示例来演示具体用法，建议查看以下代码以了解如何下载模型文件以及如何在后续预测中通过 upload() 函数加载它：\nhttps:\u002F\u002Fgithub.com\u002Fstevenmiller888\u002Fmind\u002Fblob\u002Fmaster\u002Fexamples\u002Fdownload-upload\u002Findex.js","https:\u002F\u002Fgithub.com\u002Fstevenmiller888\u002Fmind\u002Fissues\u002F53",{"id":124,"question_zh":125,"answer_zh":126,"source_url":127},30409,"Mind.js 与 Brain.js 相比有什么优势或区别？","Mind.js 的主要设计目标是保持代码尽可能简单和清晰，非常适合初学者理解神经网络原理。相比之下，Brain.js 功能更丰富但可能更复杂。Mind.js 早期版本为了保持简洁限制了隐藏层数量，但其核心优势在于极高的代码可读性和教学价值。","https:\u002F\u002Fgithub.com\u002Fstevenmiller888\u002Fmind\u002Fissues\u002F9",{"id":129,"question_zh":130,"answer_zh":131,"source_url":132},30410,"是否可以对同一个网络实例多次调用 learn() 方法进行增量学习？","理论上是可以实现的，但这需要检查网络在运行前是否已经调用过 .learn 方法。目前这需要用户自行修改源码或在调用前进行状态检查。维护者表示欢迎提交 PR 来原生支持此功能，即在多次调用时累积学习而不是重置。","https:\u002F\u002Fgithub.com\u002Fstevenmiller888\u002Fmind\u002Fissues\u002F15",[]]