AI Nav

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

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램을 설치해야 합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

작성자
bob kane
일일 설치 수
1
총 설치 수
5
평점
0 0 0
버전
5.0.2
생성일
2026-03-24
갱신일
2026-03-27
크기
177KB
라이선스
GPL-3.0-or-later
적용 사이트

项目概述

本文档引用的文件

目录

  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技术栈和最佳实践