AI Nav

AI 对话导航、提示词库、问题答案导出、阅读主题与搜索定位增强脚本。

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

Aŭtoro
bob kane
Ĉiutagaj instaloj
1
Tutaj instaloj
5
Ratings
0 0 0
Versio
5.0.2
Kreita
2026/03/24
Ĝisdatigita
2026/03/27
Size
177 kb
Licenco
GPL-3.0-or-later
Aplikiĝas al

项目概述

本文档引用的文件

目录

  1. 项目简介
  2. 项目结构
  3. 核心组件
  4. 架构总览
  5. 详细组件分析
  6. 依赖关系分析
  7. 性能考虑
  8. 故障排除指南
  9. 结论
  10. 附录

项目简介

AI对话导航是一个专为浏览器设计的油猴脚本(Tampermonkey),旨在为ChatGPT和Gemini等AI对话平台提供强大的导航增强功能。该项目通过在网页中注入自定义UI组件,为用户提供了以下核心能力:

  • 对话导航面板:实时提取对话中的问题列表,支持快速跳转和搜索定位
  • 提示词库管理:提供完整的提示词创建、存储、搜索和批量管理功能
  • 阅读增强功能:支持多种阅读主题、字体配置、宽度调整和净化模式
  • 内容导出:可将对话内容导出为Markdown或TXT格式

该项目采用现代化的Web技术栈,使用原生JavaScript、Shadow DOM和CSS自定义属性,确保在不同AI对话平台上的兼容性和稳定性。

项目结构

项目采用简洁的单文件架构,包含两个完全相同的实现版本:

graph TB
subgraph "项目根目录"
A[AI-Nav.js] --> B[主功能实现]
C[AI-Nav-backup.js] --> D[备份版本]
end
subgraph "核心模块"
E[配置层 Config]
F[工具层 Utils]
G[业务层 Logic]
H[组件层 UI]
end
A --> E
A --> F
A --> G
A --> H
C --> E
C --> F
C --> G
C --> H

图表来源

章节来源

核心组件

配置层(Config)

配置层负责管理所有常量、选择器和全局状态:

  • 站点检测:自动识别ChatGPT和Gemini平台
  • DOM标记:使用统一的数据属性标识AI对话导航元素
  • 存储前缀:标准化localStorage键名前缀
  • 选择器映射:针对不同平台的元素选择器配置

工具层(Utils)

提供核心功能函数:

  • 消息提取:从不同平台提取对话内容
  • 文本处理:Markdown转换、HTML节点遍历
  • 数据持久化:本地存储管理、数据迁移
  • UI交互:拖拽、滚动、搜索高亮

业务层(Logic)

实现主要业务逻辑:

  • NavigatorApp组件:主控制器,管理整个应用生命周期
  • 提示词管理:完整的CRUD操作和数据验证
  • 阅读器配置:主题切换、字体设置、布局调整
  • 导出功能:多格式内容导出

组件层(UI)

构建用户界面:

  • 导航面板:固定位置的侧边栏,支持展开/收起
  • 设置面板:丰富的配置选项
  • 提示词面板:分页的提示词管理界面
  • 模态对话框:各种设置和操作的弹窗

章节来源

架构总览

项目采用分层架构设计,确保代码的可维护性和扩展性:

graph TD
A[用户界面层] --> B[业务逻辑层]
B --> C[工具函数层]
C --> D[数据持久化层]
A1[NavigatorApp组件]
A2[设置面板]
A3[提示词面板]
A4[导出对话框]
B1[消息提取]
B2[Markdown转换]
B3[搜索定位]
B4[数据验证]
C1[DOM查询]
C2[事件处理]
C3[样式应用]
C4[存储管理]
D1[localStorage]
D2[文件下载]
D3[剪贴板操作]
A1 --> B1
A2 --> B2
A3 --> B3
A4 --> B4
B1 --> C1
B2 --> C2
B3 --> C3
B4 --> C4
C1 --> D1
C2 --> D2
C3 --> D3
C4 --> D1

图表来源

技术特性

  • 响应式设计:支持移动端和桌面端适配
  • 深色模式:完整的暗黑主题支持
  • 无障碍访问:键盘导航和屏幕阅读器支持
  • 性能优化:虚拟滚动、懒加载、内存管理

章节来源

详细组件分析

NavigatorApp 主组件

NavigatorApp是整个应用的核心控制器,继承自HTMLElement,实现了完整的MVC架构:

classDiagram
class NavigatorApp {
+connectedCallback()
+loadSettings()
+saveSettings()
+applyDepth()
+render()
+collectConversationMessages()
+exportConversation()
+buildSelectedExportMessages()
-initDraggable()
-updateOpenState()
-updateList()
}
class QuestionData {
+QuestionItem[] _allQuestions
+Element[] _allElements
+Detail[] _allDetails
+String[] _allQuestionIds
+Number _depth
+Set _selectedQuestionIds
}
class ReaderConfig {
+String theme
+String fontType
+Number fontSize
+Number maxWidth
+Boolean hideFooter
+Boolean cleanMode
+Boolean publicStyle
+String publicColor
+String publicType
}
NavigatorApp --> QuestionData : manages
NavigatorApp --> ReaderConfig : applies

图表来源

导航面板功能

