From 41b512c7793f4e9d09e432950e21b6e02ece40c1 Mon Sep 17 00:00:00 2001 From: thzxx Date: Fri, 3 Apr 2026 11:40:01 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E9=A1=B9=E7=9B=AE=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=BD=92=E7=B1=BB=E6=95=B4=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - assets/icons/ → 图标资源 (llama.ico, llama.png) - css/ → 样式文件 (style.css) - js/ → 所有业务代码 - js/lib/ → 第三方库 (marked.esm.js) - js/components/ → UI 组件 修正所有 import 路径、HTML 引用、SW 缓存列表 --- README.md | 41 +++++++++++++++++++++----- llama.ico => assets/icons/llama.ico | Bin llama.png => assets/icons/llama.png | Bin style.css => css/style.css | 0 index.html | 4 +-- js/app.js | 4 +-- chat-db.js => js/chat-db.js | 0 js/components/header.js | 2 +- js/components/settings-modal.js | 2 +- marked.esm.js => js/lib/marked.esm.js | 0 js/marked-config.js | 2 +- ollama-api.js => js/ollama-api.js | 0 sw.js | 8 ++--- 13 files changed, 44 insertions(+), 19 deletions(-) rename llama.ico => assets/icons/llama.ico (100%) rename llama.png => assets/icons/llama.png (100%) rename style.css => css/style.css (100%) rename chat-db.js => js/chat-db.js (100%) rename marked.esm.js => js/lib/marked.esm.js (100%) rename ollama-api.js => js/ollama-api.js (100%) diff --git a/README.md b/README.md index 04ee571..70784a6 100644 --- a/README.md +++ b/README.md @@ -52,14 +52,39 @@ OLLAMA_ORIGINS="*" ollama serve ``` metona-ollama/ -├── index.html # 主页面 + 应用逻辑 -├── style.css # 暗色主题样式 -├── ollama-api.js # Ollama REST API 封装 -├── chat-db.js # IndexedDB 持久化层 -├── marked.esm.js # Markdown 渲染器 -├── sw.js # Service Worker (PWA) -├── manifest.json # PWA 清单 -└── README.md +├── index.html # 入口页面(纯模板) +├── manifest.json # PWA 清单 +├── sw.js # Service Worker (PWA) +├── LICENSE +├── README.md +│ +├── assets/ +│ └── icons/ # 图标资源 +│ ├── llama.ico +│ └── llama.png +│ +├── css/ +│ └── style.css # 暗色主题样式 +│ +└── js/ + ├── app.js # 主入口 / 初始化协调 + ├── ollama-api.js # Ollama REST API 封装 + ├── chat-db.js # IndexedDB 持久化层 + ├── state.js # 响应式状态管理 + ├── utils.js # 通用工具函数 + ├── sanitizer.js # HTML XSS 净化器 + ├── marked-config.js # Markdown 渲染器配置 + ├── lib/ + │ └── marked.esm.js # Markdown 渲染器(第三方) + └── components/ + ├── chat-area.js # 消息渲染 / 流式更新 / 导出 + ├── input-area.js # 文本输入 / 图片上传 / 发送 + ├── history-modal.js # 历史记录面板 / 搜索 / 分页 + ├── settings-modal.js # 设置面板 / 数据管理 + ├── header.js # 顶部导航 / 连接状态 + ├── model-bar.js # 模型选择栏 + ├── toast.js # Toast 通知 + └── lightbox.js # 图片预览 ``` ## ⚙️ 设置项 diff --git a/llama.ico b/assets/icons/llama.ico similarity index 100% rename from llama.ico rename to assets/icons/llama.ico diff --git a/llama.png b/assets/icons/llama.png similarity index 100% rename from llama.png rename to assets/icons/llama.png diff --git a/style.css b/css/style.css similarity index 100% rename from style.css rename to css/style.css diff --git a/index.html b/index.html index a26c296..ab7e297 100644 --- a/index.html +++ b/index.html @@ -8,9 +8,9 @@ - + Metona Ollama - +
diff --git a/js/app.js b/js/app.js index 1a62e8f..d1f025c 100644 --- a/js/app.js +++ b/js/app.js @@ -3,8 +3,8 @@ * 负责初始化所有组件、协调事件流、管理生命周期 */ -import { ChatDB } from '../chat-db.js'; -import { OllamaAPI } from '../ollama-api.js'; +import { ChatDB } from './chat-db.js'; +import { OllamaAPI } from './ollama-api.js'; import { state, KEYS } from './state.js'; import { generateId } from './utils.js'; diff --git a/chat-db.js b/js/chat-db.js similarity index 100% rename from chat-db.js rename to js/chat-db.js diff --git a/js/components/header.js b/js/components/header.js index c00ed3a..d4da936 100644 --- a/js/components/header.js +++ b/js/components/header.js @@ -5,7 +5,7 @@ import { state, KEYS } from '../state.js'; import { formatSize } from '../utils.js'; -import { OllamaAPI } from '../../ollama-api.js'; +import { OllamaAPI } from '../ollama-api.js'; let connStatusEl; diff --git a/js/components/settings-modal.js b/js/components/settings-modal.js index 76aaa21..c94139a 100644 --- a/js/components/settings-modal.js +++ b/js/components/settings-modal.js @@ -7,7 +7,7 @@ import { debounce, formatSize } from '../utils.js'; import { updateConnectionInfo, updateRunningModels } from './header.js'; import { loadModels } from './model-bar.js'; import { showToast } from './toast.js'; -import { OllamaAPI } from '../../ollama-api.js'; +import { OllamaAPI } from '../ollama-api.js'; let settingsModalEl; diff --git a/marked.esm.js b/js/lib/marked.esm.js similarity index 100% rename from marked.esm.js rename to js/lib/marked.esm.js diff --git a/js/marked-config.js b/js/marked-config.js index 145fe71..46f500d 100644 --- a/js/marked-config.js +++ b/js/marked-config.js @@ -3,7 +3,7 @@ * 封装 marked.js,配置自定义渲染器和安全策略 */ -import { marked } from '../marked.esm.js'; +import { marked } from './lib/marked.esm.js'; import { SAFE_URI_SCHEMES } from './sanitizer.js'; // 配置 marked diff --git a/ollama-api.js b/js/ollama-api.js similarity index 100% rename from ollama-api.js rename to js/ollama-api.js diff --git a/sw.js b/sw.js index ae8682d..67b4fab 100644 --- a/sw.js +++ b/sw.js @@ -7,10 +7,10 @@ const CACHE_NAME = 'metona-ollama-v3'; const ASSETS = [ './', './index.html', - './style.css', - './chat-db.js', - './marked.esm.js', - './ollama-api.js', + './css/style.css', + './js/chat-db.js', + './js/lib/marked.esm.js', + './js/ollama-api.js', './manifest.json' ];