From d9c856a455e0e610b3ba1864e0330f2e9bcfe184 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E5=AD=90=E6=9C=88?= <110341664+liangzhuohua@users.noreply.github.com> Date: Mon, 17 Aug 2026 09:52:36 +0800 Subject: [PATCH] docs(nanokvm-go): add bilingual Memory Fabric guide (#1007) --- .../nanokvm-go-memory-weaving-api-key-en.webp | Bin 0 -> 6308 bytes .../nanokvm-go-memory-weaving-api-key-zh.webp | Bin 0 -> 8676 bytes .../nanokvm-go-memory-weaving-enable-en.webp | Bin 0 -> 16276 bytes .../nanokvm-go-memory-weaving-enable-zh.webp | Bin 0 -> 22148 bytes ...kvm-go-memory-weaving-model-config-en.webp | Bin 0 -> 14956 bytes ...kvm-go-memory-weaving-model-config-zh.webp | Bin 0 -> 21034 bytes .../nanokvm-go-memory-weaving-saved-en.webp | Bin 0 -> 15114 bytes .../nanokvm-go-memory-weaving-saved-zh.webp | Bin 0 -> 20426 bytes .../nanokvm-go-settings-button.webp | Bin 0 -> 18752 bytes .../en/kvm/NanoKVM_Go/memory_weaving.md | 254 ++++++++++++++++++ docs/hardware/en/sidebar.yaml | 2 + .../zh/kvm/NanoKVM_Go/memory_weaving.md | 254 ++++++++++++++++++ docs/hardware/zh/sidebar.yaml | 2 + 13 files changed, 512 insertions(+) create mode 100644 docs/hardware/assets/NanoKVM/go/memory_weaving/nanokvm-go-memory-weaving-api-key-en.webp create mode 100644 docs/hardware/assets/NanoKVM/go/memory_weaving/nanokvm-go-memory-weaving-api-key-zh.webp create mode 100644 docs/hardware/assets/NanoKVM/go/memory_weaving/nanokvm-go-memory-weaving-enable-en.webp create mode 100644 docs/hardware/assets/NanoKVM/go/memory_weaving/nanokvm-go-memory-weaving-enable-zh.webp create mode 100644 docs/hardware/assets/NanoKVM/go/memory_weaving/nanokvm-go-memory-weaving-model-config-en.webp create mode 100644 docs/hardware/assets/NanoKVM/go/memory_weaving/nanokvm-go-memory-weaving-model-config-zh.webp create mode 100644 docs/hardware/assets/NanoKVM/go/memory_weaving/nanokvm-go-memory-weaving-saved-en.webp create mode 100644 docs/hardware/assets/NanoKVM/go/memory_weaving/nanokvm-go-memory-weaving-saved-zh.webp create mode 100644 docs/hardware/assets/NanoKVM/go/memory_weaving/nanokvm-go-settings-button.webp create mode 100644 docs/hardware/en/kvm/NanoKVM_Go/memory_weaving.md create mode 100644 docs/hardware/zh/kvm/NanoKVM_Go/memory_weaving.md diff --git a/docs/hardware/assets/NanoKVM/go/memory_weaving/nanokvm-go-memory-weaving-api-key-en.webp b/docs/hardware/assets/NanoKVM/go/memory_weaving/nanokvm-go-memory-weaving-api-key-en.webp new file mode 100644 index 0000000000000000000000000000000000000000..9279a2f2712e0275ef111d6c840ac0fa20d13d8d GIT binary patch literal 6308 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 literal 0 HcmV?d00001 diff --git a/docs/hardware/assets/NanoKVM/go/memory_weaving/nanokvm-go-memory-weaving-api-key-zh.webp b/docs/hardware/assets/NanoKVM/go/memory_weaving/nanokvm-go-memory-weaving-api-key-zh.webp new file mode 100644 index 0000000000000000000000000000000000000000..9fe36d05384144802fb944fef1880f617fff62d1 GIT binary patch literal 8676 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 a#`EmSn>`I;g7(7M{+Eoo|q#T_#=C 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 literal 0 HcmV?d00001 diff --git a/docs/hardware/assets/NanoKVM/go/memory_weaving/nanokvm-go-memory-weaving-model-config-en.webp b/docs/hardware/assets/NanoKVM/go/memory_weaving/nanokvm-go-memory-weaving-model-config-en.webp new file mode 100644 index 0000000000000000000000000000000000000000..ceba91f192e716106a3a3f6433587d93b945bb55 GIT binary patch literal 14956 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 literal 0 HcmV?d00001 diff --git a/docs/hardware/assets/NanoKVM/go/memory_weaving/nanokvm-go-memory-weaving-model-config-zh.webp b/docs/hardware/assets/NanoKVM/go/memory_weaving/nanokvm-go-memory-weaving-model-config-zh.webp new file mode 100644 index 0000000000000000000000000000000000000000..2974e3fad8aa8120aac8039d035eb432f3a148dd GIT binary patch literal 21034 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 literal 0 HcmV?d00001 diff --git a/docs/hardware/assets/NanoKVM/go/memory_weaving/nanokvm-go-memory-weaving-saved-zh.webp b/docs/hardware/assets/NanoKVM/go/memory_weaving/nanokvm-go-memory-weaving-saved-zh.webp new file mode 100644 index 0000000000000000000000000000000000000000..fdd5e94562ae166210683da0976e4c60d584275d GIT binary patch literal 20426 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 Memory Fabric is available only on NanoKVM Go+. NanoKVM Go does not support this feature. + +When Memory Fabric is enabled, NanoKVM Go+ periodically checks the target device screen for changes, recognizes text in changed screens, and creates operation records. You can then ask an AI tool connected to NanoKVM Go MCP what operations were performed or have it organize the entire process in chronological order. + +Memory Fabric is useful for: + ++ Reviewing a sequence of operations you just completed; ++ Documenting software installation, system configuration, or troubleshooting steps; ++ Checking which pages were opened or which settings were changed during a period of time; ++ Generating instructions or work logs from an actual operation process. + +> Screen content recognized and processed by Memory Fabric may contain sensitive information such as account details, chat messages, file names, passwords, and keys. Before using this feature, close any pages you do not want to record and make sure that both the configured model service and the connected AI tool are trustworthy. + +## How It Works + +Memory Fabric is not a continuous recording feature, and it does not save historical screenshots by default. It periodically samples the target device screen. When the screen changes, it extracts text and related context to create OCR-backed operation records. NanoKVM Go+ uses the model configured under `Settings > AI` to organize Memory Fabric content and exposes memory and OCR tools to AI tools through the `/api/mcp` endpoint. + +```text +NanoKVM Go+ periodically samples the target device screen + | + v +Screen text is recognized and stored as operation records + | + | /api/mcp + v +The AI tool reads the records and answers questions +``` + +The memory and OCR tools use the same endpoint and `API Key` as NanoKVM Go MCP. Before using Memory Fabric, connect your AI tool to NanoKVM Go+ as described in the MCP guide, and then configure a model for Memory Fabric. + +## Preparation + +Before using Memory Fabric, make sure that: + ++ You are using NanoKVM Go+. NanoKVM Go does not support Memory Fabric, so the feature is not shown on its settings page; ++ NanoKVM Go+ is connected to the target device; ++ The NanoKVM Go+ web control page displays the target device screen correctly; ++ The NanoKVM Go+ system and application have been updated to versions that support Memory Fabric; ++ NanoKVM Go+ is connected to a network and can access the model service you plan to use; ++ You have the model name, Base URL, and API Key; ++ An MCP-compatible AI tool is installed on the control device. + +If NanoKVM Go MCP has not been configured yet, follow the [MCP guide](./mcp.html) to add it to your AI tool and confirm that it is connected before configuring Memory Fabric. + +## Enable Memory Fabric and Configure the Model + +### Enable Memory Fabric + +1. Enter the NanoKVM Go+ IP address in your browser to open the web control page. +2. Log in to NanoKVM Go+ and click the settings button on the toolbar. + +![Open the NanoKVM Go+ settings page](./../../../assets/NanoKVM/go/memory_weaving/nanokvm-go-settings-button.webp) + +3. Select `AI` in the left sidebar, find `Memory Fabric`, and turn on the switch. + +![Enable NanoKVM Go+ Memory Fabric](./../../../assets/NanoKVM/go/memory_weaving/nanokvm-go-memory-weaving-enable-en.webp) + +After enabling the feature, configure the default model below it. This model processes Memory Fabric content. + +### Configure the Model + +Fill in the model settings under the Memory Fabric switch. The model service must provide an OpenAI-compatible Chat Completions endpoint: + +| Setting | Description | +| --- | --- | +| `Model` | Enter the model name provided by your model service. It must match a model ID actually supported by the service. | +| `Base URL` | Enter the base URL of the OpenAI-compatible endpoint, such as `https://api.openai.com/v1`. The URL must stop before `/chat/completions`; do not enter the full `/chat/completions` request URL. | +| `Maximum tokens` | Limits the maximum number of tokens used by a single model request. A value that is too low may result in incomplete output. | +| `Timeout (seconds)` | Sets how long to wait for a model request. Increase it if the network or model responds slowly. | +| `API key` | The credential used to access the model service. | + +![Configure the NanoKVM Go+ Memory Fabric model](./../../../assets/NanoKVM/go/memory_weaving/nanokvm-go-memory-weaving-model-config-en.webp) + +The `API key` menu provides the following options: + ++ `Keep existing key`: Continue using the saved key without changing it; ++ `Replace key`: Enter and save a new key; ++ `Clear key`: Delete the saved key. + +For the initial configuration, select `Replace key` and enter the API Key provided by the model service. When changing other model settings without changing the key, select `Keep existing key`. + +![Configure the NanoKVM Go+ Memory Fabric API key](./../../../assets/NanoKVM/go/memory_weaving/nanokvm-go-memory-weaving-api-key-en.webp) + +If an API key has already been saved, the page shows `Configured`. To change it, select `Replace key` and enter the new API key. + +### Save the Configuration + +After filling in the settings, click `Save` in the upper-right corner. To discard unsaved changes and load the current configuration again, click `Reload`. + +After saving, confirm that: + ++ The Memory Fabric switch is enabled; ++ The model name and Base URL are correct; ++ The API key is shown as configured; ++ No configuration save error is shown. + +> A successful save only confirms that the configuration was written to NanoKVM Go+. It does not confirm connectivity to the model service, and the web page does not currently perform a separate model connection test. Continue with the short operation test below, wait one to two minutes, and then query the records from your AI tool to verify screen capture and MCP access. If your model provider supplies request logs, you can also check for a successful Chat Completions request from NanoKVM Go+ to verify model connectivity separately. + +![NanoKVM Go+ Memory Fabric configuration saved](./../../../assets/NanoKVM/go/memory_weaving/nanokvm-go-memory-weaving-saved-en.webp) + +The model service API Key and the NanoKVM Go MCP API Key serve different purposes. Do not mix them up: + +| API Key | Purpose | Where to enter it | +| --- | --- | --- | +| Model service API Key | Allows NanoKVM Go+ to call the configured model | `Settings > AI > Memory Fabric > Configuration` | +| NanoKVM Go MCP API Key | Allows an external AI tool to connect to NanoKVM Go MCP | The MCP Server configuration in the AI tool | + +## Record an Operation Process + +After configuring the model and MCP, leave Memory Fabric enabled and operate the target device through NanoKVM Go+ as usual. + +For an initial test, perform a few simple operations. For example: + +1. Open the system settings; +2. Open the system information or About page; +3. View non-sensitive information such as the device name and system version; +4. Return to the settings home page; +5. Close the settings and return to the desktop. + +This sequence contains several clear screen changes but does not modify the target device configuration, making it suitable for verifying that Memory Fabric records and organizes the process correctly. + +Memory Fabric samples the target device screen approximately every 10 seconds. When a sampled screen differs from the previous one, NanoKVM Go+ recognizes its text and creates a new OCR-backed operation record. You do not need to take screenshots manually or start a separate recording. + +Memory Fabric retains OCR text records and organized memories, not historical screenshots that can be visually reviewed. Changes that are purely graphical, icon-only, or contain no clear text may not produce a useful record. To review the actual screen history, separately enable `Screen Timelapse` under `Settings > AI`. + +For clearer review results: + ++ Keep each important page visible for longer than one complete sampling cycle; waiting about 15 seconds is recommended; ++ Avoid rapidly switching back and forth between unrelated pages; ++ Do not display passwords, keys, or personal information that you do not want recorded; ++ When you no longer need the feature, return to `Settings > AI` and disable Memory Fabric. + +## Review Operations with AI + +Open an AI tool that is connected to NanoKVM Go MCP and ask about the operations you just performed using natural language. + +For example: + +```text +Use the NanoKVM Go+ memory tools to tell me what I just did. +``` + +```text +Organize my recent operations in chronological order. For each step, explain which page I opened and what I did there. +``` + +```text +Create a repeatable operation guide based on my recent activity. +``` + +```text +Based on my recent activity, tell me which system information I viewed and whether I changed any settings. +``` + +The AI tool calls the memory and OCR tools through NanoKVM Go MCP and answers based on the saved OCR-backed operation records and organized memories. The level of detail depends on the completeness of the record, text clarity, model configuration, and the capabilities of the AI tool. + +## Verify the Feature + +For the initial test, perform a short sequence with three to five clear screen changes. Keep each important page visible for about 15 seconds, and then check that: + ++ Memory Fabric is enabled under `Settings > AI`; ++ The model configuration has been saved and the API key is shown as configured; ++ NanoKVM Go MCP remains connected in the AI tool; ++ The AI can call the memory or OCR tools; ++ The AI can describe the pages you just opened or operated; ++ The sequence produced by the AI generally matches the actual order of operations; ++ If your model provider supplies request logs, a successful Chat Completions request from NanoKVM Go+ appears within one to two minutes after the operation. + +## Troubleshooting + +### Memory Fabric Is Not Shown on the Settings Page + +Check that: + ++ The device is NanoKVM Go+. NanoKVM Go does not support Memory Fabric; ++ The NanoKVM Go+ system and application have been updated to versions that support the feature. + +### The Configuration Cannot Be Saved or the Model Call Fails + +Check that: + ++ The model name matches a model ID actually supported by the model service; ++ The model service provides an OpenAI-compatible Chat Completions endpoint; ++ The Base URL stops before `/chat/completions`; ++ The model service API Key is valid and has permission to use the selected model; ++ NanoKVM Go+ can access the model service; ++ The model service account has available quota; ++ The timeout is not too short. + +### The AI Tool Cannot Read Memory Fabric Records + +Check that: + ++ You completed the configuration described in the [MCP guide](./mcp.html); ++ NanoKVM Go MCP is shown as connected; ++ The MCP `Endpoint` and MCP `API Key` are correct; ++ The model service API Key was not accidentally entered in the MCP configuration; ++ The AI tool is allowed to call NanoKVM Go MCP tools; ++ Memory Fabric is enabled; ++ The NanoKVM Go+ system and application versions support the feature. + +### No New Records Are Created After an Operation + +Check that: + ++ Memory Fabric is enabled; ++ The NanoKVM Go+ web control page displays the target device screen correctly; ++ There is a clear difference between the screen before and after the operation; ++ Important pages remain visible for longer than 10 seconds; ++ The page contains clear, recognizable text; ++ The target device is not showing a black screen, lock screen, or no-signal screen. + +### The AI Produces Incomplete or Incorrectly Ordered Steps + +Possible causes include: + ++ Pages were switched too quickly for key screens to remain visible; ++ Multiple operations occurred on the same page with little visual change; ++ The operation was shown mainly through graphics or icons without recognizable text; ++ Text was too small, obscured, or unclear; ++ `Maximum tokens` was set too low and the answer was truncated; ++ The question did not define the requested scope clearly enough. + +Repeat a shorter sequence, keep each important page visible for about 15 seconds, and explicitly ask the AI to organize the result in chronological order. + +## Privacy and Security + ++ Memory Fabric processes the target device screen, which may contain sensitive information; ++ Text recognized from the screen and organized content may be sent to the configured model service. Review the service's privacy and data retention policies before use; ++ Enable Memory Fabric only when needed and disable it after use; ++ Connect NanoKVM Go MCP only to trusted AI tools; ++ Do not disclose the model service API Key or NanoKVM Go MCP API Key; ++ Do not expose the MCP service directly to the public internet; ++ Before sharing AI-generated summaries or screenshots, check and redact account details, passwords, keys, and personal information. diff --git a/docs/hardware/en/sidebar.yaml b/docs/hardware/en/sidebar.yaml index 65229e0d..c3bc9015 100644 --- a/docs/hardware/en/sidebar.yaml +++ b/docs/hardware/en/sidebar.yaml @@ -559,6 +559,8 @@ items: file: kvm/NanoKVM_Go/resolution.md - label: MCP file: kvm/NanoKVM_Go/mcp.md + - label: Memory Fabric + file: kvm/NanoKVM_Go/memory_weaving.md - label: KVM App Update file: kvm/NanoKVM_Go/system/updating.md - label: Network diff --git a/docs/hardware/zh/kvm/NanoKVM_Go/memory_weaving.md b/docs/hardware/zh/kvm/NanoKVM_Go/memory_weaving.md new file mode 100644 index 00000000..137dce98 --- /dev/null +++ b/docs/hardware/zh/kvm/NanoKVM_Go/memory_weaving.md @@ -0,0 +1,254 @@ +--- +title: NanoKVM Go+ 记忆织网 +keywords: NanoKVM Go+, NanoKVM Go, 记忆织网, MCP, AI, OCR, 操作记录, 页面回顾 +update: + - date: 2026-08-17 + version: v0.2 + author: Liang Ziyue + content: + - 补充适用型号、模型接口、采样周期和记录内容说明 + - date: 2026-08-11 + version: v0.1 + author: Liang Ziyue + content: + - 新增 NanoKVM Go+ 记忆织网功能使用说明 +--- + +## 简介 + +记忆织网用于记录被控设备上的操作过程,并帮助 AI 回顾和整理这段操作。 + +> 记忆织网仅支持 NanoKVM Go+,NanoKVM Go 不支持该功能。 + +开启记忆织网后,NanoKVM Go+ 会定期检查被控设备的画面变化,识别变化画面中的文字并形成操作记录。之后可以在已经连接 NanoKVM Go MCP 的 AI 工具中提问,让 AI 说明操作过哪些内容,或者按顺序整理整个操作过程。 + +该功能适合以下场景: + ++ 回顾刚刚完成的一系列操作; ++ 整理软件安装、系统配置或故障排查步骤; ++ 确认某段时间内打开过哪些页面、修改过哪些设置; ++ 根据实际操作过程生成步骤说明或工作记录。 + +> 记忆织网识别和处理的画面内容可能包含账号、聊天内容、文件名、密码、密钥等敏感信息。开始使用前,请关闭不希望被记录的页面,并确认所填写的模型服务和连接的 AI 工具均可信。 + +## 工作原理 + +记忆织网不是连续录像功能,也不会默认保存历史截图。它会定期采样被控设备画面;发现画面变化后,提取其中的文字和相关上下文,形成基于 OCR 的操作记录。NanoKVM Go+ 使用 `设置 > AI` 中配置的模型整理记忆织网内容,并通过 `/api/mcp` 端点向 AI 工具开放记忆和 OCR 工具。 + +```text +NanoKVM Go+ 定期采样被控设备画面 + | + v +识别画面文字并形成操作记录 + | + | /api/mcp + v +AI 工具读取记录并回答问题 +``` + +记忆和 OCR 工具与 NanoKVM Go MCP 使用相同的端点和 `API Key`。因此,使用记忆织网前,需要先按照 MCP 文档将 AI 工具连接到 NanoKVM Go+,再为记忆织网配置可用的模型。 + +## 使用前准备 + +使用记忆织网前,请先确认: + ++ 使用的是 NanoKVM Go+;NanoKVM Go 不支持记忆织网,设置页面不会显示该功能; ++ NanoKVM Go+ 已正常连接被控设备; ++ NanoKVM Go+ 网页控制端可以正常显示被控设备画面; ++ NanoKVM Go+ 的系统和应用已更新到支持记忆织网的版本; ++ NanoKVM Go+ 已连接网络,并且可以访问准备使用的模型服务; ++ 已准备模型名称、基础 URL 和 API Key; ++ 控制设备上已安装支持 MCP 的 AI 工具。 + +如果还没有配置 NanoKVM Go MCP,请先阅读 [MCP 功能](./mcp.html),将 NanoKVM Go MCP 添加到 AI 工具并确认连接成功,然后再继续配置记忆织网。 + +## 开启记忆织网并配置模型 + +### 开启记忆织网 + +1. 在浏览器地址栏输入 NanoKVM Go+ 的 IP 地址,打开网页控制端; +2. 登录 NanoKVM Go+,点击工具栏中的设置按钮; + +![打开 NanoKVM Go+ 设置页面](./../../../assets/NanoKVM/go/memory_weaving/nanokvm-go-settings-button.webp) + +3. 在设置页面左侧选择 `AI`;找到 `记忆织网` 并打开开关。 + +![开启 NanoKVM Go+ 记忆织网(中文)](./../../../assets/NanoKVM/go/memory_weaving/nanokvm-go-memory-weaving-enable-zh.webp) + +开启后,继续填写下方的默认模型配置。该模型用于处理记忆织网内容。 + +### 填写模型配置 + +在记忆织网开关下方填写模型配置。模型服务必须提供兼容 OpenAI Chat Completions 格式的接口: + +| 配置项 | 说明 | +| --- | --- | +| `模型` | 填写模型服务提供的模型名称,必须与服务端实际支持的模型 ID 一致 | +| `基础 URL` | 填写兼容 OpenAI 接口的基础地址,例如 `https://api.openai.com/v1`。地址应在 `/chat/completions` 之前结束,不要填写完整的 `/chat/completions` 请求地址 | +| `最大 Token 数` | 限制单次模型调用使用的最大 Token 数;数值过小可能导致生成内容不完整 | +| `超时时间(秒)` | 模型请求的最长等待时间;网络较慢或模型响应较慢时可以适当增加 | +| `API Key` | 用于访问模型服务的认证凭据 | + +![NanoKVM Go+ 记忆织网模型配置(中文)](./../../../assets/NanoKVM/go/memory_weaving/nanokvm-go-memory-weaving-model-config-zh.webp) + +`API Key` 下拉菜单提供以下操作: + ++ `保留现有 Key`:继续使用已经保存的 Key,不修改当前配置; ++ `替换 Key`:填写并保存新的 Key; ++ `清除 Key`:删除已经保存的 Key。 + +首次配置时,选择 `替换 Key`,然后填写模型服务提供的 API Key。修改其他模型参数但不需要更换 Key 时,选择 `保留现有 Key` 即可。 + +![配置 NanoKVM Go+ 记忆织网 API Key(中文)](./../../../assets/NanoKVM/go/memory_weaving/nanokvm-go-memory-weaving-api-key-zh.webp) + +如果已经保存过 API Key,页面会显示 `已配置`。需要更换时,选择 `替换 Key` 并填写新的 API Key。 + +### 保存配置 + +填写完成后,点击页面右上方的 `保存`。如果需要放弃尚未保存的修改并重新读取当前配置,可以点击 `重新加载`。 + +保存后,请确认: + ++ 记忆织网开关处于开启状态; ++ 模型名称和基础 URL 填写正确; ++ API Key 显示为已配置; ++ 页面没有显示配置保存失败。 + +> 保存成功只表示配置已经写入 NanoKVM Go+,不代表设备已经成功连接模型服务,网页目前也不会单独测试模型连接。请继续完成下方的短操作测试,等待 1~2 分钟后再通过 AI 工具查询记录,以确认画面采集和 MCP 查询流程正常。如果模型服务提供调用日志,还可以检查是否出现来自 NanoKVM Go+ 的成功 Chat Completions 请求,以单独确认模型连接。 + +![NanoKVM Go+ 记忆织网配置已保存(中文)](./../../../assets/NanoKVM/go/memory_weaving/nanokvm-go-memory-weaving-saved-zh.webp) + +请注意,模型服务 API Key 与 NanoKVM Go MCP API Key 用途不同,不要混用: + +| API Key | 用途 | 填写位置 | +| --- | --- | --- | +| 模型服务 API Key | 允许 NanoKVM Go+ 调用所配置的模型 | `设置 > AI > 记忆织网 > 配置` | +| NanoKVM Go MCP API Key | 允许外部 AI 工具连接 NanoKVM Go MCP | AI 工具的 MCP Server 配置 | + +## 记录操作过程 + +模型和 MCP 配置完成后,保持记忆织网开关开启,然后像平时一样通过 NanoKVM Go+ 操作被控设备即可。 + +首次测试时,可以做一点简单的操作。例如,可以依次执行: + +1. 打开系统设置; +2. 进入系统信息或“关于”页面; +3. 查看设备名称、系统版本等非敏感信息; +4. 返回设置首页; +5. 关闭设置并返回桌面。 + +这段操作包含多次明显的页面变化,但不会修改被控设备的配置,适合用来确认记忆织网是否可以正确记录和整理操作过程。 + +记忆织网约每 10 秒采样一次被控设备画面。采样到与上一次不同的画面后,NanoKVM Go+ 会识别画面文字并形成新的 OCR 操作记录,不需要手动截图或单独点击开始记录。 + +记忆织网保存的是 OCR 文字记录和整理后的记忆,不是可供回看的历史截图。纯图形、图标或没有清晰文字的变化可能无法形成有效记录。如果需要回看实际画面,请另外开启 `设置 > AI` 中的 `屏幕延时回放` 功能。 + +为了让后续回顾结果更清晰,建议: + ++ 每完成一个关键操作后,让重要页面保持显示超过一个完整采样周期,建议等待约 15 秒; ++ 避免快速、反复切换无关页面; ++ 不要在画面中显示不希望被记录的密码、密钥或个人信息; ++ 完成记录后,如果暂时不再使用该功能,可以返回 `设置 > AI` 关闭记忆织网开关。 + +## 使用 AI 回顾操作过程 + +打开已经连接 NanoKVM Go MCP 的 AI 工具,并用自然语言询问刚才的操作过程。 + +例如: + +```text +请使用 NanoKVM Go+ 的记忆工具,告诉我刚才操作了什么。 +``` + +```text +请按时间顺序整理刚才的操作步骤,并说明每一步进入了哪个页面、完成了什么操作。 +``` + +```text +根据刚才的记录,帮我整理一份可以重复执行的操作指南。 +``` + +```text +根据刚才的记录,告诉我查看了哪些系统信息,并确认操作过程中是否修改过设置。 +``` + +AI 工具会通过 NanoKVM Go MCP 调用记忆和 OCR 工具,并根据已保存的 OCR 操作记录和整理后的记忆回答问题。回答的详细程度会受到记录是否完整、页面文字是否清晰、模型配置以及所使用 AI 工具能力的影响。 + +## 确认功能正常 + +首次使用时,建议只执行一段包含 3~5 次明显页面变化的短操作。每个重要页面保持显示约 15 秒,然后检查: + ++ `设置 > AI` 中的记忆织网开关已经开启; ++ 模型配置已经保存,API Key 显示为已配置; ++ AI 工具中的 NanoKVM Go MCP 保持已连接状态; ++ AI 能够调用记忆或 OCR 工具; ++ AI 能够说明刚才打开或操作过的页面; ++ AI 整理出的步骤顺序与实际操作基本一致; ++ 如果模型服务提供调用日志,完成操作并等待 1~2 分钟后,可以看到来自 NanoKVM Go+ 的成功 Chat Completions 请求。 + +## 常见问题 + +### 设置页面中没有记忆织网 + +请检查: + ++ 当前设备是否为 NanoKVM Go+;NanoKVM Go 不支持记忆织网; ++ NanoKVM Go+ 的系统和应用是否已经更新到支持该功能的版本。 + +### 模型配置无法保存或调用失败 + +请检查: + ++ 模型名称是否与模型服务实际支持的模型 ID 一致; ++ 模型服务是否提供兼容 OpenAI Chat Completions 格式的接口; ++ 基础 URL 是否在 `/chat/completions` 之前结束; ++ 模型服务 API Key 是否有效,是否具有对应模型的调用权限; ++ NanoKVM Go+ 是否可以访问模型服务; ++ 模型服务账号是否有可用额度; ++ 超时时间是否过短。 + +### AI 工具无法读取记忆织网记录 + +请检查: + ++ 是否已经按照 [MCP 功能](./mcp.html) 完成配置; ++ NanoKVM Go MCP 是否显示为已连接; ++ MCP `端点` 和 MCP `API Key` 是否填写正确; ++ 是否误把模型服务 API Key 填入了 MCP 配置; ++ 当前 AI 工具是否允许调用 NanoKVM Go MCP 工具; ++ 记忆织网开关是否已经开启; ++ NanoKVM Go+ 系统和应用版本是否支持该功能。 + +### 操作后没有生成新的记录 + +请检查: + ++ 记忆织网开关是否处于开启状态; ++ NanoKVM Go+ 网页控制端是否可以正常显示被控设备画面; ++ 操作前后页面是否有明显变化; ++ 重要页面是否保持显示超过 10 秒; ++ 页面中是否有清晰、可识别的文字; ++ 被控设备是否停留在黑屏、锁屏或无视频信号状态。 + +### AI 整理的步骤不完整或顺序不准确 + +可能的原因包括: + ++ 页面切换过快,关键页面没有稳定显示; ++ 多个操作发生在同一个页面内,画面变化不明显; ++ 操作主要表现为图形或图标变化,没有可识别的文字; ++ 页面文字过小、被遮挡或画面不清晰; ++ `最大 Token 数` 设置过小,回答被提前截断; ++ 提问范围不够明确。 + +可以重新执行一段较短的操作,让每个关键页面保持显示约 15 秒,并在提问时明确要求 AI 按时间顺序整理。 + +## 隐私与安全注意事项 + ++ 记忆织网处理的是被控设备画面,可能包含敏感信息; ++ 从画面中识别出的文字和整理内容可能会发送到所配置的模型服务,请在使用前确认模型服务的隐私和数据保留政策; ++ 只在确有需要时开启记忆织网,使用完成后及时关闭; ++ 只将 NanoKVM Go MCP 连接到可信的 AI 工具; ++ 不要泄露模型服务 API Key 或 NanoKVM Go MCP API Key; ++ 不要将 MCP 服务直接暴露到公网; ++ 分享 AI 整理结果或操作截图前,先检查并遮盖账号、密码、密钥和个人信息。 diff --git a/docs/hardware/zh/sidebar.yaml b/docs/hardware/zh/sidebar.yaml index b575f616..62e370ef 100644 --- a/docs/hardware/zh/sidebar.yaml +++ b/docs/hardware/zh/sidebar.yaml @@ -560,6 +560,8 @@ items: file: kvm/NanoKVM_Go/resolution.md - label: MCP 功能 file: kvm/NanoKVM_Go/mcp.md + - label: 记忆织网 + file: kvm/NanoKVM_Go/memory_weaving.md - label: KVM 应用更新 file: kvm/NanoKVM_Go/system/updating.md - label: 网络