Update README.md

This commit is contained in:
2026-03-29 03:06:38 +01:00
parent 1c9030701d
commit 35cd55d994

226
README.md
View File

@@ -1,186 +1,136 @@
<!DOCTYPE html>
<body>
# SkyAI
<h1>SkyAI</h1>
<p>
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.
</p>
<hr>
---
<h2>Features</h2>
<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>
## Features
<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>
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>
## How It Works
<hr>
SkyAI connects to:
<h2>Data &amp; 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>
<ul>
<li>Direct Messages</li>
<li>User credentials</li>
<li>Email addresses</li>
<li>Analytics or tracking data</li>
</ul>
## Data & Privacy
SkyAI stores only the minimum data required for operation.
### Stored In Memory (Per Channel)
- 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.
</p>
<p>
Full privacy policy:<br>
<a href="https://github.com/SkyJoshua/SkyAI/blob/main/PRIVACY.md">
https://github.com/SkyJoshua/SkyAI/blob/main/PRIVACY.md
</a>
</p>
Full privacy policy:
https://git.skyjoshua.xyz/SkyJoshua/SkyAI/blob/main/PRIVACY.md
<hr>
---
<h2>License</h2>
<p>
This project is licensed under the
<strong>GNU Affero General Public License v3.0 (AGPL-3.0)</strong>.
</p>
## License
<p>
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>
This project is licensed under the **GNU Affero General Public License v3.0 (AGPL-3.0)**.
<p>
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.
</p>
See the LICENSE file for details:
https://git.skyjoshua.xyz/SkyJoshua/SkyAI/blob/main/LICENSE
<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
dotnet restore</code></pre>
dotnet restore
```
<p>
All required NuGet packages are installed automatically via <code>SkyAI.csproj</code>.
</p>
All required NuGet packages are installed automatically via `SkyAI.csproj`.
<hr>
---
<h2>Requirements</h2>
<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>
## Requirements
<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
OPENWEBURL=your-openwebui-url</code></pre>
OPENWEBURL=your-openwebui-url
```
<p>
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 &lt;message&gt;</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>
<h2>Contributing</h2>
<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>
1. Fork the repository
2. Create a feature branch
3. Submit a pull request