Sebas Tin angelegt und Synology Chat connected

This commit is contained in:
Sithies
2026-03-16 21:13:48 +01:00
parent 204b2d6eb1
commit df29fdfa60
21 changed files with 2302 additions and 0 deletions
+4
View File
@@ -0,0 +1,4 @@
# Use rust-lld to avoid conflicts with Git's link command
[target.x86_64-pc-windows-msvc]
linker = "rust-lld"
rustflags = ["-C", "link-arg=-fuse-ld=lld"]
+13
View File
@@ -0,0 +1,13 @@
{
"permissions": {
"allow": [
"Bash(mkdir:*)",
"Bash(cargo check:*)",
"Bash(cargo clean:*)",
"Bash(cargo test:*)",
"Bash(cargo build:*)"
],
"deny": [],
"ask": []
}
}
+34
View File
@@ -0,0 +1,34 @@
name: CI
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
env:
CARGO_TERM_COLOR: always
jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- run: cargo check --all-features
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- run: cargo test --all-features
clippy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy
- run: cargo clippy --all-features -- -D warnings
+4
View File
@@ -0,0 +1,4 @@
/target
.env
*.key
config/private/
+10
View File
@@ -0,0 +1,10 @@
# Default ignored files
/shelf/
/workspace.xml
# Ignored default folder with query files
/queries/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml
# Editor-based HTTP Client requests
/httpRequests/
+8
View File
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/nazarick.iml" filepath="$PROJECT_DIR$/.idea/nazarick.iml" />
</modules>
</component>
</project>
+17
View File
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="EMPTY_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/crates/api/src" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/crates/memory/src" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/crates/nazarick-core/src" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/crates/nazarick/src" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/crates/sebas-tian/src" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/crates/skills/src" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
Generated
+6
View File
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>
Generated
+2088
View File
File diff suppressed because it is too large Load Diff
+10
View File
@@ -0,0 +1,10 @@
[workspace]
members = [
"crates/nazarick-core",
"crates/sebas-tian",
"crates/memory",
"crates/skills",
"crates/api",
"crates/nazarick",
]
resolver = "2"
+32
View File
@@ -0,0 +1,32 @@
# Nazarick
An AI agent framework built in Rust.
## Workspace Structure
```
nazarick/
├── crates/
│ ├── nazarick-core/ # Shared types, traits, and errors
│ ├── sebas-tian/ # Main butler agent
│ ├── memory/ # 3-layer memory system
│ ├── skills/ # Explicit sub-skills
│ └── api/ # Communication layer
└── config/ # Configuration files
```
## Building
```bash
cargo build
```
## Testing
```bash
cargo test
```
## License
TBD
View File
+19
View File
@@ -0,0 +1,19 @@
[package]
name = "api"
version = "0.1.0"
edition = "2024"
[dependencies]
# Unser shared Foundation-Crate
nazarick-core = { path = "../nazarick-core" }
# Async Runtime — brauchen wir für HTTP-Requests zu LLM APIs
tokio = { version = "1", features = ["full"] }
# HTTP Client für API-Aufrufe (Mistral, Ollama, LmStudio)
reqwest = { version = "0.12", features = ["json"] }
# JSON Serialisierung/Deserialisierung für API Request/Response
serde = { version = "1", features = ["derive"] }
serde_json = "1"
async-trait = "0.1.89"
+4
View File
@@ -0,0 +1,4 @@
/// Das api-Crate ist die zentrale Kommunikationsschicht des Nazarick-Systems.
/// Es abstrahiert alle externen APIs (LLM, Bild, Kanäle) hinter Traits,
/// sodass Agenten nie direkt mit einem spezifischen Backend gekoppelt sind.
pub mod llm;
+7
View File
@@ -0,0 +1,7 @@
[package]
name = "memory"
version = "0.1.0"
edition = "2024"
[dependencies]
nazarick-core = { path = "../nazarick-core" }
+1
View File
@@ -0,0 +1 @@
// Nazarick - 3-layer memory system for context management
+8
View File
@@ -0,0 +1,8 @@
[package]
name = "nazarick-core"
version = "0.1.0"
edition = "2024"
[dependencies]
thiserror = "2.0.18"
uuid = { version = "1.22.0", features = ["v4"] }
+12
View File
@@ -0,0 +1,12 @@
pub mod error;
pub mod types;
pub mod traits;
pub mod permissions;
pub mod usage;
/// Implementiert den Agent-Trait aus nazarick-core und nutzt
/// den api-Crate für LLM-Kommunikation.
///
/// Persönlichkeit basiert auf zwei Dateien:
/// - soul_core.md → unveränderlicher Kern (Regeln, Sicherheit)
/// - soul_personality.md → entwickelbarer Teil (Ton, Präferenzen)
pub mod prompt;
+17
View File
@@ -0,0 +1,17 @@
[package]
name = "sebas-tian"
version = "0.1.0"
edition = "2024"
[dependencies]
# Shared Foundation
nazarick-core = { path = "../nazarick-core" }
# LLM Kommunikation
api = { path = "../api" }
# Async Runtime
tokio = { version = "1", features = ["full"] }
# Fehlerbehandlung
thiserror = "2"
+7
View File
@@ -0,0 +1,7 @@
[package]
name = "skills"
version = "0.1.0"
edition = "2024"
[dependencies]
nazarick-core = { path = "../nazarick-core" }
+1
View File
@@ -0,0 +1 @@
// Nazarick - Explicit sub-skills without generic shell access