文档初始化

This commit is contained in:
CN-P5 2025-04-23 11:36:17 +08:00
commit 604325a5fc
18 changed files with 260 additions and 0 deletions

1
.nojekyll Normal file
View File

@ -0,0 +1 @@
本文档使用https://docsify.js.org/进行构建

30
README.md Normal file
View File

@ -0,0 +1,30 @@
# 关于
> 微果AI无人直播场控 专业简洁的无人直播场控系统
# 支持功能
- 支持自定义接入常见本地和服务商LLM大模型
- 支持自定义本地知识库和提示词
- 支持接入Dify工作流和聊天助手
- 支持利用大模型+知识库、Dify回复弹幕问题
- 支持大模型或Dify进行文案优化少量话术文案即可长时播放不重复
- 支持自定义接入本地或服务商TTS模型兼容openai生成接口、兼容类硅基流动的语音克隆接口
- 话术支持变量、随机多选一、助理音色、强制优化
- 支持开播中手工插入优先话术
- 支持背景音乐
- 支持助理回复弹幕、助理实时插入(助理和主播同时说话)
- 支持接入抖音弹幕助手、油猴弹幕抓取脚本
- 支持独立实时调整主音量、背景音乐、主播、助理音量
- 支持选择音频输出接口不影响系统默认音频输出接口
# 截图
![场控](./images/cangkong1.png)
![导入话术](./images/daoruhuasu.png)
![AI大模型配置](./images/llmsetpic.png)

8
_navbar.md Normal file
View File

@ -0,0 +1,8 @@
<!-- _navbar.md -->
* 关于我们
* [主页](quickstart.md)
* [帮助](more-pages.md)
* [FAQ](custom-navbar.md)
* [联系我们](cover.md)

10
_sidebar.md Normal file
View File

@ -0,0 +1,10 @@
<!-- docs/_sidebar.md -->
* [关于微果AI场控](/)
* [场控操作](controls.md)
* [快速上手](quickstart.md)
* [话术文案](moderator.md)
* [AI模型接入](llm.md)
* [话术优化](optimize.md)
* [TTS引擎](tts.md)
* [弹幕处理](barrage.md)

12
barrage.md Normal file
View File

@ -0,0 +1,12 @@
# 弹幕处理
弹幕处理方法介绍
# 基础配置
# 平台对接
## 接入抖音弹幕助手
## 接入油猴弹幕脚本(快手、B站)

5
controls.md Normal file
View File

@ -0,0 +1,5 @@
# 工作流程
# 基础操作
# 功能介绍

BIN
images/cangkong1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

BIN
images/daoruhuasu.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

BIN
images/jieya1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

BIN
images/llmsetpic.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

BIN
images/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

37
index.html Normal file
View File

@ -0,0 +1,37 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="description" content="Description">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify@4/lib/themes/vue.css">
</head>
<body>
<div id="app"></div>
<script>
window.$docsify = {
name: '微果AI无人直播场控',
repo: '',
loadSidebar: true,
loadNavbar: true,
subMaxLevel: 2,
formatUpdated: '{MM}/{DD} {HH}:{mm}',
formatUpdated: function (time) {
return time;
},
logo: '/images/logo.png',
}
</script>
<script>
if (typeof navigator.serviceWorker !== 'undefined') {
navigator.serviceWorker.register('sw.js')
}
</script>
<!-- Docsify v4 -->
<script src="//cdn.jsdelivr.net/npm/docsify@4"></script>
<script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/emoji.min.js"></script>
<script src="//cdn.jsdelivr.net/npm/docsify-copy-code/dist/docsify-copy-code.min.js"></script>
</body>
</html>

19
llm.md Normal file
View File

@ -0,0 +1,19 @@
# AI模型介绍
# 基础配置
# 提示词和知识库
# 平台对接
## 接入自定义LLM(兼容openai)
## 接入Dify(聊天助手)
## 接入Dify(工作流)
## 接入硅基流动(deepseek v3)
## 接入火山方舟(豆包)
## 接入阿里百炼(通义千问)

7
moderator.md Normal file
View File

@ -0,0 +1,7 @@
# 话术文案
# 操作
# 话术撰写指南
# 话术变量表

7
optimize.md Normal file
View File

@ -0,0 +1,7 @@
# 话术优化介绍
# 配置
# 平台对接
# 提示词

