# brain **Repository Path**: dozen729/brain ## Basic Information - **Project Name**: brain - **Description**: 联想 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-15 - **Last Updated**: 2026-06-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 大脑搜索过程 > 认知科学教学演示:用力导向图的**激活扩散**动画,可视化大脑如何在记忆网络中检索一个概念。 灵感来自语义网络理论与激活扩散模型(Spreading Activation)。输入一个词,看它如何从种子概念出发、一层层点亮关联节点——就像大脑里念头扩散的过程。支持内置预设网络,也可接入大语言模型实时联想。 ## ✨ 功能 - **预设网络模式**:内置 83 个概念、161 条关联的记忆网络,输入即瞬时出图(无需 API) - **AI 联想模式**:调用大语言模型实时生成任意词语的联想网络 - **动态超时**:按深度/节点数预估耗时并设置超时上限,告别写死的 30s - **等待弹框**:实时计时、进度条、超预估变橙提示,并支持**随时取消** - **查看发送内容**:等待时可展开查看并复制发给 AI 的提示词与完整请求体 - **创意度调节**:0(紧密直接)↔ 10(天马行空) - **联想类型**:联想 / 因果 / 属性 / 场景 / 对比 / 示例 / 组成 / 用途 8 类可选 - **导入 JSON**:顶部第三模式,支持文件上传或粘贴,将外部 `{nodes, edges}` 图数据导入历史并展示(种子词取权重最高节点) - **本地历史**:搜索结果存入 IndexedDB,可回看、重放、单条/全部删除,每条可**复制纯图 JSON**(与导入格式对称,可闭环回导) - **交互探索**:动画结束后点击任意节点,以该词发起新一轮联想;画布支持拖拽与缩放 ## 🚀 快速开始 需要 Python 3(项目自带静态服务器,规避浏览器 `file://` 协议对 `fetch` 的限制)。 ```bash # Windows start.bat # 或任意平台 python server.py ``` 浏览器打开 **http://localhost:8000**。停止:`stop.bat`(或 `Ctrl+C`)。 > ⚠️ 不要直接双击 `index.html`:预设数据与 AI 配置都通过 `fetch` 加载,`file://` 协议会被浏览器拦截,页面无法工作。 ## 🔑 AI 模式配置 预设模式开箱即用。AI 模式需配置 API Key: 复制 `config.example.json` 为 `config.json`,填入你的 GLM API Key(`config.json` 已在 `.gitignore` 中,不会被提交): ```json { "api": { "baseURL": "https://open.bigmodel.cn/api/anthropic", "model": "glm-5.1", "authToken": "你的 API Key" } } ``` 使用智谱 GLM 的 Anthropic 兼容端点。 ## 🎮 使用 1. 顶部切换模式:**预设网络** / **AI 联想** / **导入 JSON** 2. 底部输入框输入词语(如:海滩、咖啡、音乐、旅行) 3. AI 模式下,左侧栏调节深度、节点数量、创意度、联想类型 4. 观察激活扩散动画;动画结束后点击任意节点继续探索 5. 右侧栏查看 / 重放 / 删除历史记录 ## 📁 项目结构 ``` index.html 页面骨架 css/style.css 深空科幻风样式 + 等待弹框样式 js/ app.js 主控制器:搜索流程、等待弹框、历史面板 api.js GLM 调用、响应解析、动态超时 buildTimeout graph.js D3 力导向图渲染 animation.js 激活扩散动画 db.js IndexedDB 历史持久化 lib/d3.v7.min.js D3.js v7 data/memory-network.json 预设网络数据(83 节点 / 161 边) tests/verify.mjs 回归测试(node:test) server.py 本地静态服务器(端口 8000) config.example.json API 配置模板 ``` ## 🛠 技术栈 - **D3.js v7** — 力导向图 - **原生 JS(IIFE 模块)** — 零构建、零依赖(除 D3) - **IndexedDB** — 本地历史持久化 - **智谱 GLM API** — Anthropic 兼容格式 - **node:test** — 核心逻辑回归测试 ## ✅ 测试 ```bash node --test tests/verify.mjs ``` 覆盖内容提取防护、种子词注入、`max_tokens` 动态计算、响应解析清洗、动态超时 `buildTimeout`、取消信号透传等核心逻辑。