// Copyright (c) 2024-present AI-Labs

import { UAIEditor } from "./core/UAIEditor.ts";

new UAIEditor({
    element: "#uai-editor",
    content: `
> 💪打造现代 UI 风格、面向 AI 的最强、最轻量级的个人&团队文档。  
> UAI Editor 是一个面向 AI 的、现代 UI 风格的下一代富文本编辑器。开箱即用、支持所有前端框架。
    
# UAI Editor：有爱文档，有爱、有AI、有UI。

- **【全行业】** 无论您是：金融、教育、医疗、零售、互联网还是传统行业。
- **【全场景】** 无论您是：文章创作、会议记录、学术论文还是知识库管理。
- **【全功能】** 功能丰富：文本编辑、格式排版、多媒体插入、表格制作等。
- **【全模态】** 人工智能：文字、语音、图片、视频，全模态功能创作体验。

## 与众不同

UAI Editor 提供了完善的文档编辑能力和 AI 创作能力，支持 Markdown 语法，支持基础的富文本编辑功能，支持插入多种节点类型，提供了多种类型的实用工具。作为一个独立的纯前端文档编辑器，UAI Editor 可以轻松无缝集成到 Vue、React、Layui、Angular 等几乎任何前端框架。

### 场景丰富

* 无论您是：金融、教育、医疗、零售、互联网还是传统行业。
* 无论您是：文章创作、会议记录、学术论文还是知识库管理。
* 即便是个人笔记整理，UAI Editor 都能成为您得力的助手。

### 功能全面

* **基础：** 标题、正文、字体、字号、加粗、斜体、下划线、删除线、链接、行内代码、上标、下标、分割线、引用...
* **增强：** 撤销、重做、格式刷、橡皮擦、字体颜色、背景颜色、对齐方式、行高、待办事项、有（无）序列表、段落缩进...
* **附件：** 支持图片、语音、视频、文件功能，支持选择上传、支持拖动调整大小...
* **Markdown：** 标题、引用、表格、图片、代码块、高亮块、各种列表、粗体、斜体、删除线...
* **AI：** AI 续写、AI 优化、AI 校对、AI 翻译、自定义 AI 菜单及其 Prompts...
* **更多：** 国际化、主题切换...

### 简单易用

* UAI Editor 基于 Web Component 开发，支持与任意主流的前端框架集成。
* UAI Editor 提供了友好的 UI 界面，强大的工具栏支持，助您轻松实现文档编辑。
* UAI Editor 提供了便捷的快捷键支持，让您的文档编辑快人一步。

### AI 驱动

* UAI Editor 旨在解决 Web 应用中文档编辑的复杂性，提供类似 Microsoft Word 的强大编辑能力，同时保持 Web 应用的便捷性。
* UAI Editor 打造了一个完全由 AI 驱动的富文本编辑器，同时支持对接任意大模型，包括私有的大模型。
* UAI Editor 支持全模态大模型，包括文本生成、语音识别、语音生成、文生图、图生图、局部重绘、图片理解、文生视频、图生视频、视频理解等。
* UAI Editor 私有模型适配多种环境，包括英伟达显卡、天数智芯显卡、Pytorch、IPEX等。

## 软件安装

### 基础软件安装

首先，我们需要安装 \`nodejs\`、\`npm\`等用于开发的基础软件。

Node.js 可以通过不同的方式安装，所有主要平台的官方软件包均可在 [https://nodejs.cn/download/](https://nodejs.cn/download/) 获得。

一种非常方便的安装 Node.js 的方法是通过包管理器，[https://nodejs.cn/download/package-manager/](https://nodejs.cn/download/package-manager/) 中列出了适用于 macOS、Linux 和 Windows 的其他软件包管理器。

### 有爱文档安装

其次，我们需要安装 UAI Editor 软件，软件已经打包发布到 [https://www.npmjs.com/](https://www.npmjs.com/) 平台，可以直接通过以下命令安装：

\`
npm i @uai-team/uai-editor
\`

## 软件集成

然后，我们可以将 UAI Editor 与自己的项目进行集成。

作为一个独立的纯前端文档编辑器，UAI Editor 可以独立使用，也可以轻松无缝集成到 Vue、React、Layui、Angular 等几乎任何前端框架。

## 软件运行

最后，我们需要运行项目，执行以下命令可以运行项目或自己的项目：

\`npm i && npm run dev\`

## 开源优势

* **免费使用：** 作为开源项目，UAI Editor 采用 [MIT 许可证](LICENSE) 对所有用户免费开放，无需担心版权问题。

* **持续更新：** UAI Editor 将持续迭代，不断优化功能，提升用户体验。

* **定制开发：** 开发者可根据项目需求进行定制化开发，打造专属的文档编辑器。

## 支持我们

如果您觉得 UAI Editor 有用，请考虑通过以下方式支持我们：

* ⭐ 给 UAI Editor 仓库 点个 Star，表示对项目的支持。
* 🔗 如果您在项目中使用了 UAI Editor，请添加一个链接到 [https://gitee.com/uai-team/uai-editor](https://gitee.com/uai-team/uai-editor) 或者 [https://github.com/uai-team/uai-editor](https://github.com/uai-team/uai-editor)。
* ⛓️ UAI Editor 很多功能还存在不足，如果您感兴趣，欢迎优化 PR。


# 功能演示

北风呼啸，白雪皑皑，冬日踏上了这片宁静的大地。我独自一人，踏着轻盈的步伐，走进了这个银装素裹的世界，去感受那冬日的诗意与宁静。

清晨，阳光透过窗户洒在床头，我揉了揉惺忪的睡眼，拉开窗帘，眼前的景象让我陶醉。那一片片洁白的雪花，像无数只蝴蝶翩翩起舞，在空中划过优美的弧线，最终静静地躺在地上，与大地拥抱。我迫不及待地穿上厚厚的羽绒服，戴上手套和帽子，踏上了寻雪之旅。

沿着蜿蜒的小路，我来到了一片雪原。脚下传来“咯吱咯吱”的声音，那是雪与鞋底相触的旋律。我深吸一口冷空气，那股清新的气息瞬间让我神清气爽。四周一片寂静，只有雪花飘落的声音，仿佛是大自然在诉说着冬日的秘密。

我漫步在雪原上，任雪花飘落在我的发梢、肩头。忽然，我发现了一只小松鼠，它正忙碌地从树上摘下松果，然后迅速地藏进树洞。我静静地注视着它，心中涌起一股暖意。在这个寒冷的冬日，小松鼠的勤劳和智慧让我敬佩不已。

午后，我来到了一座雪山。站在山脚下，仰望那巍峨的山峰，我仿佛看到了天地相连的壮丽景象。我沿着蜿蜒的山路向上攀登，一路上，雪花纷飞，将我包裹在一片白色的世界里。当我爬到山顶时，眼前豁然开朗，一片雪原尽收眼底。我倚靠在山石上，闭上眼睛，感受着阳光的温暖和风儿的轻拂，那一刻，我仿佛与大自然融为一体。

夜幕降临，我来到了一个村庄。这里的房屋都披上了银白的雪衣，宛如童话世界一般。我走进一家小酒馆，点了一壶热酒，品尝着浓郁的酒香，与酒馆老板闲聊着。他告诉我，这里的冬天虽然寒冷，但村民们都十分热情好客。我心中涌起一股暖意，仿佛感受到了这个村庄的温暖。

归途中，我漫步在雪地中，看着那一盏盏明亮的路灯，照亮了我前行的道路。我感慨万分，这个冬日，让我领略了大自然的美妙，也让我感受到了人间的温情。

时光荏苒，冬日的旅程即将结束。我带着满满的回忆，踏上了回家的路。虽然冬天即将过去，但我相信，那些美好的瞬间将永远留在我的心中，成为我人生中最宝贵的财富。
`,
    header: "ribbon",
    ai: {
        chat: {
            models: {
                "default": {
                    modelType: 'openai',
                    baseUrl: 'http://localhost:5050/proxy/internlm/v1',
                    apiKey: 'EMPTY',
                    model: 'internlm2.5-latest'
                },
                "【ProxyInternLM】InternLM2.5": {
                    modelType: 'openai',
                    baseUrl: 'http://localhost:5050/proxy/internlm/v1',
                    apiKey: 'EMPTY',
                    model: 'internlm2.5-latest'
                },
                "【ProxyModelScope】DeepSeek-V3": {
                    modelType: 'openai',
                    baseUrl: 'http://localhost:5050/proxy/modelscope/v1',
                    apiKey: 'EMPTY',
                    model: 'deepseek-ai/DeepSeek-V3'
                },
                "GLM-4": {
                    modelType: 'openai',
                    baseUrl: 'https://open.bigmodel.cn/api/paas/v4',
                    apiKey: process.env.CHATGLM_APIKEY,
                    model: 'glm-4-flash'
                },
                "InternLM2.5": {
                    modelType: 'openai',
                    baseUrl: 'https://internlm-chat.intern-ai.org.cn/puyu/api/v1',
                    apiKey: process.env.INTERNLM_TOKEN,
                    model: 'internlm2.5-latest'
                },
            },
        },
        image: {
            models: {
                text2image: {
                    "default": {
                        modelType: 'openai',
                        baseUrl: 'https://open.bigmodel.cn/api/paas/v4', // images/generations
                        apiKey: process.env.CHATGLM_APIKEY,
                        model: 'cogview-3-flash'
                    },
                    "CogView-3": {
                        modelType: 'openai',
                        baseUrl: 'https://open.bigmodel.cn/api/paas/v4', // images/generations
                        apiKey: process.env.CHATGLM_APIKEY,
                        model: 'cogview-3-flash'
                    },
                }
            }
        }
    }
})