22
quickstart.md Normal file
View File

@ -0,0 +1,22 @@
# 下载
1. 程序主体:
微果AI无人直播场控:[点击下载](http://localhost)
2. 可选功能插件:
抖音弹幕助手:[点击下载](http://localhost)
油猴浏览器扩展:[点击下载](http://localhost)
弹幕油猴脚本:[点击下载](http://localhost)
专用indexTTS一键包:[点击下载](http://localhost)
# 安装
下载主体压缩包直接解压到D盘即可。获得目录如下:
![解压后目录详情](images/jieya1.png)
# 快速开始
1. 运行`微果AI直播场控.exe`
2. 点击`导入话术`跳转到导入话术页面
3. 点击`导入`在打开的对话框里选择`示例话术.txt`
4. 点击导入话术页面的保存按钮
5. 点击`场控`跳转到场控页面,选择输入设备
6. 点击`场控`页面下方的开始

83
sw.js Normal file
View File

@ -0,0 +1,83 @@
/* ===========================================================
* docsify sw.js
* ===========================================================
* Copyright 2016 @huxpro
* Licensed under Apache 2.0
* Register service worker.
* ========================================================== */
const RUNTIME = 'docsify'
const HOSTNAME_WHITELIST = [
self.location.hostname,
'fonts.gstatic.com',
'fonts.googleapis.com',
'cdn.jsdelivr.net'
]
// The Util Function to hack URLs of intercepted requests
const getFixedUrl = (req) => {
var now = Date.now()
var url = new URL(req.url)
// 1. fixed http URL
// Just keep syncing with location.protocol
// fetch(httpURL) belongs to active mixed content.
// And fetch(httpRequest) is not supported yet.
url.protocol = self.location.protocol
// 2. add query for caching-busting.
// Github Pages served with Cache-Control: max-age=600
// max-age on mutable content is error-prone, with SW life of bugs can even extend.
// Until cache mode of Fetch API landed, we have to workaround cache-busting with query string.
// Cache-Control-Bug: https://bugs.chromium.org/p/chromium/issues/detail?id=453190
if (url.hostname === self.location.hostname) {
url.search += (url.search ? '&' : '?') + 'cache-bust=' + now
}
return url.href
}
/**
* @Lifecycle Activate
* New one activated when old isnt being used.
*
* waitUntil(): activating ====> activated
*/
self.addEventListener('activate', event => {
event.waitUntil(self.clients.claim())
})
/**
* @Functional Fetch
* All network requests are being intercepted here.
*
* void respondWith(Promise<Response> r)
*/
self.addEventListener('fetch', event => {
// Skip some of cross-origin requests, like those for Google Analytics.
if (HOSTNAME_WHITELIST.indexOf(new URL(event.request.url).hostname) > -1) {
// Stale-while-revalidate
// similar to HTTP's stale-while-revalidate: https://www.mnot.net/blog/2007/12/12/stale
// Upgrade from Jake's to Surma's: https://gist.github.com/surma/eb441223daaedf880801ad80006389f1
const cached = caches.match(event.request)
const fixedUrl = getFixedUrl(event.request)
const fetched = fetch(fixedUrl, { cache: 'no-store' })
const fetchedCopy = fetched.then(resp => resp.clone())
// Call respondWith() with whatever we get first.
// If the fetch fails (e.g disconnected), wait for the cache.
// If theres nothing in cache, wait for the fetch.
// If neither yields a response, return offline pages.
event.respondWith(
Promise.race([fetched.catch(_ => cached), cached])
.then(resp => resp || fetched)
.catch(_ => { /* eat any errors */ })
)
// Update the cache with the version we fetched (only for ok status)
event.waitUntil(
Promise.all([fetchedCopy, caches.open(RUNTIME)])
.then(([response, cache]) => response.ok && cache.put(event.request, response))
.catch(_ => { /* eat any errors */ })
)
}
})

19
tts.md Normal file
View File

@ -0,0 +1,19 @@
# TTS介绍
TTS是用于文案到音频的生成程序支持xxx、xxx等TTS引擎。
# 基础配置
# 平台对接
## 接入indexTTS
## 接入CosyVoice
## 接入硅基流动(CosyVoice)
## 接入edgeTTS
# 音色克隆