feat: GitHub Code Search als Agent-Tool + Dashboard-Badges

- UseGitHubSearch Property im AgentRecord (Default: false)
- DB-Migration: use_github_search Spalte in agents
- Checkbox im Agent-Formular (Standard: unchecked)
- Tool nur aktiv wenn Agent-Checkbox UND GitHubToken konfiguriert
- includeGitHubSearch Parameter durch StreamChat/AddToolsToPayload
- Dashboard-Badges: 🔮 Auto-Kontext + 🐙 GitHub Search
This commit is contained in:
Meleki committed 2026-03-13 08:26:15 +01:00
1 parent bca5e5145a
commit 89122e2170
10 files changed
+22 -8

No files matched your search

+4
View File
@@ -241,6 +241,10 @@
<input type="checkbox" id="agentUseAutoContext" checked>
Automatischer Kontext <span class="checkbox-hint">(Relevante Erinnerungen werden automatisch abgerufen)</span>
</label>
<label class="checkbox-label">
<input type="checkbox" id="agentUseGitHubSearch">
GitHub Code Search <span class="checkbox-hint">(Öffentlichen Code auf GitHub durchsuchen)</span>
</label>
<label>Web-Suche</label>
<select id="agentWebSearchVersion">
<option value="">Deaktiviert</option>
+2
View File
@@ -107,6 +107,8 @@ function buildAgentCard(agent, skills) {
if (agent.useIdentity) badges.push('<span class="badge badge-feature" title="Hat eine Identität (IDENTITY.md)"><i class="fa fa-id-badge"></i> Ich</span>');
if (agent.useUserInfo) badges.push('<span class="badge badge-feature" title="Kennt sein Gegenüber (Benutzer-Persona)"><i class="fa fa-user"></i> Du</span>');
if (agent.useMemory) badges.push('<span class="badge badge-feature" title="Zugriff auf Erinnerungen (Memory-Tools)"><i class="fa fa-database"></i> Erinnerungen</span>');
if (agent.useAutoContext) badges.push('<span class="badge badge-feature" title="Relevante Erinnerungen werden automatisch abgerufen"><i class="fa fa-magic"></i> Auto-Kontext</span>');
if (agent.useGitHubSearch) badges.push('<span class="badge badge-feature" title="Öffentlichen Code auf GitHub durchsuchen"><i class="fa fa-github"></i> GitHub Search</span>');
if (agent.webSearchVersion) {
const wsYear = agent.webSearchVersion.includes('2025') ? 'Version 2025' : 'v2026';
badges.push(`<span class="badge badge-feature" title="Web-Suche - ${wsYear}"><i class="fa fa-search"></i> Web-Suche</span>`);
+3
View File
@@ -53,6 +53,7 @@ registerPage('agent', {
const useUserInfoEl = document.getElementById('agentUseUserInfo');
const useMemoryEl = document.getElementById('agentUseMemory');
const useAutoContextEl = document.getElementById('agentUseAutoContext');
const useGitHubSearchEl = document.getElementById('agentUseGitHubSearch');
const webSearchVersionEl = document.getElementById('agentWebSearchVersion');
const avatarPreview = document.getElementById('avatarPreview');
const saveBtn = document.getElementById('agentSaveBtn');
@@ -94,6 +95,7 @@ registerPage('agent', {
useUserInfoEl.checked = agent.useUserInfo !== false;
useMemoryEl.checked = agent.useMemory !== false;
useAutoContextEl.checked = agent.useAutoContext !== false;
useGitHubSearchEl.checked = agent.useGitHubSearch || false;
webSearchVersionEl.value = agent.webSearchVersion || '';
isPublicEl.checked = agent.isPublic || false;
deleteBtn.hidden = false;
@@ -136,6 +138,7 @@ registerPage('agent', {
useUserInfo: useUserInfoEl.checked,
useMemory: useMemoryEl.checked,
useAutoContext: useAutoContextEl.checked,
useGitHubSearch: useGitHubSearchEl.checked,
webSearchVersion: webSearchVersionEl.value,
avatar: _agentAvatarEditor.getImage(),
avatarScale: _agentAvatarEditor.getScale(),