导航面板提供以下核心功能:

  • 问题列表展示:自动提取对话中的问题并显示
  • 深度控制:限制显示最近N轮对话
  • 搜索定位:全文搜索并高亮匹配项
  • 批量选择:支持全选、反选和批量操作
  • 拖拽移动:可自由调整面板位置

设置面板功能

设置面板包含多个配置区域:

  • 阅读设置:主题、字体、宽度、净化模式
  • 对话设置:显示轮数、保存配置
  • 快捷操作:一键导出、清空缓存

章节来源

提示词库管理系统

提示词库系统提供完整的提示词生命周期管理:

sequenceDiagram
participant U as 用户
participant P as 提示词面板
participant V as 验证器
participant S as 存储
participant L as 列表
U->>P : 新增提示词
P->>V : 验证输入
V-->>P : 验证结果
P->>S : 保存到localStorage
S-->>L : 更新列表
L-->>U : 显示新提示词
U->>P : 搜索提示词
P->>L : 过滤显示
L-->>U : 展示搜索结果
U->>P : 批量操作
P->>L : 更新选中状态
L-->>P : 反馈操作结果

图表来源

数据模型

提示词条目包含以下字段:

字段名 类型 描述 必填
id String 唯一标识符
title String 标题
content String 内容
group String 分组标签
updatedAt Number 更新时间戳

功能特性

  • 智能去重:基于内容签名自动去重
  • 批量导入:支持JSON文件批量导入
  • 标签管理:按标签分类和筛选
  • 搜索功能:支持标题、标签、内容的全文搜索
  • 导出功能:可导出为标准格式

章节来源

阅读增强系统

阅读增强系统提供丰富的阅读体验定制选项:

flowchart TD
A[用户配置] --> B{主题选择}
B --> |默认| C[系统主题]
B --> |浅色| D[白色主题]
B --> |深色| E[暗黑主题]
B --> |护眼| F[绿色主题]
B --> |复古| G[棕色主题]
B --> |灰度| H[黑白主题]
A --> I{字体选择}
I --> J[微软雅黑]
I --> K[宋体]
I --> L[黑体]
I --> M[楷体]
I --> N[仿宋]
I --> O[圆体]
I --> P[等宽字体]
A --> Q{宽度设置}
Q --> R[自定义像素值]
A --> S{净化模式}
S --> T[启用]
S --> U[禁用]
C --> V[应用样式]
D --> V
E --> V
F --> V
G --> V
H --> V
J --> V
K --> V
L --> V
M --> V
N --> V
O --> V
P --> V
R --> V
T --> V
U --> V

图表来源

支持的主题

主题名称 颜色方案 适用场景
default 系统默认 通用阅读
white 白色背景 浅色阅读
yellow 暖色调 护眼阅读
green 绿色背景 长时间阅读
sepia 褐色背景 复古阅读
gray 灰色背景 专业阅读
dark 黑色背景 夜间阅读

阅读模式

  • 净化模式:隐藏侧边栏、导航栏等干扰元素
  • 公众号模式:模拟微信公众号排版风格
  • 自适应布局:根据屏幕尺寸自动调整

章节来源

依赖关系分析

项目采用松耦合的设计,各模块之间的依赖关系清晰:

graph LR
A[配置层] --> B[工具层]
B --> C[业务层]
C --> D[组件层]
E[DOM查询] --> F[消息提取]
F --> G[Markdown转换]
G --> H[导出功能]
I[事件处理] --> J[UI更新]
J --> K[存储管理]
K --> L[数据持久化]
M[样式应用] --> N[主题切换]
N --> O[字体配置]
O --> P[布局调整]

图表来源

平台兼容性

项目支持以下平台和浏览器:

性能特征

  • 内存使用:约2-5MB(取决于对话长度)
  • CPU占用:低负载,仅在交互时激活
  • 网络请求:无外部依赖,纯本地处理
  • 启动时间:< 1秒

章节来源

性能考虑

优化策略

  1. 懒加载机制:仅在需要时初始化组件
  2. 虚拟滚动:大量数据时使用虚拟化列表
  3. 事件节流:搜索和滚动操作进行防抖处理
  4. 内存回收:及时清理DOM引用和事件监听器

最佳实践

  • 合理使用深度设置:避免显示过长的历史记录
  • 定期清理提示词:删除不再使用的提示词条目
  • 选择合适的主题:根据环境光线选择合适主题
  • 利用搜索功能:快速定位特定对话内容

故障排除指南

常见问题

问题描述 可能原因 解决方案
导航面板不显示 脚本未正确安装 重新安装油猴扩展
消息提取失败 页面结构变化 检查选择器配置
提示词无法保存 浏览器存储限制 清理浏览器缓存
阅读样式异常 CSS冲突 刷新页面或禁用其他样式扩展

调试方法

  1. 打开开发者工具:按F12查看控制台错误
  2. 检查网络请求:确认无跨域问题
  3. 验证DOM结构:确认选择器能够正确匹配元素
  4. 测试功能模块:逐个功能进行单元测试

章节来源

结论

AI对话导航脚本通过精心设计的架构和丰富的功能特性,为用户提供了卓越的AI对话体验。项目的主要优势包括:

  • 功能完整性:涵盖导航、管理、阅读增强等全方位需求
  • 平台兼容性:支持主流AI对话平台
  • 用户体验:直观的界面设计和流畅的操作体验
  • 技术先进性:采用现代Web技术栈和最佳实践