Sebas Tin angelegt und Synology Chat connected
This commit is contained in:
@@ -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"]
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"permissions": {
|
||||||
|
"allow": [
|
||||||
|
"Bash(mkdir:*)",
|
||||||
|
"Bash(cargo check:*)",
|
||||||
|
"Bash(cargo clean:*)",
|
||||||
|
"Bash(cargo test:*)",
|
||||||
|
"Bash(cargo build:*)"
|
||||||
|
],
|
||||||
|
"deny": [],
|
||||||
|
"ask": []
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
/target
|
||||||
|
.env
|
||||||
|
*.key
|
||||||
|
config/private/
|
||||||
Generated
+10
@@ -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/
|
||||||
Generated
+8
@@ -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>
|
||||||
Generated
+17
@@ -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
@@ -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
File diff suppressed because it is too large
Load Diff
+10
@@ -0,0 +1,10 @@
|
|||||||
|
[workspace]
|
||||||
|
members = [
|
||||||
|
"crates/nazarick-core",
|
||||||
|
"crates/sebas-tian",
|
||||||
|
"crates/memory",
|
||||||
|
"crates/skills",
|
||||||
|
"crates/api",
|
||||||
|
"crates/nazarick",
|
||||||
|
]
|
||||||
|
resolver = "2"
|
||||||
@@ -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
|
||||||
@@ -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"
|
||||||
@@ -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;
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
[package]
|
||||||
|
name = "memory"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2024"
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
nazarick-core = { path = "../nazarick-core" }
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
// Nazarick - 3-layer memory system for context management
|
||||||
@@ -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"] }
|
||||||
@@ -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;
|
||||||
@@ -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"
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
[package]
|
||||||
|
name = "skills"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2024"
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
nazarick-core = { path = "../nazarick-core" }
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
// Nazarick - Explicit sub-skills without generic shell access
|
||||||
Reference in New Issue
Block a user