Version: v0.2.0-alpha
Dieses Dokument beschreibt detailliert alle integrierten Tools der Silicon Life Collective-Plattform.
English | Deutsch | 中文 | 繁體中文 | Español | 日本語 | 한국어 | Čeština | Русский
Das Werkzeugsystem ermöglicht es Silicon Beings, über standardisierte Schnittstellen mit der Außenwelt zu interagieren. Jedes Werkzeug implementiert die ITool-Schnittstelle und wird vom Werkzeugmanager über Reflexion automatisch entdeckt und registriert.
- Systemverwaltungswerkzeuge — Konfiguration, Berechtigungen, dynamische Kompilierung, Curator-Verwaltung
- Kommunikationswerkzeuge — Chat, Netzwerkanfragen
- Datenspeicherwerkzeuge — Festplattenoperationen, Datenbank, Speicher, Arbeitsnotizen
- Zeitverwaltungswerkzeuge — Kalender, Timer, Aufgaben
- Entwicklungswerkzeuge — Codeausführung, Protokollabfrage
- Dienstprogramme — Systeminformationen, Token-Nutzungsaudit, Hilfedokumentation, Wissensnetzwerk
- Browserwerkzeuge — WebView-Browser-Automatisierung
- Projektwerkzeuge — Projektverwaltung, Projektaufgaben, Projekt-Arbeitsnotizen, Projektarbeit
- Plugin-Werkzeuge — Über das Plugin-System registrierte Drittanbieter-Werkzeuge
Jedes Werkzeug deklariert seine verfügbaren Szenarien über das [ToolScenario]-Attribut:
| Szenario-Flag | Wert | Beschreibung |
|---|---|---|
Chat |
1 << 0 |
Chat-Szenario (wenn Benutzer mit einem Silicon Being konversieren) |
Task |
1 << 1 |
Aufgaben-Szenario (wenn ein Silicon Being eine Aufgabe ausführt) |
Timer |
1 << 2 |
Timer-Szenario (wenn ein Silicon Being eine zeitgesteuerte Aufgabe ausführt) |
MemoryCompression |
1 << 3 |
Speicherkomprimierungsszenario |
Project |
1 << 4 |
Projekt-Szenario (ThinkOnProject-Modus) |
All |
Alle oben genannten | In allen Szenarien verfügbar |
Darüber hinaus sind mit dem [ChatOnly]-Attribut markierte Werkzeuge nur im Chat-Szenario verfügbar (z. B. HelpTool) und erscheinen nicht in Aufgaben- und Timer-Szenarien.
Werkzeugname: calendar
Funktionsbeschreibung: Unterstützung für Datumsumrechnung und -berechnung in 32 Kalendersystemen.
Unterstützte Operationen:
now— Aktuelle Zeit abrufenformat— Datum formatierenadd_days— Datum addieren/subtrahierendiff— Datumsdifferenz berechnenlist_calendars— Alle unterstützten Kalender auflistenget_components— Datumskomponenten abrufenget_now_components— Aktuelle Zeitkomponenten abrufenconvert— Zwischen Kalendersystemen konvertieren
Unterstützte Kalendersysteme (32):
- Gregorianischer Kalender
- Chinesischer Mondkalender (Chinese Lunar)
- Chinesische historische Kalender — Ganzhi-Jahreszählung, Kaiserära-Namen
- Islamischer Kalender (Islamic)
- Hebräischer Kalender (Hebrew)
- Japanischer Kalender (Japanese)
- Persischer Kalender (Persian)
- Maya-Kalender (Mayan)
- Buddhistischer Kalender (Buddhist)
- Tibetischer Kalender (Tibetan)
- und 24 weitere Kalender...
Verwendungsbeispiel:
{
"action": "convert",
"date": "2026-04-26",
"from_calendar": "gregorian",
"to_calendar": "chinese_lunar"
}Werkzeugname: chat
Funktionsbeschreibung: Verwaltung von Chat-Sitzungen und Nachrichtensendung.
Unterstützte Operationen:
send_message— Nachricht sendenget_messages— Historische Nachrichten abrufencreate_group— Gruppenchat erstellenadd_member— Gruppenmitglied hinzufügenremove_member— Gruppenmitglied entfernenget_chat_info— Chat-Informationen abrufenterminate_chat— Chat beenden (gelesen, nicht beantwortet)
Verwendungsbeispiel:
{
"action": "send_message",
"target_id": "being-uuid-or-user-0",
"message": "Hallo, lassen Sie uns zusammenarbeiten!"
}Werkzeugname: config
Funktionsbeschreibung: Lesen und Ändern der Systemkonfiguration.
Unterstützte Operationen:
read— Konfigurationseintrag lesenwrite— Konfigurationseintrag schreibenlist— Alle Konfigurationen auflistenget_ai_config— KI-Client-Konfiguration abrufenset_ai_config— KI-Client-Konfiguration festlegen
Verwendungsbeispiel:
{
"action": "read",
"key": "AIClients.Ollama.Model"
}Werkzeugname: silicon_manager
Berechtigungsanforderung: Nur für Silicon Curator verfügbar ([SiliconManagerOnly])
Verfügbare Szenarien: Chat, Task, Timer
Funktionsbeschreibung: Exklusives Systemverwaltungswerkzeug für den Silicon Curator, zur Verwaltung der Erstellung, Einsicht und des Zurücksetzens von Silicon Beings.
Unterstützte Operationen:
list_beings— Alle Silicon Beings und deren Status auflistencreate_being— Neues Silicon Being erstellen (erfordertname- undsoul-Parameter)get_code— Quellcode eines Silicon Beings einsehenreset— Silicon Being auf Standardimplementierung zurücksetzen
Verwendungsbeispiel:
{
"action": "create_being",
"name": "Assistent",
"soul": "Du bist ein hilfreicher Assistent..."
}Werkzeugname: database
Funktionsbeschreibung: Strukturierte Datenbankabfragen und -operationen.
Unterstützte Operationen:
query— Daten abfrageninsert— Daten einfügenupdate— Daten aktualisierendelete— Daten löschencreate_table— Tabelle erstellenlist_tables— Alle Tabellen auflisten
Verwendungsbeispiel:
{
"action": "query",
"table": "users",
"conditions": {"status": "active"},
"limit": 100
}Werkzeugname: disk
Funktionsbeschreibung: Dateisystemoperationen und lokale Suche.
Unterstützte Operationen:
read— Datei lesenwrite— Datei schreibenlist— Verzeichnis auflistendelete— Datei löschencreate_directory— Verzeichnis erstellensearch_files— Dateien suchensearch_content— Dateiinhalte suchencount_lines— Zeilen zählenread_lines— Bestimmte Zeilen lesenreplace_text— Text ersetzen
Berechtigungsanforderung: FileAccess
Verwendungsbeispiel:
{
"action": "read",
"path": "/data/file.txt"
}Werkzeugname: compile
Funktionsbeschreibung: Dynamisches Kompilieren von C#-Code (für die Selbstevolution von Silicon Beings).
Unterstützte Operationen:
compile_class— Klasse kompilierencompile_callback— Berechtigungs-Callback-Funktion kompilierenvalidate_code— Codesicherheit validieren
Sicherheitsmechanismen:
- Referenzkontrolle bei der Kompilierung (gefährliche Assemblys ausschließen)
- Statische Code-Analyse zur Laufzeit
- AES-256-verschlüsselte Speicherung
Verwendungsbeispiel:
{
"action": "compile_class",
"code": "public class MyBeing : SiliconBeingBase { ... }"
}Werkzeugname: execute_code
Berechtigungsanforderung: Nur für Silicon Curator verfügbar
Funktionsbeschreibung: Kompilieren und Ausführen von C#-Code-Snippets.
Unterstützte Operationen:
run_script— Code-Skript ausführen
Verwendungsbeispiel:
{
"action": "run_script",
"code": "return DateTime.Now.ToString();",
"timeout": 30
}Werkzeugname: help
Verfügbare Szenarien: Chat ([ChatOnly], nur im Chat-Szenario verfügbar)
Funktionsbeschreibung: Suchen und Abrufen von Systemhilfedokumentation, ermöglicht es der KI, die Verwendung von Systemfunktionen abzufragen.
Unterstützte Operationen:
list— Alle Hilfethemen-IDs auflistensearch— Hilfedokumentation nach Schlüsselwort durchsuchenget— Hilfedokumentation für eine bestimmte ID abrufen
Verwendungsbeispiel:
{
"action": "search",
"keyword": "Berechtigung"
}Werkzeugname: knowledge
Funktionsbeschreibung: Wissensgraph-Operationen (basierend auf Tripeln: Subjekt-Prädikat-Objekt).
Unterstützte Operationen:
add— Wissens-Tripel hinzufügenquery— Wissen abfragenupdate— Wissen aktualisierendelete— Wissen löschensearch— Wissen suchenget_path— Wissenspfad abrufenvalidate— Wissen validierenstats— Statistiken abrufen
Verwendungsbeispiel:
{
"action": "add",
"subject": "Python",
"predicate": "is_a",
"object": "programming_language",
"confidence": 0.95
}Werkzeugname: log
Funktionsbeschreibung: Abfrage der Operationshistorie und Chat-Historie.
Unterstützte Operationen:
query_logs— Systemprotokolle abfragenquery_conversations— Chat-Historie abfragenget_stats— Protokollstatistiken abrufen
Verwendungsbeispiel:
{
"action": "query_logs",
"being_id": "being-uuid",
"start_time": "2026-04-20T00:00:00Z",
"end_time": "2026-04-26T23:59:59Z",
"level": "info"
}Werkzeugname: memory
Funktionsbeschreibung: Verwaltung des Langzeit- und Kurzzeitspeichers von Silicon Beings.
Unterstützte Operationen:
read— Speicher lesenwrite— Speicher schreibensearch— Speicher durchsuchendelete— Speicher löschenlist— Speichereinträge auflistenget_stats— Speicherstatistiken abrufencompress— Speicher komprimieren
Verwendungsbeispiel:
{
"action": "read",
"key": "important_fact",
"time_range": {
"start": "2026-04-01",
"end": "2026-04-26"
}
}Werkzeugname: network
Funktionsbeschreibung: HTTP/HTTPS-Anfragen durchführen.
Unterstützte Operationen:
get— GET-Anfragepost— POST-Anfrageput— PUT-Anfragedelete— DELETE-Anfragedownload— Datei herunterladenupload— Datei hochladen
Berechtigungsanforderung: network:http
Verwendungsbeispiel:
{
"action": "get",
"url": "https://api.example.com/data"
}Werkzeugname: permission
Berechtigungsanforderung: Nur für Silicon Curator verfügbar
Funktionsbeschreibung: Verwaltung von Berechtigungen und Zugriffssteuerungslisten.
Unterstützte Operationen:
query_permission— Berechtigung abfragenmanage_acl— Globale ACL verwaltenget_callback— Berechtigungs-Callback-Funktion abrufenset_callback— Berechtigungs-Callback-Funktion festlegen
Verwendungsbeispiel:
{
"action": "manage_acl",
"acl_action": "add_rule",
"permission_type": "filesystem",
"resource_prefix": "/data/",
"acl_result": "allow"
}Werkzeugname: project
Berechtigungsanforderung: Nur für Silicon Curator verfügbar ([SiliconManagerOnly])
Verfügbare Szenarien: Chat, Task, Timer
Funktionsbeschreibung: Verwaltung von Projektarbeitsbereichen, unterstützt Projekt-Lebenszyklusverwaltung, Mitgliederzuweisung und Rollenverwaltung.
Unterstützte Operationen:
create— Neuen Projektbereich erstellenarchive— Projekt archivierenrestore— Archiviertes Projekt wiederherstellendestroy— Projekt zerstören und Daten bereinigen (unwiderruflich)list— Alle Projekte auflistenget— Projektdetails abrufenassign— Silicon Being einem Projekt zuweisenremove— Silicon Being aus einem Projekt entfernenupdate— Projektname/-beschreibung aktualisierenlist-workflow-templates— Verfügbare Workflow-Vorlagen auflistenassign_role— Silicon Being eine Projektrolle zuweisenremove_role— Projektrolle eines Silicon Beings entfernenlist_roles— Rollenzuweisungen des Projekts auflisten
Verwendungsbeispiel:
{
"action": "create",
"name": "My Project",
"description": "Projektbeschreibung"
}Werkzeugname: project_task
Verfügbare Szenarien: Chat, Task, Timer
Funktionsbeschreibung: Verwaltung von Aufgaben innerhalb eines Projektbereichs, unterstützt den vollständigen Aufgaben-Lebenszyklus.
Unterstützte Operationen:
create— Projektaufgabe erstellenlist— Projektaufgaben auflistenget— Aufgabendetails abrufenupdate— Aufgabentitel/-beschreibung/-priorität aktualisierenassign— Verantwortlichen einer Aufgabe zuweisenremove_assignee— Verantwortlichen einer Aufgabe entfernenstart— Aufgabe startencomplete— Aufgabe als abgeschlossen markierenfail— Aufgabe als fehlgeschlagen markierencancel— Aufgabe abbrechendelete— Aufgabe löschenstats— Aufgabenstatistiken abrufen
Verwendungsbeispiel:
{
"action": "create",
"project_id": "project-uuid",
"description": "Aufgabenbeschreibung abschließen",
"priority": 5
}Werkzeugname: project_work_note
Verfügbare Szenarien: Chat, Task, Timer
Funktionsbeschreibung: Verwaltung von Arbeitsnotizen innerhalb eines Projektbereichs (öffentlich, ähnlich einem Arbeitsheft), unterstützt seitenbasierte Notizverwaltung.
Unterstützte Operationen:
create— Notizseite erstellen (erfordertproject_id,summaryundcontent, optionalkeywords)read— Notizseite lesen (erfordertproject_idundpage_numberodernote_id)update— Notizseite aktualisieren (erfordertproject_id,page_numberundcontent, optionalsummaryundkeywords)delete— Notizseite löschen (erfordertproject_idundpage_numberodernote_id)list— Alle Notizseiten-Zusammenfassungen des Projekts auflistendirectory— Notizverzeichnis/-übersicht generierensearch— Notizen nach Schlüsselwort durchsuchen (erfordertproject_idundkeyword, optionalmax_results)
Verwendungsbeispiel:
{
"action": "create",
"project_id": "project-uuid",
"summary": "Benutzerauthentifizierungsmodul abgeschlossen",
"content": "## Implementierungsdetails\n\n- JWT-Token verwenden",
"keywords": "Authentifizierung,JWT"
}Werkzeugname: project_work
Berechtigungsanforderung: Nur für Silicon Curator verfügbar ([SiliconManagerOnly])
Verfügbare Szenarien: Project ([ToolScenario(ToolScenarioFlag.Project)], nur im Projekt-Szenario verfügbar)
Funktionsbeschreibung: Projektarbeits-Operationswerkzeug, das vom Curator zur Verwaltung von Projekt-Workflows im ThinkOnProject-Szenario verwendet wird.
Unterstützte Operationen:
create-task— Projektaufgabe erstellenassign-task— Silicon Being einer Aufgabe zuweisenchat— Nachricht an Projekt-Gruppenchat sendenbroadcast— Nachricht an Projekt-Kanal sendencomplete— Projekt als abgeschlossen markierenstatus— Projektstatus abrufen
Verwendungsbeispiel:
{
"action": "create-task",
"project_id": "project-uuid",
"title": "Benutzerauthentifizierung implementieren"
}Werkzeugname: system
Funktionsbeschreibung: Systeminformationen und Ressourcennutzung abrufen.
Unterstützte Operationen:
info— Systeminformationen abrufenresource_usage— Ressourcennutzung abrufenfind_process— Prozess findenlist_beings— Silicon Beings auflisten
Verwendungsbeispiel:
{
"action": "info"
}Werkzeugname: task
Funktionsbeschreibung: Verwaltung der persönlichen Aufgaben eines Silicon Beings.
Unterstützte Operationen:
create— Aufgabe erstellenlist— Aufgaben auflistenupdate— Aufgabe aktualisierencomplete— Aufgabe abschließendelete— Aufgabe löschenget_dependencies— Abhängigkeiten abrufen
Verwendungsbeispiel:
{
"action": "create",
"description": "Code überprüfen",
"priority": 5
}Werkzeugname: timer
Funktionsbeschreibung: Erstellen und Verwalten von Timern.
Unterstützte Operationen:
create— Timer erstellenlist— Timer auflistendelete— Timer löschenpause— Timer anhaltenresume— Timer fortsetzenget_execution_history— Ausführungshistorie abrufen
Verwendungsbeispiel:
{
"action": "create",
"interval": 3600,
"repeat": true,
"message": "Stündliche Erinnerung"
}Werkzeugname: token_audit
Berechtigungsanforderung: Nur für Silicon Curator verfügbar ([SiliconManagerOnly])
Verfügbare Szenarien: Chat, Task, Timer
Funktionsbeschreibung: Abfrage von KI-Token-Nutzungsstatistiken und Trenddaten.
Unterstützte Operationen:
summary— Token-Nutzungszusammenfassung abrufentrend— Token-Nutzungstrend-Datenpunkte abrufen
Unterstützte Zeitbereiche:
today— Letzte 24 Stundenweek— Letzte 7×24 Stundenmonth— Tagesweise Statistikyear— Monatsweise Statistik
Verwendungsbeispiel:
{
"action": "summary",
"time_range": "week"
}Werkzeugname: webview_browser
Verfügbare Szenarien: Chat, Task, Timer
Funktionsbeschreibung: Playwright-basierte Browser-Automatisierung, bietet vollständige Web-Navigation, Interaktion und Datenextraktion.
Unterstützte Operationen:
open— Browser öffnenclose— Browser schließennavigate— Zu URL navigierenclick— Element anklickeninput— Text eingebenscroll— Seite scrollenexecute_script— JavaScript ausführenget_page_text— Seitentext abrufenget_screenshot— Screenshot abrufenwait_for_element— Auf Element wartenget_element_info— Elementinformationen abrufenupload_file— Datei hochladenget_browser_status— Browserstatus abrufenset_timeout— Zeitüberschreitung festlegenclear_session— Browsersitzung löschen
Eigenschaften:
- Unabhängige Instanz pro Silicon Being
- Vollständig isolierte Cookies und Sitzungen
- Für Benutzer vollständig unsichtbar (Headless-Modus)
- Vollständige JavaScript- und CSS-Unterstützung
Verwendungsbeispiel:
{
"action": "navigate",
"url": "https://example.com"
}Werkzeugname: work_note
Funktionsbeschreibung: Verwaltung der persönlichen Arbeitsnotizen eines Silicon Beings (privat, ähnlich einem Tagebuch).
Unterstützte Operationen:
create— Notiz erstellenread— Notiz lesenupdate— Notiz aktualisierendelete— Notiz löschenlist— Notizen auflistensearch— Notizen durchsuchendirectory— Verzeichnis generieren
Verwendungsbeispiel:
{
"action": "create",
"summary": "Benutzerauthentifizierungsmodul abgeschlossen",
"content": "## Implementierungsdetails\n\n- JWT-Token verwenden\n- OAuth2 unterstützen",
"keywords": "Authentifizierung,JWT,OAuth2"
}┌──────────┐
│ AI │ Gibt tool_calls zurück
└────┬─────┘
↓
┌──────────────┐
│ Werkzeug- │ Sucht und validiert Werkzeugnutzungsberechtigung
│ manager │
└────┬─────────┘
↓
┌──────────────┐
│ Berechtigungs│ Prüft Berechtigungskette
│ manager │
└────┬─────────┘
↓
┌──────────────┐
│ Executor │ Führt Ressourcenzugriffsoperationen aus
└────┬─────────┘
↓
┌──────────┐
│ AI │ Empfängt Werkzeugergebnis, denkt weiter
└──────────┘
Alle Werkzeugausführungen durchlaufen die Berechtigungsvalidierungskette:
- Benutzerfrequenz-Cache — Hochfrequente Benutzerentscheidungen zwischengespeichert (HighDeny hat Vorrang vor HighAllow)
- Berechtigungs-Callback-Schnittstelle — Benutzerdefinierte Berechtigungs-Callback-Funktion (Allowed/Denied/AskUser)
- IsCurator-Verzweigung — Curator fragt den Benutzer über IPermissionAskHandler; Nicht-Curator fragt GlobalACL ab, bei fehlender passender Regel wird standardmäßig abgelehnt
public class MyCustomTool : ITool
{
public string Name => "my_tool";
public string Description => "Werkzeugbeschreibung";
public ToolDefinition Definition => new ToolDefinition
{
Name = Name,
Description = Description,
Parameters = new Dictionary<string, object>
{
["param1"] = new { type = "string", description = "Parameterbeschreibung" }
}
};
public async Task<ToolResult> ExecuteAsync(ToolCall call)
{
try
{
var param1 = call.Parameters["param1"]?.ToString();
var result = await DoWork(param1);
return new ToolResult
{
Success = true,
Output = result
};
}
catch (Exception ex)
{
return new ToolResult
{
Success = false,
Error = ex.Message
};
}
}
}Die Werkzeugdatei im Verzeichnis src/SiliconLife.Common/Tools/ ablegen (gemeinsame Werkzeuge) oder in src/SiliconLife.Default/Tools/ / src/SiliconLife.Fast/Tools/ (versionsspezifische Werkzeuge). Der Werkzeugmanager entdeckt und registriert diese beim Start automatisch über Reflexion.
Benutzerdefinierte Werkzeuge können auch über das Plugin-System registriert werden:
ITool-Schnittstelle im Plugin-Projekt implementieren- Plugin-DLL kompilieren und im Plugin-Verzeichnis ablegen
ToolManager.ScanAllPluginAssemblies()scannt automatisch alle geladenen Plugins nach ITool-Implementierungen- Plugin-Werkzeuge unterliegen demselben Berechtigungssystem
[SiliconManagerOnly]
public class AdminOnlyTool : ITool
{
// Nur für Silicon Curator zugänglich
}if (!call.Parameters.ContainsKey("required_param"))
{
return ToolResult.Failure("Erforderlicher Parameter fehlt: required_param");
}try
{
// Operation ausführen
}
catch (Exception ex)
{
Logger.Error($"Werkzeug {Name} Ausführung fehlgeschlagen: {ex.Message}");
return ToolResult.Failure(ex.Message);
}Berechtigungsprüfungen niemals umgehen. Immer über den Executor auf Ressourcen zugreifen:
bool allowed = permissionManager.CheckPermission(callerId, permissionType, resource);
if (!allowed)
{
return ToolResult.Denied("Permission denied");
}Hilft der KI zu verstehen, wann und wie das Werkzeug zu verwenden ist:
public string Description =>
"Zur Konvertierung von Daten zwischen verschiedenen Kalendersystemen." +
"Erfordert die Parameter 'date', 'from_calendar' und 'to_calendar'.";Problem: Die KI versucht, ein nicht existierendes Werkzeug aufzurufen.
Lösung:
- Prüfen, ob der Werkzeugname exakt übereinstimmt
- Verifizieren, dass die Werkzeugdatei im
Tools/-Verzeichnis liegt - Projekt neu erstellen (
dotnet build)
Problem: Werkzeugausführung schlägt fehl, gibt Berechtigungsfehler zurück.
Lösung:
- Berechtigungsaudit-Protokoll prüfen
- Verifizieren, dass das Silicon Being die erforderlichen Berechtigungen hat
- Globale ACL-Einstellungen überprüfen
- Wenn es sich um den Curator handelt, prüfen, ob das
[SiliconManagerOnly]-Attribut verwendet wurde
Problem: Werkzeug wird ausgeführt, gibt aber ein fehlgeschlagenes Ergebnis zurück.
Lösung:
- Die vom Werkzeug zurückgegebene Fehlermeldung prüfen
- Eingabeparameterformat validieren
- Systemprotokolle für detaillierte Fehlerinformationen einsehen
- Werkzeugfunktionalität unabhängig testen
- 📚 Architektur-Leitfaden lesen
- 🛠️ Entwicklungsleitfaden ansehen
- 🔒 Berechtigungssystem verstehen
- 🚀 Schnellstart-Leitfaden ansehen