Update README.md
This commit is contained in:
226
README.md
226
README.md
@@ -1,186 +1,136 @@
|
|||||||
<!DOCTYPE html>
|
# SkyAI
|
||||||
<body>
|
|
||||||
|
|
||||||
<h1>SkyAI</h1>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
SkyAI is a Valour.gg bot powered by a self-hosted Large Language Model via Open WebUI.
|
SkyAI is a Valour.gg bot powered by a self-hosted Large Language Model via Open WebUI.
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
It supports per-channel conversational memory and is designed for self-hosted deployments.
|
It supports per-channel conversational memory and is designed for self-hosted deployments.
|
||||||
</p>
|
|
||||||
|
|
||||||
<hr>
|
---
|
||||||
|
|
||||||
<h2>Features</h2>
|
## Features
|
||||||
<ul>
|
|
||||||
<li>Per-channel AI conversation history</li>
|
|
||||||
<li>Self-hosted LLM support (Open WebUI + Ollama)</li>
|
|
||||||
<li>Built with .NET</li>
|
|
||||||
<li>Open-source under AGPL-3.0</li>
|
|
||||||
<li>Privacy-conscious architecture</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<hr>
|
- Per-channel AI conversation history
|
||||||
|
- Self-hosted LLM support (Open WebUI + Ollama)
|
||||||
|
- Built with .NET
|
||||||
|
- Open-source under AGPL-3.0
|
||||||
|
- Privacy-conscious architecture
|
||||||
|
|
||||||
<h2>How It Works</h2>
|
---
|
||||||
<p>SkyAI connects to:</p>
|
|
||||||
<ul>
|
|
||||||
<li>Valour.gg API</li>
|
|
||||||
<li>Open WebUI <code>/api/chat/completions</code> endpoint</li>
|
|
||||||
<li>A locally hosted LLM (e.g., llama3.1 via Ollama)</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<p>
|
## How It Works
|
||||||
Conversation history is stored in memory per channel and sent with each request
|
|
||||||
to maintain contextual awareness. History is automatically trimmed to prevent
|
|
||||||
excessive token usage.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<hr>
|
SkyAI connects to:
|
||||||
|
|
||||||
<h2>Data & Privacy</h2>
|
- Valour.gg API
|
||||||
|
- Open WebUI `/api/chat/completions` endpoint
|
||||||
|
- A locally hosted LLM (e.g., llama3.1 via Ollama)
|
||||||
|
|
||||||
<p>SkyAI stores only the minimum data required for operation.</p>
|
Conversation history is stored in memory per channel and sent with each request to maintain contextual awareness. History is automatically trimmed to prevent excessive token usage.
|
||||||
|
|
||||||
<h3>Stored In Memory (Per Channel)</h3>
|
---
|
||||||
<ul>
|
|
||||||
<li>Channel ID</li>
|
|
||||||
<li>Message content (AI conversation context only)</li>
|
|
||||||
<li>Message role (user / assistant / system)</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<h3>Not Stored</h3>
|
## Data & Privacy
|
||||||
<ul>
|
|
||||||
<li>Direct Messages</li>
|
SkyAI stores only the minimum data required for operation.
|
||||||
<li>User credentials</li>
|
|
||||||
<li>Email addresses</li>
|
### Stored In Memory (Per Channel)
|
||||||
<li>Analytics or tracking data</li>
|
|
||||||
</ul>
|
- Channel ID
|
||||||
|
- Message content (AI conversation context only)
|
||||||
|
- Message role (user / assistant / system)
|
||||||
|
|
||||||
|
### Not Stored
|
||||||
|
|
||||||
|
- Direct Messages
|
||||||
|
- User credentials
|
||||||
|
- Email addresses
|
||||||
|
- Analytics or tracking data
|
||||||
|
|
||||||
<p>
|
|
||||||
Conversation history resets automatically when the bot restarts.
|
Conversation history resets automatically when the bot restarts.
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
Full privacy policy:
|
||||||
Full privacy policy:<br>
|
https://git.skyjoshua.xyz/SkyJoshua/SkyAI/blob/main/PRIVACY.md
|
||||||
<a href="https://github.com/SkyJoshua/SkyAI/blob/main/PRIVACY.md">
|
|
||||||
https://github.com/SkyJoshua/SkyAI/blob/main/PRIVACY.md
|
|
||||||
</a>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<hr>
|
---
|
||||||
|
|
||||||
<h2>License</h2>
|
## License
|
||||||
<p>
|
|
||||||
This project is licensed under the
|
|
||||||
<strong>GNU Affero General Public License v3.0 (AGPL-3.0)</strong>.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
This project is licensed under the **GNU Affero General Public License v3.0 (AGPL-3.0)**.
|
||||||
See the LICENSE file for details:<br>
|
|
||||||
<a href="https://github.com/SkyJoshua/SkyAI/blob/main/LICENSE">
|
|
||||||
https://github.com/SkyJoshua/SkyAI/blob/main/LICENSE
|
|
||||||
</a>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
See the LICENSE file for details:
|
||||||
If you modify and deploy this project publicly (including as a hosted service),
|
https://git.skyjoshua.xyz/SkyJoshua/SkyAI/blob/main/LICENSE
|
||||||
you must make your source code available under the same AGPL-3.0 license.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<hr>
|
If you modify and deploy this project publicly (including as a hosted service), you must make your source code available under the same AGPL-3.0 license.
|
||||||
|
|
||||||
<h2>Installation</h2>
|
---
|
||||||
|
|
||||||
<pre><code>git clone https://github.com/YOUR_USERNAME/SkyAI.git
|
## Installation
|
||||||
|
```bash
|
||||||
|
git clone https://git.skyjoshua.xyz/SkyJoshua/SkyAI.git
|
||||||
cd SkyAI
|
cd SkyAI
|
||||||
dotnet restore</code></pre>
|
dotnet restore
|
||||||
|
```
|
||||||
|
|
||||||
<p>
|
All required NuGet packages are installed automatically via `SkyAI.csproj`.
|
||||||
All required NuGet packages are installed automatically via <code>SkyAI.csproj</code>.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<hr>
|
---
|
||||||
|
|
||||||
<h2>Requirements</h2>
|
## Requirements
|
||||||
<ul>
|
|
||||||
<li>.NET 8+</li>
|
|
||||||
<li>Open WebUI running</li>
|
|
||||||
<li>Ollama running with a model (e.g., llama3.1)</li>
|
|
||||||
<li>Valid Valour bot token</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<hr>
|
- .NET 8+
|
||||||
|
- Open WebUI running
|
||||||
|
- Ollama running with a model (e.g., llama3.1)
|
||||||
|
- Valid Valour bot token
|
||||||
|
|
||||||
<h2>Configuration</h2>
|
---
|
||||||
|
|
||||||
<p>Create a <code>.env</code> file in the root directory:</p>
|
## Configuration
|
||||||
|
|
||||||
<pre><code>TOKEN=your-valour-bot-token
|
Create a `.env` file in the root directory:
|
||||||
|
```
|
||||||
|
TOKEN=your-valour-bot-token
|
||||||
OPENWEBAPI=your-openwebui-api-key
|
OPENWEBAPI=your-openwebui-api-key
|
||||||
OPENWEBURL=your-openwebui-url</code></pre>
|
OPENWEBURL=your-openwebui-url
|
||||||
|
```
|
||||||
|
|
||||||
<p>
|
|
||||||
Do not commit this file to version control.
|
Do not commit this file to version control.
|
||||||
</p>
|
|
||||||
|
|
||||||
<hr>
|
---
|
||||||
|
|
||||||
<h2>Running the Bot</h2>
|
## Running the Bot
|
||||||
|
```bash
|
||||||
|
dotnet run
|
||||||
|
```
|
||||||
|
|
||||||
<pre><code>dotnet run</code></pre>
|
---
|
||||||
|
|
||||||
<hr>
|
## Commands
|
||||||
|
|
||||||
<h2>Commands</h2>
|
| Command | Description |
|
||||||
|
|---|---|
|
||||||
|
| `s.ai <message>` | Send a prompt to the AI |
|
||||||
|
| `s.cm` | Clear channel conversation memory |
|
||||||
|
| `s.source` | Shows the source code of the bot |
|
||||||
|
|
||||||
<table border="1" cellpadding="6">
|
---
|
||||||
<tr>
|
|
||||||
<th>Command</th>
|
|
||||||
<th>Description</th>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><code>s.ai <message></code></td>
|
|
||||||
<td>Send a prompt to the AI</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><code>s.cm</code></td>
|
|
||||||
<td>Clear channel conversation memory</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><code>s.source</code></td>
|
|
||||||
<td>Shows the source code of the bot</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<hr>
|
## Self-Hosting Notes
|
||||||
|
|
||||||
<h2>Self-Hosting Notes</h2>
|
Ensure Ollama is running:
|
||||||
|
```bash
|
||||||
|
ollama serve
|
||||||
|
```
|
||||||
|
|
||||||
<p>Ensure Ollama is running:</p>
|
Ensure your model is installed:
|
||||||
|
```bash
|
||||||
|
ollama list
|
||||||
|
```
|
||||||
|
|
||||||
<pre><code>ollama serve</code></pre>
|
---
|
||||||
|
|
||||||
<p>Ensure your model is installed:</p>
|
## Contributing
|
||||||
|
|
||||||
<pre><code>ollama list</code></pre>
|
Contributions are welcome. By submitting a contribution, you agree that your contributions will be licensed under AGPL-3.0.
|
||||||
|
|
||||||
<hr>
|
1. Fork the repository
|
||||||
|
2. Create a feature branch
|
||||||
<h2>Contributing</h2>
|
3. Submit a pull request
|
||||||
|
|
||||||
<p>
|
|
||||||
Contributions are welcome. By submitting a contribution, you agree that your
|
|
||||||
contributions will be licensed under AGPL-3.0.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<ol>
|
|
||||||
<li>Fork the repository</li>
|
|
||||||
<li>Create a feature branch</li>
|
|
||||||
<li>Submit a pull request</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
Reference in New Issue
Block a user