Update README.md
This commit is contained in:
226
README.md
226
README.md
@@ -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 & 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 <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>
|
||||
|
||||
<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
|
||||
Reference in New Issue
Block a user