Init
Some checks failed
release-tag / Resolve release metadata (push) Successful in 30s
release-tag / Build knowledge (push) Failing after 4m51s
release-tag / Build control (push) Failing after 5m0s
release-tag / Build agent (push) Failing after 5m0s
release-tag / Build agent-data-init (push) Failing after 5m5s
release-tag / Build neuroforge-worker (push) Failing after 5m7s
release-tag / Build neuroforge (push) Failing after 5m9s
Some checks failed
release-tag / Resolve release metadata (push) Successful in 30s
release-tag / Build knowledge (push) Failing after 4m51s
release-tag / Build control (push) Failing after 5m0s
release-tag / Build agent (push) Failing after 5m0s
release-tag / Build agent-data-init (push) Failing after 5m5s
release-tag / Build neuroforge-worker (push) Failing after 5m7s
release-tag / Build neuroforge (push) Failing after 5m9s
This commit is contained in:
10
.cbmignore
Normal file
10
.cbmignore
Normal file
@@ -0,0 +1,10 @@
|
||||
.git/
|
||||
backups/
|
||||
exports/
|
||||
staging/
|
||||
patches/
|
||||
services/control/engineering-graph.json
|
||||
services/agent/data/
|
||||
platform/neuroforge/data/
|
||||
*.zip
|
||||
*.bin
|
||||
110
.env.example
Normal file
110
.env.example
Normal file
@@ -0,0 +1,110 @@
|
||||
# -----------------------------
|
||||
# Mega-project core / security
|
||||
# -----------------------------
|
||||
NEUROFORGE_ADMIN_TOKEN=CHANGE_ME_ADMIN
|
||||
NEUROFORGE_APP_API_KEY=CHANGE_ME_APP
|
||||
NEUROFORGE_WORKER_TOKEN=CHANGE_ME_WORKER
|
||||
NEUROFORGE_METRICS_TOKEN=CHANGE_ME_METRICS
|
||||
KB_INTEGRATION_TOKEN=CHANGE_ME_KB_INTEGRATION
|
||||
CONTROL_READ_TOKEN=CHANGE_ME_CONTROL_READ
|
||||
NEUROFORGE_CLUSTER_TOKEN=
|
||||
OPENAI_API_KEY=
|
||||
|
||||
# Staged vector migration: local | dual | neuroforge
|
||||
KNOWLEDGE_VECTOR_BACKEND=dual
|
||||
NEUROFORGE_NAMESPACE=glpi-agent
|
||||
NEUROFORGE_SEARCH_K=128
|
||||
# true = keep processing with local/lexical fallback if NeuroForge is unavailable
|
||||
# false = semantic backend failures are blocking
|
||||
NEUROFORGE_FAIL_OPEN=true
|
||||
|
||||
# -----------------------------
|
||||
# Shared local AI runtime
|
||||
# -----------------------------
|
||||
OLLAMA_MODEL=gemma3
|
||||
OLLAMA_EMBEDDING_MODEL=embeddinggemma
|
||||
OLLAMA_TIMEOUT=10m
|
||||
OLLAMA_KEEP_ALIVE=10m
|
||||
OLLAMA_NUM_PREDICT=768
|
||||
OLLAMA_JSON_RETRIES=1
|
||||
|
||||
# -----------------------------
|
||||
# GLPI Agent connection
|
||||
# -----------------------------
|
||||
GLPI_URL=https://glpi.example.invalid
|
||||
GLPI_API_VERSION=v2.3
|
||||
GLPI_CLIENT_ID=
|
||||
GLPI_CLIENT_SECRET=
|
||||
GLPI_USERNAME=
|
||||
GLPI_PASSWORD=
|
||||
GLPI_AGENT_USER_ID=0
|
||||
DRY_RUN=true
|
||||
AUTO_CATEGORY=false
|
||||
AUTO_REPLY=false
|
||||
AUTO_PRIORITY=false
|
||||
AUTO_ESCALATION=false
|
||||
RAG_ENABLED=true
|
||||
KNOWLEDGE_INDEX_MODE=incremental
|
||||
KNOWLEDGE_MIN_SCORE=0.70
|
||||
KNOWLEDGE_ALLOWED_SOURCES=internal-kb
|
||||
|
||||
# -----------------------------
|
||||
# Web access
|
||||
# -----------------------------
|
||||
WEB_USERNAME=admin
|
||||
WEB_PASSWORD=CHANGE_ME_AGENT_WEB
|
||||
WEB_ALLOW_ANONYMOUS=false
|
||||
BASIC_AUTH_USER=admin
|
||||
BASIC_AUTH_PASSWORD=CHANGE_ME_KB_WEB
|
||||
|
||||
# -----------------------------
|
||||
# Optional host ports
|
||||
# -----------------------------
|
||||
CONTROL_HOST_PORT=8070
|
||||
AGENT_HOST_PORT=8080
|
||||
KNOWLEDGE_HOST_PORT=8081
|
||||
NEUROFORGE_HOST_PORT=8090
|
||||
OLLAMA_HOST_PORT=11434
|
||||
|
||||
# -----------------------------
|
||||
# Controlled learning / research
|
||||
# -----------------------------
|
||||
# Enforces: no automatic learning from raw chat input or assistant output;
|
||||
# explicit validated outcomes and research evidence keep distinct provenance.
|
||||
NEUROFORGE_CONTROLLED_LEARNING=true
|
||||
|
||||
# Ticket -> AI proposal -> technician accept/correct -> NeuroForge learn.
|
||||
OUTCOME_LEARNING_ENABLED=true
|
||||
# false = technician sees an error when NeuroForge cannot persist the validated outcome.
|
||||
# The local outcome audit is still retained with sync_status=failed.
|
||||
OUTCOME_LEARNING_FAIL_OPEN=false
|
||||
OUTCOME_LEARNING_MAX_OUTCOMES=2000
|
||||
# Active accepted/corrected outcomes are secondary reply evidence only.
|
||||
# They never replace the approved-KB requirement for Auto-Reply.
|
||||
OUTCOME_RETRIEVAL_ENABLED=true
|
||||
OUTCOME_RETRIEVAL_SEARCH_K=6
|
||||
OUTCOME_RETRIEVAL_MIN_SIMILARITY=0.58
|
||||
# true = continue with official KB/context if experience retrieval is unavailable.
|
||||
OUTCOME_RETRIEVAL_FAIL_OPEN=true
|
||||
|
||||
# Research is opt-in. Starting the SearXNG profile alone does not enable learning.
|
||||
NEUROFORGE_RESEARCH_ENABLED=false
|
||||
NEUROFORGE_SEARXNG_ENABLED=false
|
||||
NEUROFORGE_SEARXNG_URL=http://searxng:8080
|
||||
NEUROFORGE_RESEARCH_GOAL_ENABLED=true
|
||||
# Separate switch for scheduled self-directed goal cycles.
|
||||
NEUROFORGE_AUTONOMY_ENABLED=false
|
||||
NEUROFORGE_AUTONOMY_INTERVAL_MINUTES=30
|
||||
NEUROFORGE_RESEARCH_MAX_QUERIES=2
|
||||
NEUROFORGE_RESEARCH_MAX_PAGES=4
|
||||
|
||||
# Required only when the optional `research` compose profile is started.
|
||||
# Pin this to a version/digest in production if reproducible images are required.
|
||||
SEARXNG_IMAGE=docker.io/searxng/searxng:latest
|
||||
SEARXNG_SECRET=CHANGE_ME_SEARXNG_LONG_RANDOM_SECRET
|
||||
SEARXNG_HOST_PORT=8888
|
||||
|
||||
# Optional local developer-only Codebase Memory MCP/UI. It is not required by
|
||||
# production services. For a host process reachable from Docker on Linux:
|
||||
CODEBASE_MEMORY_URL=
|
||||
PUBLIC_CODEBASE_MEMORY_URL=http://localhost:9749
|
||||
197
.gitea/workflows/release-tag.yml
Normal file
197
.gitea/workflows/release-tag.yml
Normal file
@@ -0,0 +1,197 @@
|
||||
name: release-tag
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
tags:
|
||||
- 'v*'
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
concurrency:
|
||||
group: release-images-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
env:
|
||||
REGISTRY: git.send.nrw
|
||||
DOCKER_ORG: sendnrw
|
||||
DOCKER_LATEST: latest
|
||||
|
||||
jobs:
|
||||
meta:
|
||||
name: Resolve release metadata
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
repo_name: ${{ steps.meta.outputs.repo_name }}
|
||||
version: ${{ steps.meta.outputs.version }}
|
||||
short_sha: ${{ steps.meta.outputs.short_sha }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v7
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Resolve repository version
|
||||
id: meta
|
||||
shell: bash
|
||||
run: |
|
||||
set -euo pipefail
|
||||
|
||||
repo_name="${GITHUB_REPOSITORY#*/}"
|
||||
short_sha="${GITHUB_SHA::12}"
|
||||
|
||||
if [[ "${GITHUB_REF_TYPE}" == "tag" ]]; then
|
||||
version="${GITHUB_REF_NAME#v}"
|
||||
else
|
||||
version="$(git describe --tags --always --match 'v*' 2>/dev/null | sed 's/^v//')"
|
||||
fi
|
||||
|
||||
# Docker tags may only contain a conservative character set.
|
||||
version="$(printf '%s' "$version" | sed -E 's/[^A-Za-z0-9_.-]+/-/g')"
|
||||
|
||||
echo "repo_name=$repo_name" >> "$GITHUB_OUTPUT"
|
||||
echo "version=$version" >> "$GITHUB_OUTPUT"
|
||||
echo "short_sha=$short_sha" >> "$GITHUB_OUTPUT"
|
||||
|
||||
{
|
||||
echo '### Release metadata'
|
||||
echo "- Repository: \`$repo_name\`"
|
||||
echo "- Version: \`$version\`"
|
||||
echo "- Commit: \`$short_sha\`"
|
||||
} >> "$GITHUB_STEP_SUMMARY"
|
||||
|
||||
release-image:
|
||||
name: Build ${{ matrix.image }}
|
||||
needs: meta
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 45
|
||||
strategy:
|
||||
fail-fast: false
|
||||
max-parallel: 3
|
||||
matrix:
|
||||
include:
|
||||
- image: neuroforge
|
||||
context: ./platform/neuroforge
|
||||
file: ./platform/neuroforge/Dockerfile
|
||||
target: server
|
||||
- image: neuroforge-worker
|
||||
context: ./platform/neuroforge
|
||||
file: ./platform/neuroforge/Dockerfile
|
||||
target: worker
|
||||
- image: agent
|
||||
context: ./services/agent
|
||||
file: ./services/agent/Dockerfile
|
||||
target: ''
|
||||
- image: agent-data-init
|
||||
context: ./services/agent
|
||||
file: ./services/agent/Dockerfile
|
||||
target: data-init
|
||||
- image: knowledge
|
||||
context: ./services/knowledge
|
||||
file: ./services/knowledge/Dockerfile
|
||||
target: ''
|
||||
- image: control
|
||||
context: ./services/control
|
||||
file: ./services/control/Dockerfile
|
||||
target: ''
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v7
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Configure insecure registry for Docker daemon
|
||||
shell: bash
|
||||
run: |
|
||||
set -euo pipefail
|
||||
sudo mkdir -p /etc/docker
|
||||
printf '{"insecure-registries":["%s"]}\n' "${REGISTRY}" | sudo tee /etc/docker/daemon.json >/dev/null
|
||||
sudo systemctl restart docker
|
||||
docker info
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v4
|
||||
with:
|
||||
platforms: amd64
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v4
|
||||
with:
|
||||
config-inline: |
|
||||
[registry."git.send.nrw"]
|
||||
http = true
|
||||
insecure = true
|
||||
|
||||
- name: Login to registry
|
||||
uses: docker/login-action@v4
|
||||
with:
|
||||
registry: ${{ env.REGISTRY }}
|
||||
username: ${{ secrets.DOCKER_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||
|
||||
- name: Prepare image tags
|
||||
id: image-meta
|
||||
shell: bash
|
||||
env:
|
||||
REPO_NAME: ${{ needs.meta.outputs.repo_name }}
|
||||
VERSION: ${{ needs.meta.outputs.version }}
|
||||
SHORT_SHA: ${{ needs.meta.outputs.short_sha }}
|
||||
IMAGE_COMPONENT: ${{ matrix.image }}
|
||||
run: |
|
||||
set -euo pipefail
|
||||
|
||||
image="${REGISTRY}/${DOCKER_ORG}/${REPO_NAME}-${IMAGE_COMPONENT}"
|
||||
|
||||
{
|
||||
echo 'tags<<EOF'
|
||||
echo "${image}:${VERSION}"
|
||||
echo "${image}:sha-${SHORT_SHA}"
|
||||
if [[ "${GITHUB_REF}" == "refs/heads/main" ]]; then
|
||||
echo "${image}:${DOCKER_LATEST}"
|
||||
fi
|
||||
echo 'EOF'
|
||||
} >> "$GITHUB_OUTPUT"
|
||||
|
||||
echo "image=$image" >> "$GITHUB_OUTPUT"
|
||||
|
||||
- name: Build and push
|
||||
id: build
|
||||
uses: docker/build-push-action@v7
|
||||
with:
|
||||
context: ${{ matrix.context }}
|
||||
file: ${{ matrix.file }}
|
||||
target: ${{ matrix.target }}
|
||||
platforms: linux/amd64
|
||||
push: true
|
||||
pull: true
|
||||
tags: ${{ steps.image-meta.outputs.tags }}
|
||||
labels: |
|
||||
org.opencontainers.image.title=${{ needs.meta.outputs.repo_name }}-${{ matrix.image }}
|
||||
org.opencontainers.image.source=${{ github.server_url }}/${{ github.repository }}
|
||||
org.opencontainers.image.revision=${{ github.sha }}
|
||||
org.opencontainers.image.version=${{ needs.meta.outputs.version }}
|
||||
cache-from: type=gha,scope=${{ matrix.image }}
|
||||
cache-to: type=gha,mode=max,scope=${{ matrix.image }}
|
||||
provenance: mode=max
|
||||
sbom: true
|
||||
|
||||
- name: Publish build summary
|
||||
if: always()
|
||||
shell: bash
|
||||
env:
|
||||
IMAGE: ${{ steps.image-meta.outputs.image }}
|
||||
VERSION: ${{ needs.meta.outputs.version }}
|
||||
DIGEST: ${{ steps.build.outputs.digest }}
|
||||
run: |
|
||||
{
|
||||
echo "### ${{ matrix.image }}"
|
||||
echo "- Image: \`$IMAGE\`"
|
||||
echo "- Version: \`$VERSION\`"
|
||||
if [[ -n "$DIGEST" ]]; then
|
||||
echo "- Digest: \`$DIGEST\`"
|
||||
fi
|
||||
} >> "$GITHUB_STEP_SUMMARY"
|
||||
9
.gitignore
vendored
Normal file
9
.gitignore
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
.env
|
||||
*.log
|
||||
.DS_Store
|
||||
backups/*
|
||||
!backups/.gitkeep
|
||||
staging/*
|
||||
!staging/.gitkeep
|
||||
coverage.out
|
||||
bin/
|
||||
513
MANIFEST.sha256
Normal file
513
MANIFEST.sha256
Normal file
@@ -0,0 +1,513 @@
|
||||
27dc46be5cbb1b171deff7fbd2f28bff1be802dff403797535fd8968bb98c8eb ./.cbmignore
|
||||
6975891550d0f9343d69faaa5fa7966d016a0b84d31546e6ecb26a9ddfe23398 ./.env.example
|
||||
f86e1fe23360c211f7229745743fc8728cadc9b3df4547187a0e15774a66a0b4 ./.github/workflows/release-tag.yml
|
||||
e1ff71187cc3411a85067b964264011db7bd109a585ef7b9ea5b08bda039d813 ./.gitignore
|
||||
9c18555764b03bdb004098bf6b8ca7f3eaebdccb8c17f15a11d2cebbab28cbd3 ./Makefile
|
||||
546df743afd5858157b568194c3e588bd490d4438e1ffc33b91abcdb71b652c4 ./README.md
|
||||
4858caa52c0fb6cf302a1c581d07d448e5e90e0daa797e5819610fd6223bd348 ./RELEASE-NOTES-v1.1.0.md
|
||||
01163462f46314f57660677fdef407c6c2884412ea850aab13a4f650e8c29f50 ./RELEASE-NOTES-v1.2.0.md
|
||||
4da388ce660aa3b7a0d8075ec066a025b5437960973397360fcb9a5d4cb58c96 ./RELEASE-NOTES-v1.3.0.md
|
||||
257d6d3ea1d22b8ab97adb5d35ca5ac806702d75cea66982dc711754040fc7a2 ./RELEASE-NOTES-v1.4.0.md
|
||||
78b591400c56b7b67b8cb3b2b8a8e65e9093897f02ce0878e6b5405c68620fa7 ./VERSION
|
||||
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ./backups/.gitkeep
|
||||
8127e9db5e5e0af1d88770dc8fa60b381de45dbcc843262698cf9501409b4d58 ./deploy/searxng/settings.yml
|
||||
6d020933eedaa08772262b861c43c50944a596ae11bef3f623041769c68cf09b ./docker-compose.yml
|
||||
0f2adaa0765ff00d9c3a1133840c7a768a011f9d8f820f8a340b43600c7649d8 ./docs/ARCHITECTURE.md
|
||||
9467a3c0796a87bada0eab6ad191913e628b4abc05520cbb4b73fac76d334481 ./docs/CODEBASE-MEMORY-MCP.md
|
||||
765c39f0db69165a70d8175d1fe7686ff6dd512669db088a6fdf6a93de5404f6 ./docs/CONTROL-CENTER.md
|
||||
ea8a6d298d33ac3f23825dc58f2bc12dc369ed9487b7b96c4b28a8febf1299c0 ./docs/CONTROL-MATRIX.md
|
||||
c34f750f1d06fe3b750ad7e7de0aef5cad919e389517eb0f8881eae452ac80b5 ./docs/CONTROLLED-AUTONOMY.md
|
||||
2465c837c243ef03856ad1297b540d6df90005c74b9f4a9bba223066a612009f ./docs/IMPLEMENTED.md
|
||||
9c38807cc12fba6f94cadc4694996de58e6d2d5396e55fc0c4bd404bb13f53ad ./docs/MIGRATION-CUTOVER.md
|
||||
a71d28353529906cee08cf90f35e0b0cf97bbc94ccfcef830145a2d561b21a9c ./docs/MIGRATION-MANIFEST.md
|
||||
4330b3adefd8c40d174e1e878ff7cf075d99a44ec51251953d1a58d3a0fa8ca3 ./docs/MIGRATION-v1.1.0-to-v1.2.0.md
|
||||
46672e5984cdcf5f31e88dccc273041aa277552cc9c5ecbf59a46b3de133da7b ./docs/MIGRATION-v1.2.0-to-v1.3.0.md
|
||||
3738dc79be0598316dc397f1fcc71cedda67b604a3038b116c2ea001dc3105ce ./docs/MIGRATION-v1.3.0-to-v1.4.0.md
|
||||
2a01fb10a3e04eae1800a7c7e0aafc31e9bbb23584cea54d849b004716ef81b4 ./docs/OBSIDIAN-EXPORT.md
|
||||
040010a807178d33797106e04716822f8d147d7d5833c1ba70865a1827f8484a ./docs/OPERATIONS.md
|
||||
69ea49bc76690ac489aea908f4e784a14293e92d62478a240eabea53c5f90820 ./docs/QUALITY-REPLAY-example.json
|
||||
bd2d3c43a09a89fefd0e844433064d7d7384a414179a754c6de94232d738fb04 ./docs/QUALITY-REPLAY.md
|
||||
be749a09ddbcd4cf427316c6fe531f138e9bfaa6c104f4c11a08f7555231e8b2 ./docs/UNIFIED-GRAPH.md
|
||||
25396a0a80f232d6073530e1ef3222e565efd0a24e2c66ea0866285d03332d70 ./docs/VALIDATION.md
|
||||
be4810451750abb676eee0edcc6f164d86f372f32b185f6f730bf84538cef4a8 ./exports/knowledge-obsidian-snapshot.zip
|
||||
dfa65e55e9ccf642ae5ef8ef91c62f4220b31ce4304ea4e1061f2e7d8c1b0fb4 ./exports/knowledge-obsidian-snapshot.zip.sha256
|
||||
99ffd5f497239a5e17b4e4bc79c7a1b5e1e41fdaf9b3f07beb7179050bbddcc4 ./go.work
|
||||
5a81ef73b2de4ff60c440a7a5e42da68e8ca30fab7bc62de63757157d498d72a ./knowledge/01_active-directory.json
|
||||
70b176be0117d51a35a699ab50c2ad9dc944dec807e4a193e1adbbf0ece888fc ./knowledge/01_arbeitsplatzdrucker.json
|
||||
96cf6b96e462db5e4be8345e9b18afee4e7dd5d51bcbd59e6817266725b92318 ./knowledge/01_fachanwendung-storung.json
|
||||
521a4e7d6b1362bacc8d3b8dafe73d081fad9ed06825376b57460d163db31aa6 ./knowledge/01_festnetztelefon.json
|
||||
88610d1d8b75017251e040f7627a141865b7f45a874073355bb6b30ba68c63a8 ./knowledge/01_hardwarebeschaffung.json
|
||||
4e2310d9d3fc5dba392f1869887a7ab61ce4af69822dffae5892a3797252b39d ./knowledge/01_kennwort-zurucksetzen.json
|
||||
5eb15ac8d8c6525d6eb21c29189d1561b8b6e23d81c096d012fe5f9015534c53 ./knowledge/01_lan.json
|
||||
95a46a2f250c94a380be3c259f98e83a9042201d9e3fcf2f310f7e87a293af14 ./knowledge/01_neue-it-anforderung.json
|
||||
ee98f46f39bbd60cd4fdd2b97ca6037a89719fd7a6936ebffb356b633ef2d1a6 ./knowledge/01_padagogisches-netzwerk.json
|
||||
f64d5d7bbbc67d3f958f59c94ff9a99f48801f4d31a041ed12f503c923f4a7a6 ./knowledge/01_pc-und-notebook.json
|
||||
ae9d1634baaa057f8b043558874a6d91b49d06edf8a101d0bb94096e51b062bc ./knowledge/01_sonstiges-und-unklare-zuordnung.json
|
||||
5116a7096a289685d4a320a72a99beeaa6dffa0bd640013061a9a973446d8ea8 ./knowledge/01_verdachtige-e-mail-und-phishing.json
|
||||
5b414f4fccc87f0a9abd3bc4e66a2deeadf0dad87752de19496ed9df217364bb ./knowledge/02_benutzerkonto-anlegen-andern-oder-loschen.json
|
||||
ff7275f53dee116e4194c08b482ff014e86ed31f3d127aed8e2b8dd67a1eed68 ./knowledge/02_fachanwendung-bedienung-und-beratung.json
|
||||
0377ef73fe676606dfb70605a4547b7484c3fa7109474955db6566c7c1812212 ./knowledge/02_gruppenrichtlinien.json
|
||||
4f3fa6ec2a9e15ef5b002bde7b1caa9f6a0352fdd15bfe6638a14ab7f4ea8220 ./knowledge/02_monitor-und-dockingstation.json
|
||||
bd4de92a6dcb5cb79fc1c6eb5d47f54b4585da5b586fecb74dbe50d52d8f7fe7 ./knowledge/02_netzwerkdrucker.json
|
||||
7b31d78a0019c00e360012ba1ba7257f18862297f2fdfeb173dc86154ff16191 ./knowledge/02_rufnummer-und-nebenstelle.json
|
||||
efc4eb64f60404796106fa20770b1b426698c602f2665cb2c458d30fab3eb206 ./knowledge/02_schadsoftware-und-virenfund.json
|
||||
2b1b802004ce185a6d4222848f84fe13bbe993946946e1c9119e5fa590f5ac99 ./knowledge/02_schulverwaltungsnetz.json
|
||||
830bf169fab29b06ff5f6d208c3df4cd0431fe49b0ad6a7e6fa574ac71cc2555 ./knowledge/02_softwarebeschaffung.json
|
||||
fb45cf8cacb1e9c9a8dc9f61cde9d399c607129f9bb1171b214b829c0cced2d5 ./knowledge/02_wlan.json
|
||||
26a059eac1654315c9efe982d3e441d3d667558be5d3d6643ea17efe756f96a9 ./knowledge/03_ad-gruppen-und-gruppenrichtlinien.json
|
||||
b0348c630524118be4e6efcfac879f0d7ec9494e0e85651088200012ad10669a ./knowledge/03_dateiablagen-und-netzlaufwerke.json
|
||||
0d3fee8511a1958a5be1a0c1fdbb7e13821ac8ec6fa842e75931a426186b6d9c ./knowledge/03_digitale-tafeln-und-prasentationstechnik.json
|
||||
a57924a695e382796ef15960e371cee6ebc61bf282402f69e07fd59072aa5ce4 ./knowledge/03_fachanwendung-berechtigung.json
|
||||
f75f00b6f15ce8a6211b953efb224540f6d8bac2da19570fb27c0e72d6ed24d0 ./knowledge/03_internetzugang.json
|
||||
5a76dfb0abd1f3927b070ed5e3a035d6c7c95ffe7a63b1c9a4dbf7c22aef33b6 ./knowledge/03_lizenzbestellung.json
|
||||
d4b595bb8069dde2ca4f241180178a82253a8beaa958811c18f3ae94c26ab02b ./knowledge/03_multifunktionsgerat-und-kopierer.json
|
||||
c190b86667330c1d2926cdb98ee9bf437efcce6dcbbcb63d3987230a3e3c2f54 ./knowledge/03_rufgruppe-und-weiterleitung.json
|
||||
b0d830dcd42919754fb73db0b17b2b3211be6a21b01734daba571dafde9ed01f ./knowledge/03_sicherheitsvorfall.json
|
||||
ca1b3b608c0506457e607f09e4daf827df4ac340d528eb296190822ac846cf5b ./knowledge/03_tastatur-maus-und-zubehor.json
|
||||
7bf663850628f0046edde52a80c2e32362fa5060e7a541162a63e78b3385f0f6 ./knowledge/04_anwendungsberechtigung.json
|
||||
6d0205eff7ba230918fe72d19c833eee32de4de50d4e3657b1849cb576afdfa2 ./knowledge/04_computerraume.json
|
||||
36eacce8dbf33a7e061b3baea0d43a5f3468bef003dc18d8e972f8844ca04043 ./knowledge/04_fachanwendung-konfiguration.json
|
||||
a45d9b3c16c0342a9f7cb12cee286f7f34348929d54644aa82779084da41c3a2 ./knowledge/04_lizenzverwaltung.json
|
||||
e7d40406ed649ae4764e26f3dc14170d5b9910810f8f304025cb030424205aeb ./knowledge/04_mobile-endgerate.json
|
||||
adad80ff68baa3a998b80926e03956e8200d714a2aed9a1fe6aa72228c31faa8 ./knowledge/04_mobilfunk.json
|
||||
1cc331f2d03971b6cc92202b6fac1eccf031acc81d8f3c60549b36e1628fcefc ./knowledge/04_scanner.json
|
||||
658ea20f369985931ef590bbfacbe365da24ab06c7a7433bc546511306bde33c ./knowledge/04_schwachstelle.json
|
||||
5feb14bdd59e0237832561b2d542afcdb877637bdfe6c9c2063e367fd0460025 ./knowledge/04_serverbetrieb.json
|
||||
ab7d1a11ab1e66fa6d26eb1c8783ad11a319ce77f99be48ebc71d39f3b017c3d ./knowledge/04_standortanbindung.json
|
||||
9c97b4ae44a0f0d14292a7a0bf882f2da62dcce0535f37ae36173acd31fda937 ./knowledge/04_standorteroffnung-und-umzug.json
|
||||
8dafc6d816dc06e9e384fca9d504021c2a3ab3b25f67f3556b93f98be955e5ed ./knowledge/05_dienstliches-smartphone.json
|
||||
47d689c3c7f3d5be8de0ee31e781664ed9e230dd6f9d10a287d3f5d462981f43 ./knowledge/05_digitalisierungsvorhaben.json
|
||||
4edd62233b8784ffc0e7271300d7ce96709bfa8bb73f41f945d6420ec989d838 ./knowledge/05_druckertreiber.json
|
||||
74bbb7b99036c7f9311fe912f73aea78d426fefc0ce37d841d907c0dd731e8b0 ./knowledge/05_fachanwendung-schnittstelle-und-datenaustausch.json
|
||||
a9a244145670b544f578a49c72f5ccc10bfcdf11b67080659f3c305a2d48d2b5 ./knowledge/05_hypervisor.json
|
||||
0bdd46fe6c5f13d562299b07ff9f2e18ba3a6a90f8d124c0934197245c59ba3e ./knowledge/05_remotezugriff-und-vpn.json
|
||||
9c124626a953b7c9812b576f9f22f5fd075a7b9ce591bd20b06b717f29ab87d7 ./knowledge/05_schuler-und-lehrkraftekonten.json
|
||||
2dcae54e57b9acd92c681be31a3a0f2386844322c4bdb1d5d01f85216ef6b703 ./knowledge/05_softwareinstallation-am-arbeitsplatz.json
|
||||
9178eb0fc81af7823503f87f6b63d9c57bef29490b264895f6ae2cb20cf8e075 ./knowledge/05_telekommunikationsvertrag.json
|
||||
fbc426c129b187cd0943f4924b08d127a9f8c2ef0977a1c05062d2b912f90e33 ./knowledge/05_virenschutz.json
|
||||
e9833109731fab66468e6fa1b5c22ded747b477edc0e852336691ba60cecc560 ./knowledge/05_vpn.json
|
||||
153150769b692cff7cf506978ff47aa929c01423fcf10abaaac48a22f8ae0793 ./knowledge/06_betriebssystem-am-arbeitsplatz.json
|
||||
d33e8db3bb4f32e30ede4d4cd604b90159bc9dbb66fe1f9baea441dda3168ce9 ./knowledge/06_dns-und-dhcp.json
|
||||
b3e9b7646617aedf3beb955dc94aaa99ce931bdf4a8749e118c2d5eb78dd45c9 ./knowledge/06_fachanwendung-bericht-und-auswertung.json
|
||||
77f0f12f2f216cb52c5d6d394eba485e690fd0e2c74bff8f38213b6310779108 ./knowledge/06_mobile-schulgerate.json
|
||||
e96d1285c9be2cd4a151fcbdb4745181fc2ab20e42dff97f54fc4e9ff9857a53 ./knowledge/06_scan-to-mail-und-scan-to-folder.json
|
||||
cadd71e26b643ce1fd7276fb72ef9d2e43e8ba57ddf01d44337fcefb79c9800a ./knowledge/06_sicherheitsupdate.json
|
||||
ef09af49f08090c9a82bbd9e94c735426a371f31002cb1d461e1f7f94da2c21b ./knowledge/06_videokonferenz.json
|
||||
e496efbe113881d38d97c20c199206e52ff9b936d7cdacfc186c585bb9aaa68c ./knowledge/06_virtuelle-maschinen.json
|
||||
71802acd7b2287d3edb968636a05b2651f6386faca3a820e47ac4476244e4874 ./knowledge/06_wartungs-und-supportvertrag.json
|
||||
ad1cd6d0728da647a4e819b4cd74b5a2302398a3a7becaed147e9e8942080c30 ./knowledge/07_angebot-und-wirtschaftlichkeitsprufung.json
|
||||
2924cfc43a83c7fb4856096f5005ba8bdbdf2179e3e94b0fa81fc36a09dcc06a ./knowledge/07_datensicherung.json
|
||||
46883e5655761c31bbe1a55a9e5d9cd3929b660ed44ae827ea54ef5c1f761e4e ./knowledge/07_fachanwendung-update-und-release.json
|
||||
8001bb3da012ad43f87f8606610e8144999b740ac247050a7f100c2ed17aa2a4 ./knowledge/07_firewall-freischaltung.json
|
||||
03d25806ed7a3098d4dd004e05d3fbcd81c338de7a7ff4a3d888705a96128541 ./knowledge/07_funktions-und-sammelpostfacher.json
|
||||
a87af380b0d3e3afe7e1c63b4a164ca6565259c7b5936c4227b11e7b7ef7cf8f ./knowledge/07_geratewechsel-und-umzug.json
|
||||
9b5723928527fd21fba2be5f5fa51cba6722563465f74e498478b1b2e334c955 ./knowledge/07_mobile-device-management-fur-schulen.json
|
||||
48f71d04c5e20d9c2aa2976569ac9912da2fb4af3f949fbc896915d2de701c24 ./knowledge/07_projektunterstutzung.json
|
||||
ae521cc69bd2a957189486a85bc4a9ad16bf960d5d91ca3e40757ba6b1304515 ./knowledge/07_storage.json
|
||||
2058ccf0315975a480de2b1dcdb4a480445144abe330855ba04a8a9122849ce2 ./knowledge/07_telefonkonferenz-und-softphone.json
|
||||
748b64297c5c59f20a78f0405bf798b1462934a1f05a411634133225c1c56b3c ./knowledge/07_verbrauchsmaterial.json
|
||||
7fe889fcff1c0745f1e6dc1f01f84a7580eb8b75a667ed0c60e0c529f24a0b6b ./knowledge/08_datenbanken-plattformbetrieb.json
|
||||
59e1e03acd3b87b41132a047acf14afb190e5752066c6a3c2f39831d132ca30c ./knowledge/08_datenwiederherstellung.json
|
||||
7e9fa4d0803f8c7075cfeb6db447b63bf99119dae2c2bb232bc82037c5af6943 ./knowledge/08_fachanwendung-neue-anforderung.json
|
||||
f17afbc9c495993c1dba9ef99b70ef448c9b863202e5875772d281d7624358ab ./knowledge/08_hardware-neubeschaffung.json
|
||||
b2a11fdacec61937d4d5efa717c31b71b991f46e935341de2e6317292253b5b8 ./knowledge/08_netzwerksegment-und-vlan.json
|
||||
1aebfa9a90184e3006709550e55bf538bc7d1a5fcd3bf7abb3902878db8ea13f ./knowledge/08_neues-drucksystem.json
|
||||
b1393289055a6afa0f08ac1705fae9b12a1f74eb6d91d19d6c35045575a2df72 ./knowledge/08_padagogische-lernplattformen.json
|
||||
ee49a806543115536081ae2cda509400e095253f9f4145b2e4f7bb58984127c8 ./knowledge/08_rechnung-und-kostenstelle.json
|
||||
3e0ea96e6eb9d1c78e74c34fcb07fd10147a00cdbd099cc2b6fbf2f7d0bc0967 ./knowledge/08_telekommunikationsbeschaffung.json
|
||||
0fd6d1281879b334b2f5f2afc8b40bb4f2ce2e3484f92362ad682a9b522f19c4 ./knowledge/09_container-und-docker.json
|
||||
4c50cad1c6116b42b1149aaeb24a117eb97e6a0ab7df2590dfe1ccb797b567a8 ./knowledge/09_fachanwendung-einfuhrung-einer-anwendung.json
|
||||
91b7be1bc88abd9631802a12eca2cb08a4bfb6f5890929512253deae443f81c7 ./knowledge/09_inventarisierung.json
|
||||
d4df65a13c1554e630351ebd8b4c0f6a088893c20fd894165010417ddef6d4fb ./knowledge/09_protokollierung-und-auswertung.json
|
||||
267d66313420fef443e9645b696e9fe6f7aba60af4e3b26f0f6b2df06f36c979 ./knowledge/09_prufungs-und-klausursysteme.json
|
||||
27e88b61055a44007777bd4318ad19b3e5b6f017974cb75fca968ef928206a8e ./knowledge/09_ruckgabe-und-aussonderung.json
|
||||
eb721fd2e91e5198cca4862f980c6692846405fe43107e49f2d85dfd080a8a52 ./knowledge/10_haushalts-und-budgetplanung.json
|
||||
523b27e6fdbae8de9c680fffb538e23082463028b5f5329a2cd7610358467f4a ./knowledge/10_kubernetes.json
|
||||
1e43fcd4bf900b2118d7977425fc7c55ac426eade471a8656841313e390eec62 ./knowledge/10_microsoft-word.json
|
||||
8b708ca4da157dd73a77ae051716efce330662fcff64a073fc625d68eb034935 ./knowledge/10_schulverwaltungsanwendungen.json
|
||||
813c045cacc6a0e3cdbceea69436d65cb8ac5b6009b060039488eefdfcc0007d ./knowledge/11_devops-und-automatisierung.json
|
||||
213d466c3e0a3f864268bc1b4ddcdc117f7b8dbcdf5e8a50032913de706a606a ./knowledge/11_microsoft-excel.json
|
||||
a615dc9c1ee5754c2ffa8eae113311cd857dd1422104eced8c41ffc42eb716de ./knowledge/12_microsoft-powerpoint.json
|
||||
e3a2d2154b2c9adde57874aa0c515b99c2c4fa8171da188162de421f309ab7b6 ./knowledge/12_monitoring.json
|
||||
2231a0a90369fc5208f721d91bbda702c9f58aea7f1bcccd0becf5f79a89fb8c ./knowledge/13_outlook-client.json
|
||||
cb3cde795233c0d4842dc7451c5855d1c071e459efbde3be0cabac32a837ba1b ./knowledge/14_office-vorlagen.json
|
||||
9b345483a41489babc35aca19a147c343a895eae40702bbd86075eb86538bb5d ./knowledge/15_office-add-ins-und-makros.json
|
||||
7f1d67faf4a6cea0c41c84d7b275d8a8979b19420b52db4925d8e2cd71ead3e0 ./knowledge/16_office-aktivierung-und-lizenzierung.json
|
||||
f1eab883370e0a40ef52a6b6d785a510d8ed48a19d25e0a2bc95f4f2cc8e329e ./knowledge/17_serienbriefe-und-dokumentfunktionen.json
|
||||
5a0b3d5d5bc712e30a67a4de3432f69070f7e43dd99931f675e72c213006b363 ./knowledge/example-vpn.json
|
||||
5345a8f54fb5f1f80196eb3662332b39e9d2869e2c5dbb56fadad846eaf15293 ./mega-project.json
|
||||
8531264c1fa1fb0e5067701dc874729db510fc870726c73457eabfb0d61883f4 ./patches/SHA256SUMS
|
||||
47a6fa2c79bbba0c04af86dfa65d58529f492c698060fe586456c22a4eadb877 ./patches/glpi-agent-mega.diff
|
||||
9b411c90d96a86c80f088ee4637046eeefaf31c62059d11aa1a999d6eb08b5b4 ./patches/glpi-knowledge-mega.diff
|
||||
f0491de3cb6201f98ca6be8e865237adbba4772471f7fc7165d030e0c045fdb6 ./patches/neuroforge-mega.diff
|
||||
576e75ca9191bbef7f136abde90c10a1c6bf2e36450a421fd3796e988bd2af00 ./patches/v1.1.0-to-v1.2.0.diff
|
||||
7a5e0ae1d09b268d3ac62a51f92bfedf6771be26b909605a347f26d47d6fa8cb ./patches/v1.2.0-to-v1.3.0.diff
|
||||
163a8a990aacd986bacb385494c2b2062ac10a9a8f0a456d19a6d1746c2fc500 ./patches/v1.3.0-to-v1.4.0.diff
|
||||
564817f8edabde0c4e4a1a427a3aa5418aae7bf12e9463044a7e6e0f13973657 ./platform/neuroforge/.env.example
|
||||
39319b6f2058e4c8d6656a9cf01675374f81a04075b956b093a2befb5e05ada4 ./platform/neuroforge/.gitignore
|
||||
189486a885c7fb78e0eb878d93cda0c70ca6d7ff9bfdfb3f5f32487cf03a9688 ./platform/neuroforge/BENCHMARK-v0.5.0.md
|
||||
b9cfe0119f316b8143ebd33e9f66a8da36493a2c6c17acf2519ecba023223424 ./platform/neuroforge/BENCHMARK-v0.5.1.md
|
||||
fc3aaadc0675ebb6dfeb42d9612a68c1905ac575e2c33299ca6e1522d8bdbeb9 ./platform/neuroforge/CHANGELOG-v0.7.0.md
|
||||
9a1923b4c01a02d18b982aab3579ee7a976a95a6997dcc60647ae4283dd1e863 ./platform/neuroforge/CHANGELOG.md
|
||||
0cf6f4a2f51b3f9ef1d985375476de68ec96338f85f8070c555807cd42e0abc3 ./platform/neuroforge/Dockerfile
|
||||
9a9fd7708b61027e3677044ab1cbf7177119eac796df4d8786d39011da28729f ./platform/neuroforge/IMPLEMENTATION-NOTES-v0.6.0-dev.md
|
||||
3146656e702607501cb348c77dadff608f9c152c4104647230848004e2692251 ./platform/neuroforge/MIGRATION-SQAR-VECTOR-JOURNAL.md
|
||||
ee7f52ec20dcce87b751637229fe26c65d5cb0a926ac32915f46bf1b5eedad3d ./platform/neuroforge/MIGRATION-v0.2-to-v0.3.md
|
||||
3095ca2e4512744ccfb2c3c71d80dfdbd42fe24e556a374061a76b80cbc33213 ./platform/neuroforge/MIGRATION-v0.3-to-v0.4.md
|
||||
680eb77c8d645c3a2afa4e92e3062d1dadaa079425ed8c3f0d73393931354b59 ./platform/neuroforge/MIGRATION-v0.4-to-v0.5.md
|
||||
0a21148446a057c773700fcfb026230fa771e970482bd6bdebb9cb9a3c11f4d9 ./platform/neuroforge/MIGRATION-v0.5.0-to-v0.5.1.md
|
||||
59d223ec40991ef152f32b8bec26fa283bfa6318942e33a1a2169a85b361d9da ./platform/neuroforge/MIGRATION-v0.6-to-v0.7.md
|
||||
4fc6e6f43fa70f4fa8a085225ecdc7ecd460bbcebca01dde70fed48a4c933c68 ./platform/neuroforge/MIGRATION-v0.7.2-to-v0.7.3.md
|
||||
02bc0ac5316d063304b17bc51780f2fe55fbdfc44abbb151bac2397a642174ba ./platform/neuroforge/MIGRATION-v0.7.3-to-v0.8.0.md
|
||||
9dc61428742d401d226d2eb8a74577b881309e67bb5c609d01b5152a18cb0bb1 ./platform/neuroforge/MIGRATION-v0.8.0-to-v0.8.1.md
|
||||
7bbec66a7539fa9f65d8448e2c59c2f76797679f24d3b96691dc8c68e81d560f ./platform/neuroforge/MIGRATION-v0.8.1-to-v0.8.2.md
|
||||
ffc6d8b40c9f77c7de1bd1d22c2161b5687b1a484fe6a8fcbe15ade1d2e5c9d3 ./platform/neuroforge/PRODUCTION.md
|
||||
9f53f3a2d7212d47fed2cd88bf06bbbe2e1d37a3a2181afdb922148de4ab3eed ./platform/neuroforge/README.md
|
||||
38bdb771c428636d18cb4640653ff7028715d5bfc5ca06d5ebc59f8ddcd095b2 ./platform/neuroforge/VALIDATION-v0.7.0.txt
|
||||
73b7f0b287ae15f230a7ad2996ec305e787e7a8b096f7654fc69cf4daee12673 ./platform/neuroforge/VALIDATION-v0.7.3.txt
|
||||
c3d34504b1b8a4ef73382df061c7b272a55c2a3a7a720435c6050254da3f22e0 ./platform/neuroforge/VALIDATION-v0.8.0.txt
|
||||
0371dc02e4ac40b3197104f0aea41fb1b7be9b60caad4fc203eae1de1ac8191a ./platform/neuroforge/VALIDATION-v0.8.1.txt
|
||||
b4896439112f9ca0f0a43d55d43cb3a2c4c802c568b65a96d04a3ca9d841c358 ./platform/neuroforge/VALIDATION-v0.8.2.txt
|
||||
ceb9b2c03afb769df3b1e518520c4e1798e9a3313a1c5ffffcb054fef5d6d6fb ./platform/neuroforge/VERSION
|
||||
0c5308f5a3d37ac23dce162fd5fab78ce598e41671db5dd50c9c4ae7f215d49f ./platform/neuroforge/cmd/bench/main.go
|
||||
f28372e15f8e3a5a2403f50e2ddc410c0dbe37a236e74720b7a58dcc4560fc91 ./platform/neuroforge/cmd/server/main.go
|
||||
1043f1658a672f9cdfa3f68ca3d19c1b81ca5d69f240d01924ddf393613c7f75 ./platform/neuroforge/cmd/worker/main.go
|
||||
e3dacdaec3c629dd432f24218a50fa4de5e1698ac7f27e84b14f776b50beeb83 ./platform/neuroforge/deploy/learning-policy.example.json
|
||||
3765a5faea1faeb72aad7878ff0159a56fa1b0ca1fc94a348a8c599e460b61dd ./platform/neuroforge/deploy/model-routing.example.json
|
||||
dcb7f80239cf955941ede9bcdc3bda8f39d81db5e5b0e0962b373036b40a0df5 ./platform/neuroforge/deploy/neuroforge.service.example
|
||||
72443642fd4c498554ad6e46db2a096c97530fba1ba20b842a478345fe54c46c ./platform/neuroforge/deploy/prometheus-alerts.yml
|
||||
c30e5b2fd39e72894db22499259b6f97d225c5929a7f3472277853a348cab9be ./platform/neuroforge/deploy/prometheus.yml.example
|
||||
dbbaa7fd4430b9cdb5302144b6d40f7ac4ab9f73e81da4ddb51e788dd373d95e ./platform/neuroforge/deploy/searxng/settings.yml.example
|
||||
f94bc850fc5cc5004f71b1dd591a75b9f9488b7f9fb39d643d904c9d67b7380b ./platform/neuroforge/docker-compose.yml
|
||||
fc993dc95fa49802ecb62994e4140dff18a27438e8a4f3c6352229c79b041710 ./platform/neuroforge/go.mod
|
||||
e109864c7beed6ef1ae7e6ce968b82553ca13138e829926ab5256b6b2aabe603 ./platform/neuroforge/internal/brain/brain.go
|
||||
976288422c0c4116d8c98af8a9b164ac670f9caf03eddc2d5e2e48747456d3b4 ./platform/neuroforge/internal/brain/consolidation_test.go
|
||||
359955653c647125559afd6dc3ebe69aa5ca19ff7e825ce801b7bc24e5fbcfcb ./platform/neuroforge/internal/brain/policy.go
|
||||
27e87af473d2d71ba94ffb9bf7a70934776f8c23ce45496ca0998ad3000fc156 ./platform/neuroforge/internal/brain/policy_test.go
|
||||
0a3c8f7d149e814e091595982dbaa69467f6bf11eec631471d133a9b21585ae4 ./platform/neuroforge/internal/brain/research_trace.go
|
||||
9cc8633d094d1e6563a787a2a51c2c959634be03449dca042117fcfff720f296 ./platform/neuroforge/internal/brain/v3.go
|
||||
3ae13251512ecad1423a33ce09889f961130fefaed9342170b2d5cc6b3b51893 ./platform/neuroforge/internal/brain/v3_test.go
|
||||
4bc58463b659bd7e51db4c7dbeba053de90fcb41f392a7d6e62a8cd84ddaa092 ./platform/neuroforge/internal/brain/v4.go
|
||||
a9619d9571f6ab6363b36af9fdf1690f9f88e9333eb6f2773ae68580b19666d8 ./platform/neuroforge/internal/brain/v4_cluster_test.go
|
||||
76319080d3faaf856e9fe5e1aac5e06be433d2f06cc6b152bac5f05dcc943fff ./platform/neuroforge/internal/brain/v5.go
|
||||
816b725594ea5f6938999799394eaea9dd619addaeec5447d8e7707da4c28c69 ./platform/neuroforge/internal/brain/v5_cluster_test.go
|
||||
cd8f1281e25ce42ae8918abbed16d4bf57ada9c3a3cc1212edd28f77ccc9328f ./platform/neuroforge/internal/brain/v6.go
|
||||
edfedb67b1f55b2fa8a4a4d29b809b53083b36752e8dc087fa8603f4ec26154e ./platform/neuroforge/internal/brain/v8.go
|
||||
3f01ce1b13b63489dcff2e0d63862ce27d6eda5609e0a2432f1d092de377cfe0 ./platform/neuroforge/internal/brain/v8_test.go
|
||||
1160f871882d6510f9521b47a9064851c95f63e52d170e82c34b5766c8c48250 ./platform/neuroforge/internal/core/types.go
|
||||
65a8b8196343e7cfd9444ca314da4a83c81bc046d9478b8b93217d9cc68ba562 ./platform/neuroforge/internal/cost/cost.go
|
||||
b9bb2934e01ed2bfb6b16e4139e10e51f1387112eb8654f7f692779a2fd2d273 ./platform/neuroforge/internal/cost/cost_test.go
|
||||
fb66ce4ab760b979eacd4f7f17dedc41916f93c53ba582be572d250f99654695 ./platform/neuroforge/internal/httpapi/admin_app_auth_test.go
|
||||
4071eb134f63f19c95bba709c505e3748fcb7613264b6876350f49e6b693d61b ./platform/neuroforge/internal/httpapi/httpapi.go
|
||||
79fce5bfbeb5d39e71047b2244fcac9c26595e20ca48f47d068cae83bbf29a18 ./platform/neuroforge/internal/httpapi/index.html
|
||||
20f4a6cc30d5ce84ceed4fbdfc9f5c57ab5f82274e0c54464817d571e0e881b0 ./platform/neuroforge/internal/httpapi/integration.go
|
||||
7f6e4767dfcb948570e05baadca6917f27a406fe57ef82eeb63e3b3979ec94b6 ./platform/neuroforge/internal/httpapi/integration_api_test.go
|
||||
f8cfcc7a2bc781394231c25e36e75c41563f5250a1387e5687880d2591efd93b ./platform/neuroforge/internal/httpapi/integration_graph.go
|
||||
532529043062ebc5a919abc58b68ed2c578dc7bd0105cbcdfce3f432ce776293 ./platform/neuroforge/internal/httpapi/integration_graph_test.go
|
||||
b1a9df15a4d0263dd90b47672866f3e4e308498ae99002ba63ce128b759c8ad9 ./platform/neuroforge/internal/httpapi/knowledge.go
|
||||
409dd8d7c5ca93cc82ce2b7bf17a12655c97dd27ad9767aa40619502830a0ab2 ./platform/neuroforge/internal/httpapi/knowledge_integration_test.go
|
||||
9935c98831e586aefc9d1439ba16cad836103546b1343de646a61c17648d8cef ./platform/neuroforge/internal/httpapi/knowledge_policy_test.go
|
||||
cf8d0808d3f37de187c4acb5e50e094f8b43d2b7e731eecf99368ab8a1325d41 ./platform/neuroforge/internal/httpapi/metrics.go
|
||||
c40412c77dd8635bbd4bf9c6d7eb11b0d7902aee896bdd1ee99e5cdfb72c7453 ./platform/neuroforge/internal/httpapi/metrics_test.go
|
||||
83033a18a319ffb162c7cdefb2efe108a47dba81095ac34662349e232f8c22da ./platform/neuroforge/internal/httpapi/model_routing_test.go
|
||||
38a9388b6907975aec933697ad87ddeb9e7016a279523f2526db3810df70b006 ./platform/neuroforge/internal/httpapi/outcomes.go
|
||||
093f6c37c1021cb252501d2aa9c0f42a75444ed69748b455847623da122947b1 ./platform/neuroforge/internal/httpapi/outcomes_test.go
|
||||
b3b1f5cfd6b0ec04341978898d72856af03a95b8922daf9864caeb27e37f1925 ./platform/neuroforge/internal/httpapi/research_live.go
|
||||
b37f7ec3be867666999a9ec314139dd1bc4c74efb53edfa224b4fe8119858aac ./platform/neuroforge/internal/httpapi/research_live_test.go
|
||||
8a2251d4f4ae8114ac3f5e98fe2e1d6ce24e7817adcfbfc1f383d770e6ce139c ./platform/neuroforge/internal/httpapi/v3.go
|
||||
b1587e066b56ef72f17162583698614d31c413e2ac7e75359b731c2e882a50ee ./platform/neuroforge/internal/httpapi/v4.go
|
||||
1ef5cacb0652f2a6301c57f8987dd848fbe590abb73cab44899d9152ccce45d0 ./platform/neuroforge/internal/httpapi/v5.go
|
||||
1d534726d7a75f21f7ad28a959f73a3402c021f7f4a1b554f0600cf3abf669d1 ./platform/neuroforge/internal/httpapi/v6.go
|
||||
fdf937aae569dd48d09da63085fa2656299a3ab2f55c7fc7f718c46df39a2683 ./platform/neuroforge/internal/httpapi/v8.go
|
||||
0c8c389b085e4546c3269b1bf0c539414f3603522ddfd0665261a6448f31b514 ./platform/neuroforge/internal/httpapi/v8_1_test.go
|
||||
889b82a7f90be0590d0087ccac06aad330710c19f31c43b12c28480a94659be5 ./platform/neuroforge/internal/httpapi/v8_test.go
|
||||
60fd100c9057c14d78f91d636f7f23aaf2767088c46b7670b4266ce22cbb5ae1 ./platform/neuroforge/internal/ingest/extract.go
|
||||
7576df6ad6f8b692f14db739958fabe583cc5bb547c6068739fd47c45910d2ce ./platform/neuroforge/internal/ingest/extract_test.go
|
||||
3fa7c62712de215f219153c6ec842dfb6da073de3dc52804a976866c148debe0 ./platform/neuroforge/internal/provider/provider.go
|
||||
66649b5f82e1985b895d9f416545848d7bf29ddbb1a5321c442a7eea3d5620f5 ./platform/neuroforge/internal/provider/routing_test.go
|
||||
baace266205a584a53463af76038e97771f088a38e42fe333bb548e43856e719 ./platform/neuroforge/internal/provider/runtime_test.go
|
||||
024d4983420ac32fb0e29ff1cf145c45756af28076e937b07c272fcec28749dc ./platform/neuroforge/internal/research/searxng.go
|
||||
e890897c662b070997c3b18134bafbee5bf9b3fa5220045ac09dc6e3dfd4ac41 ./platform/neuroforge/internal/research/searxng_test.go
|
||||
49f89a674ab1a4387c67efd6f22406f3ab9067befc75114fe12c4801dfd1f005 ./platform/neuroforge/internal/store/batch.go
|
||||
8e7a029a904ca1c22821c5e4871c72958f0d2645786871d75f3e00c186b00778 ./platform/neuroforge/internal/store/cluster.go
|
||||
6637e541f61a58f624baca31d972095ea01a95491ddb30492d9ac055740213c5 ./platform/neuroforge/internal/store/diskann.go
|
||||
1858ed8045b16282de815a6668ff6027c7a3a3795e38659c753c504d0f2a8383 ./platform/neuroforge/internal/store/diskann_test.go
|
||||
d49925fda3cbe3ceeffde3369073bce5a5bc67a23defb6827e27cd4a7f4c59f5 ./platform/neuroforge/internal/store/index_segments.go
|
||||
478efaeb260cb5e970af8b3bb99f232ef846f54c6e4ff9deb5499df6e008e1c1 ./platform/neuroforge/internal/store/index_segments_test.go
|
||||
6c3e185cd9679789c10ce1b1b766045fbafa5282446efb49bfc040eb7809b8c6 ./platform/neuroforge/internal/store/knowledge.go
|
||||
c9cc70e43cea30c70029fd6767308f4b2a7e7d4ba8fac749edff1f838bfb9079 ./platform/neuroforge/internal/store/knowledge_test.go
|
||||
43de0f541fb47633b02b25686544d44887c17b47e8d01cb23f8e57567cebdcd7 ./platform/neuroforge/internal/store/mmap_linux.go
|
||||
9ce033d691157037fc6df719b5ecd8fb29d6d881d1862e2d50dc0c6c573b5f66 ./platform/neuroforge/internal/store/mmap_linux_test.go
|
||||
ef6135a9039fb45361e57107d3968272b4b365ac833e9e2e58b0875566bf5a07 ./platform/neuroforge/internal/store/mmap_other.go
|
||||
fe98dca9f919cb52140a916de08e76b88bd0d08b6b83fc8b4e5220411998b0fc ./platform/neuroforge/internal/store/observability.go
|
||||
66d612efe2462d76d79cc51b8b6835b5990d4a79a2dc036c26b040554357ae29 ./platform/neuroforge/internal/store/pagecache.go
|
||||
5df97ac71adcea7627756a52d295d682900d3b812a977dbe9a4911e4c4118809 ./platform/neuroforge/internal/store/raftlog.go
|
||||
fd6769bdcf1f7d22ced9ea426fd4dbc52b50b5483b4be42ac3b6adf637c926ab ./platform/neuroforge/internal/store/raftstate.go
|
||||
f8d1a8c913a10ab2a658416bee7e94c2a08d5805e7329e459c3fac3055f57e19 ./platform/neuroforge/internal/store/research_runs.go
|
||||
6a40b93c094b69af94e608d0dab777551d58091d07e1c48a8b6d1c5d77557fa5 ./platform/neuroforge/internal/store/segment.go
|
||||
ebd58daf6dab70d87c7591903355d65716b323157c39454d8c34a4d9dd0733dc ./platform/neuroforge/internal/store/segment_test.go
|
||||
18f4f033ec9c65cef88a235905bfcb69d89ff3d0a2c27e70d2aa3c8b78bea553 ./platform/neuroforge/internal/store/source_index.go
|
||||
4d41586c15bfdd13139e19bfa102613f18ddc6120e4214a1f45dd9e2eaa195af ./platform/neuroforge/internal/store/sources.go
|
||||
0ff464ef7fab01324d77ee4e406a8c15451b3333b75d4afa444be3c3c94f016b ./platform/neuroforge/internal/store/sources_test.go
|
||||
61cd82b106e74f2aa0a7591d757a0872491a635dc1fccc78c66d41c052d0c9d2 ./platform/neuroforge/internal/store/sqar_vector.go
|
||||
ae157a764f4970c6d8c5935b6370f682de79cee6c751e476b936aaa05dbb59f7 ./platform/neuroforge/internal/store/store.go
|
||||
f86b648e8b4845ab83e672ae3fcfb0bcb0dc1bf891abf4bd30d380304f0b259a ./platform/neuroforge/internal/store/tiering.go
|
||||
2fac412008f68b4fe98b2a433a0bd669ba108ce4c894c8bc81151664a5c318e6 ./platform/neuroforge/internal/store/v3.go
|
||||
091e4c9cacfc76786a76f6afc4eb2b697e5a641e611475b6dab97e99371360ea ./platform/neuroforge/internal/store/v3_test.go
|
||||
7f0bca5419a895258b7921e940c3fd69cce04dedcb0b9d8f1127cd24b9c9e201 ./platform/neuroforge/internal/store/v5_test.go
|
||||
b3a0115907719a8a7aa9e6b244eec55be71a2535ba20db65907987d5fb78dc77 ./platform/neuroforge/internal/store/vector_journal.go
|
||||
bcc12eb91682f3c0a626f5baeea64cb3809e56f087b9f1178a6c2546f5e301b3 ./platform/neuroforge/internal/store/vector_journal_test.go
|
||||
ee2e72f00281f3b30e069abadbad2140fc841769aea27fa40f1c9f07ec877451 ./platform/neuroforge/internal/store/wal.go
|
||||
7f0d5667c4a0e5f87f5ae86a6eb246a7a448891ccdaa3501ec81933b0430794c ./platform/neuroforge/internal/vector/hnsw.go
|
||||
4bfd79da525c6d7901db01bc09c823608b641970e40aff9fdaac33da15d4432f ./platform/neuroforge/internal/vector/hnsw_test.go
|
||||
6eac7fabc0f8a3cab53c758502895576fae158e3d672f8c87ad58588523919c2 ./platform/neuroforge/internal/vector/pq.go
|
||||
275b0dd3b8cc3589541e3cfb52a2f1a372e40446e2e0c9c902388fa832e4f0dd ./platform/neuroforge/internal/vector/pq_test.go
|
||||
c854f70f4141344dc2c6fbec4419afe5dfe25fd1bc2da11e41781730a21c8834 ./platform/neuroforge/internal/vector/recall_test.go
|
||||
32f55e82419e4b043d15682c82ade1c4bc9694bfa372f925c131c2611f48d744 ./platform/neuroforge/internal/vector/snapshot_test.go
|
||||
c5463c525f5ea703ea1f6df74cabc30f937f3846b1f75f237adeee2700baa977 ./platform/neuroforge/internal/vector/vector.go
|
||||
276cb34ddd9f87abdac17be110e2bf15135ab83ba66bf91663d59d61fbd81125 ./platform/neuroforge/neuroforge-v0.7.3-rtx4090-example.json
|
||||
250f3b7736f0adba4490dfe7104da2b14e3804f616a3f4cb9119d8a567ee12c7 ./platform/neuroforge/openapi.yaml
|
||||
6f1d21b7aea3265a088256801aa37a00931157523d8bd834aa4f473e99511f04 ./scripts/codebase-memory-ui.sh
|
||||
5abbc6b60bca94fcb880abebae19c85c6a220c9eabb9865928b23ae86246705b ./scripts/export-obsidian.sh
|
||||
1295b1364f93ae4da70969716c2a99b54c248f5eb022363d15b2fbd8d6f1eaae ./scripts/generate-secrets.sh
|
||||
fe35fa5db6dabf06e6266e0de4c372604160180366d4c0a8042c7ee54b7c6dcd ./scripts/propose-draft.sh
|
||||
1744be0629e845c8d94dc2a06e91ca2cc9ce5928db00300b7fb894445aeda9ff ./scripts/quality-replay.py
|
||||
0835b14909b5d001ef93a1678be968a87a525b6836c2c6fe8885a8bf889b4718 ./scripts/research-up.sh
|
||||
457c349025a9508cc67154d571533dcd1ee77b5e0b89927de0846f0355e6a7e8 ./scripts/status.sh
|
||||
2970d5f5049323b14a3f3983c2f4eb5392d745b4fea34742e3cf56e52d740f17 ./scripts/validate.sh
|
||||
17d7149607bf40ccc6f64a3c4cf3e4023a8325675918c18df0be309ea9731a36 ./services/agent/.dockerignore
|
||||
b0851a029d0f5634a5237c80eb6156beef46b9d71284c6616677dbf1c4e85421 ./services/agent/.env.example
|
||||
236713daf159ff0a8067e80a442ae3404fa28a5251ae6f24782f263bcfc17005 ./services/agent/.gitea/workflows/registry.yml
|
||||
9ee46f2156ee805c4ff40e418b004ead5cfbc3a9b6df3968a1b772fe1b313cdc ./services/agent/.gitignore
|
||||
4c893d6049499eb70ca755a333e97f0a726dd212e4ded4a9d4acabf0a25d9bd8 ./services/agent/BETRIEBSANLEITUNG_GLPI_AI_AGENT.md
|
||||
9339ce57dfc58d4731ea02c8d0ab9f2835e5966a29c071062fc6a2effd17da2c ./services/agent/BETRIEBSANLEITUNG_GLPI_AI_AGENT_OLLAMA_POOL.md
|
||||
4813b4c07ab63a2931142ebc0b028b9c26a73fbbade7294a1fd225365e9a2b85 ./services/agent/Dockerfile
|
||||
2ec93f81187ebf92665a6a15a6672b2f7dfce23bfea1546f2d4188f49de5dce0 ./services/agent/EMERGENCY-HOTFIX-TICKETVERARBEITUNG.md
|
||||
2bce6e10780004bc12042a416b8a05b417130db2d730d01a95d9d86a564e01cd ./services/agent/ESCALATION.md
|
||||
bc344ff4486bd38356fab0d2da46590d9f738ece0f712d043597012f215bae49 ./services/agent/HOTFIX-GLPI-KB-AUTO-REPLY.md
|
||||
3f51b802804e9004d17cb74a7e0b8fc668537e75bc95e7344923e77d5f05f13b ./services/agent/HOTFIX-GLPI-KB-SIMPLE-AUTO-REPLY.md
|
||||
65408599c64a4364f41fe0876f6531b861c352eaee4afabfeae52a5a72f28f6b ./services/agent/HOTFIX-GLPI-KB-UNCATEGORIZED-AUTO-REPLY.md
|
||||
dacf2060df228b5c137fb5ac5c5f7377226f937aadaae4b01b662fc54abea11e ./services/agent/HOTFIX-POLL-DIAGNOSE.md
|
||||
6b2188c579db7c47cf7be54328f2671a8fe7aa17f21556483f751fe2457db1c5 ./services/agent/HOTFIX-PRIORITAET.md
|
||||
30a29a59cf3c409bf33e3adc96789b9281a19fa86f961c727dcdfab07ff6a327 ./services/agent/HOTFIX-TRIAGE-KONSISTENZ.md
|
||||
c0e13c6703cf3feda57a9eaaa718e501280fbb526f466040eb685a27700b5797 ./services/agent/IMPLEMENTATION.md
|
||||
1126322e2cc8d165adc4c792eeb195717de2bcc7b39be1ce77959d78e87ef685 ./services/agent/LICENSE
|
||||
0ed7ee0e4846be09994dd5f3b49ffdca6b59177b9018b1947388949f0dd49a14 ./services/agent/Makefile
|
||||
80b20d2c2c78badc0dcc47e485e46bfd647877445c35faf261fb677ad58e8359 ./services/agent/OLLAMA-POOL.md
|
||||
80b20d2c2c78badc0dcc47e485e46bfd647877445c35faf261fb677ad58e8359 ./services/agent/OLLAMA_POOL_BETRIEB.md
|
||||
a7a3f969150005ef062e7a77cf852371931bc2fa5ca4be01cb0e9eb07d35335c ./services/agent/README.md
|
||||
aeac85d1adc92a8b34ffa5a95f7f19c2c6fb94742a7359a7fd452529d59ad87b ./services/agent/SECURITY.md
|
||||
edb92cdf2d1863df53ea8045657f64e415f206d503c8da3b45ea96b7f7f0960d ./services/agent/UPGRADE.md
|
||||
8cce9f5a3872854605e163579ec07b94d07bca39cf507211eef155e27dfc7f4c ./services/agent/cmd/agent/main.go
|
||||
98be0fd63dd4fde52342c5385da113c926ac29195aedb657c0ca0f98e1593fff ./services/agent/compose_local.yml
|
||||
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ./services/agent/data/.gitkeep
|
||||
b74f901cca99eae4bed1b168f1f077a28bf1134a71c867d263c7834f6d896684 ./services/agent/deploy/glpi-ai-agent.service
|
||||
e8327a246f048c70f3b2b426f5f942bf16c41e49ac385d49c296eb994dc0cfd8 ./services/agent/docker-compose.registry.yml
|
||||
29134dbd1bb19a0fd87b242a184b989a70f3a4c784254d86e2a0f5fbdaaa0497 ./services/agent/docker-compose.yml
|
||||
a0105475dc054977223fac36618b8cd8137c55be1d11fddcd24e9a4d3074c170 ./services/agent/glpi-ai-agent-neural-brain.patch
|
||||
8a7805be0da45875d45a5e5b26780fe659f671edd2d6b72c0d7da9606bf15755 ./services/agent/go.mod
|
||||
e34ac0033c53effcf654689641a15a92deae1a987e3d92e9921b7b030efab3d0 ./services/agent/internal/agent/agent.go
|
||||
789e55accdbfbb99ef8179f5680aa340e67a055c71686533302558389dabfb8a ./services/agent/internal/agent/agent_test.go
|
||||
a8eedc80f57b174fbad3850d787346f7b370236b4c2eef67905ef6b60a1ced64 ./services/agent/internal/agent/analysis_runs.go
|
||||
46a8dfe5e80569aac48f9a098acb2c1089ea4ab9521ed6c92f53b020e0c76ccd ./services/agent/internal/agent/analysis_runs_test.go
|
||||
05ce267b4827cc5b89332b72fa6ecbcd80bd3796b5143bc40398b932f5f45867 ./services/agent/internal/agent/candidates_test.go
|
||||
76fd850dc9bedf73db32e9b2d49edfb04624709507e0b67fea1f88730e87720c ./services/agent/internal/agent/category_mapping_audit_test.go
|
||||
d8aab6fa743e6ed8246ac6e20f993fc3642c635a1cb349c4fb6579b863a2bd63 ./services/agent/internal/agent/escalation.go
|
||||
c4bf8fcb4ba6eb7962ec55cacff806a8a99561d134ab5238abd012763a2f9c74 ./services/agent/internal/agent/escalation_actions.go
|
||||
471cf47af1220f50fce99ea41c59adf257cd29417ce23fafb4728f0037d33842 ./services/agent/internal/agent/escalation_actions_test.go
|
||||
7a65f676bacd5a7b879862e4c1a157632f541a570a71bd8b57864e603bb4cd60 ./services/agent/internal/agent/outcome_learning_test.go
|
||||
5175e4fa9c394c0a8df94c29c69c5f896b3227a7d8de67d214aea4634ba0fad8 ./services/agent/internal/agent/policy.go
|
||||
5434e1c4dc61eee33d6dceaff69156a5b9ab4a9fbb555cd056c8cf0444601606 ./services/agent/internal/agent/policy_test.go
|
||||
6b70a29176602e499935a85ac8831dbe36bf75fddb130a56cda376e124ecb7db ./services/agent/internal/agent/status_reply.go
|
||||
6f95bd3c85b42f1b2b098f05828c0b9e3dbb2e57f1f89b3dc4d1806453e0c4ce ./services/agent/internal/agent/status_reply_test.go
|
||||
9057a742c3fe8e0fa76efd6dd9bcdf9fcdf7ab2c37ed823822808946e8649566 ./services/agent/internal/brainactivity/client.go
|
||||
1b0ac9efe4cc3b0d98cdb943379974e96be0fce07c670c542cad042aa04abe06 ./services/agent/internal/config/config.go
|
||||
c5f23c579a35d25e9f319588093f08a04951a759843c0f8f6574adfe500facaa ./services/agent/internal/config/config_test.go
|
||||
6fe7335b0e66b60d5f6f27583b1ac11a0948719cfa657d51e77de0b337aab5d5 ./services/agent/internal/contextdata/collector.go
|
||||
12e9eb6fd567b5d4173a63fa2b89be913b6d1c97e17b69048f46d119e88dce26 ./services/agent/internal/contextdata/collector_test.go
|
||||
5eee0e130a9cb8452a07e9f5d4c76048ad2eb62aa411ea61c9dc6066fadff934 ./services/agent/internal/glpi/client.go
|
||||
6499b2e19547d7d874dbaa64f0c905643ffe4d822329c6cd710df0a30a3a9755 ./services/agent/internal/glpi/client_test.go
|
||||
247324ba41f3cd991a3582ed270d0b0d6c4c92c36f11e7742c20d3e59b982928 ./services/agent/internal/glpikb/sync.go
|
||||
9836e2bf9153df638ead57d92c152b87f831e5a3696bcda4b1f650ff38e9ac70 ./services/agent/internal/glpikb/sync_test.go
|
||||
787ab6b53623aa36ef6628f4eada11dcb4ed3011b34effd691bf07ba5d8f214d ./services/agent/internal/knowledge/category_mapping.go
|
||||
d3a9909672ea420db87be29ce669f3cd973125ff15bb46ca90a54c3aa98d9e73 ./services/agent/internal/knowledge/neuroforge_backend.go
|
||||
7bcd33bfcfb99fb06762fe75f4646308428957ed7eca26a266891ab580c3a929 ./services/agent/internal/knowledge/persistent_index.go
|
||||
df1ac214ebb88bf3ce7f68112129cf9ffc300dd725380c38661b85b04908ecdf ./services/agent/internal/knowledge/store.go
|
||||
63e47d86bcc89178fdc0f91e07ecb30bd01ee4b84bf29bfc660debbf26f8a40b ./services/agent/internal/knowledge/store_test.go
|
||||
807996228b38e1cd97ec2516cb1ecfc4bd945b638fcde465a0991051df2f1a00 ./services/agent/internal/learning/outcomes.go
|
||||
2917b3dab63783af4c92c48f269f097dc94b989008a5451f46d6c1b309ccdc9b ./services/agent/internal/learning/outcomes_test.go
|
||||
cd8c7379d6ca50fed77a7eafb6ab34b12b9ce2fe56025da534f54e6db246430d ./services/agent/internal/learning/store.go
|
||||
c540f2e554d66f36d79d2ce32c74a18b27b2940e96a40e89eae10abccd0bd2a5 ./services/agent/internal/learning/store_test.go
|
||||
5030ec3f51830f7decfb24c27f9b243cb64f97302a6a51df096bc957f24b3fae ./services/agent/internal/metrics/metrics.go
|
||||
809c3f2833ed2093bf1f9e4466eb3d855f2a84d827cb21deb698dd0e7b63b403 ./services/agent/internal/model/model.go
|
||||
975d5846fa38bf2478fa3ab9696660740c8d9a0549ce8d4f3443d4ca917c4aba ./services/agent/internal/model/reason_codes.go
|
||||
821850d649c7661f1665dc6be030ebeeacb60e4e007e1e84891d4b779b9a5d0d ./services/agent/internal/model/reason_codes_test.go
|
||||
c89248224adf72720289215684b916eb209387c1d38b757d64804a8d3148011c ./services/agent/internal/obsidian/export.go
|
||||
b75ffec53e9a94505ee57ecb9361bffbb6805cfd06ea05a7bf68b6b28b268c09 ./services/agent/internal/obsidian/export_test.go
|
||||
f4e32c5653b5fc3e046f1536513d376a7c0ac11b392210a107e12bd0ee63e179 ./services/agent/internal/ollama/client.go
|
||||
3522e7687e38db771dcf7e05b8dc52ad99a2fbc53d98dbdf07ded781d68b248e ./services/agent/internal/ollama/client_test.go
|
||||
efbee1deb5b452da5ba8a9005cfc8b0f74dbdebddf8d251c71d63265c9ccfe9e ./services/agent/internal/ollama/pool.go
|
||||
401db60148c8307516c091a56cf8acd21a95230c69fc50a6999bbb0292f2b06f ./services/agent/internal/ollama/pool_test.go
|
||||
ab29c5808a06f6b21a0776355eeaa030f69be5eee251e7b1dbd7e00c71045c61 ./services/agent/internal/prioritysignals/signals.go
|
||||
149bfefd67291ee288beed89a27235f58d3c33d87a1eff98cb2b7cc312fbd6b2 ./services/agent/internal/prioritysignals/signals_test.go
|
||||
93f31d9e7062a03990f96bb950cae54a3fc24176a723a2f634312653a0692434 ./services/agent/internal/queue/queue.go
|
||||
147146bf5fa222d54812d84ff799555fd4c2d57ccbf8337e960708524f0ecd86 ./services/agent/internal/queue/queue_test.go
|
||||
171f346e674ac5ebfa562a55e47060a462a0460db86e741085e2ee85533d3193 ./services/agent/internal/state/store.go
|
||||
592b00ad638b2e523d5e24d0d73286e547ee09c5027da4f6c13fe3885daed020 ./services/agent/internal/state/store_test.go
|
||||
209c5ce33b17403289c897932ecfa14b1e8f036f89746715d41cca3c607cf405 ./services/agent/internal/uptimekuma/client.go
|
||||
c849df7e346e1bd1e122037a4eafc30fe461add9b1876d7b9d63a02e33d831ad ./services/agent/internal/uptimekuma/client_test.go
|
||||
5f0375f33c4c3f0804e58bb7b3a8699a450a05100274fbb19762d59f4d5d0034 ./services/agent/internal/web/control_graph.go
|
||||
cb68a23bef549186d251766a3d3820b611defd55e8f7386b8b87490a78b9e11d ./services/agent/internal/web/control_graph_test.go
|
||||
b4f7d72022d5009fce43b5879483de92dacfee2b3bf527306902187c3d26486b ./services/agent/internal/web/server.go
|
||||
1f517bcb30f95831a06dc2fe0fd9cd633a0c42fc795f67e5ce53de7a2eebd2b1 ./services/agent/internal/web/server_test.go
|
||||
21b32b0b863ed62ae352011d7dd85f0134bf9909c23ee80b1c7e3c3605ef8cc4 ./services/agent/internal/web/templates/category-mappings.html
|
||||
d0561b87acd8fe8c0ab7f1f0bb82e1df840db8342f91798e8cb0a0408064abcc ./services/agent/internal/web/templates/dashboard.html
|
||||
fb5a4e2e1846046032bb878f1e878eb792497e321df6a8ce16209c07a925fdcd ./services/agent/internal/web/templates/diagnostics.html
|
||||
5a81ef73b2de4ff60c440a7a5e42da68e8ca30fab7bc62de63757157d498d72a ./services/agent/knowledge/01_active-directory.json
|
||||
70b176be0117d51a35a699ab50c2ad9dc944dec807e4a193e1adbbf0ece888fc ./services/agent/knowledge/01_arbeitsplatzdrucker.json
|
||||
96cf6b96e462db5e4be8345e9b18afee4e7dd5d51bcbd59e6817266725b92318 ./services/agent/knowledge/01_fachanwendung-storung.json
|
||||
521a4e7d6b1362bacc8d3b8dafe73d081fad9ed06825376b57460d163db31aa6 ./services/agent/knowledge/01_festnetztelefon.json
|
||||
88610d1d8b75017251e040f7627a141865b7f45a874073355bb6b30ba68c63a8 ./services/agent/knowledge/01_hardwarebeschaffung.json
|
||||
4e2310d9d3fc5dba392f1869887a7ab61ce4af69822dffae5892a3797252b39d ./services/agent/knowledge/01_kennwort-zurucksetzen.json
|
||||
5eb15ac8d8c6525d6eb21c29189d1561b8b6e23d81c096d012fe5f9015534c53 ./services/agent/knowledge/01_lan.json
|
||||
95a46a2f250c94a380be3c259f98e83a9042201d9e3fcf2f310f7e87a293af14 ./services/agent/knowledge/01_neue-it-anforderung.json
|
||||
ee98f46f39bbd60cd4fdd2b97ca6037a89719fd7a6936ebffb356b633ef2d1a6 ./services/agent/knowledge/01_padagogisches-netzwerk.json
|
||||
f64d5d7bbbc67d3f958f59c94ff9a99f48801f4d31a041ed12f503c923f4a7a6 ./services/agent/knowledge/01_pc-und-notebook.json
|
||||
ae9d1634baaa057f8b043558874a6d91b49d06edf8a101d0bb94096e51b062bc ./services/agent/knowledge/01_sonstiges-und-unklare-zuordnung.json
|
||||
5116a7096a289685d4a320a72a99beeaa6dffa0bd640013061a9a973446d8ea8 ./services/agent/knowledge/01_verdachtige-e-mail-und-phishing.json
|
||||
5b414f4fccc87f0a9abd3bc4e66a2deeadf0dad87752de19496ed9df217364bb ./services/agent/knowledge/02_benutzerkonto-anlegen-andern-oder-loschen.json
|
||||
ff7275f53dee116e4194c08b482ff014e86ed31f3d127aed8e2b8dd67a1eed68 ./services/agent/knowledge/02_fachanwendung-bedienung-und-beratung.json
|
||||
0377ef73fe676606dfb70605a4547b7484c3fa7109474955db6566c7c1812212 ./services/agent/knowledge/02_gruppenrichtlinien.json
|
||||
4f3fa6ec2a9e15ef5b002bde7b1caa9f6a0352fdd15bfe6638a14ab7f4ea8220 ./services/agent/knowledge/02_monitor-und-dockingstation.json
|
||||
bd4de92a6dcb5cb79fc1c6eb5d47f54b4585da5b586fecb74dbe50d52d8f7fe7 ./services/agent/knowledge/02_netzwerkdrucker.json
|
||||
7b31d78a0019c00e360012ba1ba7257f18862297f2fdfeb173dc86154ff16191 ./services/agent/knowledge/02_rufnummer-und-nebenstelle.json
|
||||
efc4eb64f60404796106fa20770b1b426698c602f2665cb2c458d30fab3eb206 ./services/agent/knowledge/02_schadsoftware-und-virenfund.json
|
||||
2b1b802004ce185a6d4222848f84fe13bbe993946946e1c9119e5fa590f5ac99 ./services/agent/knowledge/02_schulverwaltungsnetz.json
|
||||
830bf169fab29b06ff5f6d208c3df4cd0431fe49b0ad6a7e6fa574ac71cc2555 ./services/agent/knowledge/02_softwarebeschaffung.json
|
||||
fb45cf8cacb1e9c9a8dc9f61cde9d399c607129f9bb1171b214b829c0cced2d5 ./services/agent/knowledge/02_wlan.json
|
||||
26a059eac1654315c9efe982d3e441d3d667558be5d3d6643ea17efe756f96a9 ./services/agent/knowledge/03_ad-gruppen-und-gruppenrichtlinien.json
|
||||
b0348c630524118be4e6efcfac879f0d7ec9494e0e85651088200012ad10669a ./services/agent/knowledge/03_dateiablagen-und-netzlaufwerke.json
|
||||
0d3fee8511a1958a5be1a0c1fdbb7e13821ac8ec6fa842e75931a426186b6d9c ./services/agent/knowledge/03_digitale-tafeln-und-prasentationstechnik.json
|
||||
a57924a695e382796ef15960e371cee6ebc61bf282402f69e07fd59072aa5ce4 ./services/agent/knowledge/03_fachanwendung-berechtigung.json
|
||||
f75f00b6f15ce8a6211b953efb224540f6d8bac2da19570fb27c0e72d6ed24d0 ./services/agent/knowledge/03_internetzugang.json
|
||||
5a76dfb0abd1f3927b070ed5e3a035d6c7c95ffe7a63b1c9a4dbf7c22aef33b6 ./services/agent/knowledge/03_lizenzbestellung.json
|
||||
d4b595bb8069dde2ca4f241180178a82253a8beaa958811c18f3ae94c26ab02b ./services/agent/knowledge/03_multifunktionsgerat-und-kopierer.json
|
||||
c190b86667330c1d2926cdb98ee9bf437efcce6dcbbcb63d3987230a3e3c2f54 ./services/agent/knowledge/03_rufgruppe-und-weiterleitung.json
|
||||
b0d830dcd42919754fb73db0b17b2b3211be6a21b01734daba571dafde9ed01f ./services/agent/knowledge/03_sicherheitsvorfall.json
|
||||
ca1b3b608c0506457e607f09e4daf827df4ac340d528eb296190822ac846cf5b ./services/agent/knowledge/03_tastatur-maus-und-zubehor.json
|
||||
7bf663850628f0046edde52a80c2e32362fa5060e7a541162a63e78b3385f0f6 ./services/agent/knowledge/04_anwendungsberechtigung.json
|
||||
6d0205eff7ba230918fe72d19c833eee32de4de50d4e3657b1849cb576afdfa2 ./services/agent/knowledge/04_computerraume.json
|
||||
36eacce8dbf33a7e061b3baea0d43a5f3468bef003dc18d8e972f8844ca04043 ./services/agent/knowledge/04_fachanwendung-konfiguration.json
|
||||
a45d9b3c16c0342a9f7cb12cee286f7f34348929d54644aa82779084da41c3a2 ./services/agent/knowledge/04_lizenzverwaltung.json
|
||||
e7d40406ed649ae4764e26f3dc14170d5b9910810f8f304025cb030424205aeb ./services/agent/knowledge/04_mobile-endgerate.json
|
||||
adad80ff68baa3a998b80926e03956e8200d714a2aed9a1fe6aa72228c31faa8 ./services/agent/knowledge/04_mobilfunk.json
|
||||
1cc331f2d03971b6cc92202b6fac1eccf031acc81d8f3c60549b36e1628fcefc ./services/agent/knowledge/04_scanner.json
|
||||
658ea20f369985931ef590bbfacbe365da24ab06c7a7433bc546511306bde33c ./services/agent/knowledge/04_schwachstelle.json
|
||||
5feb14bdd59e0237832561b2d542afcdb877637bdfe6c9c2063e367fd0460025 ./services/agent/knowledge/04_serverbetrieb.json
|
||||
ab7d1a11ab1e66fa6d26eb1c8783ad11a319ce77f99be48ebc71d39f3b017c3d ./services/agent/knowledge/04_standortanbindung.json
|
||||
9c97b4ae44a0f0d14292a7a0bf882f2da62dcce0535f37ae36173acd31fda937 ./services/agent/knowledge/04_standorteroffnung-und-umzug.json
|
||||
8dafc6d816dc06e9e384fca9d504021c2a3ab3b25f67f3556b93f98be955e5ed ./services/agent/knowledge/05_dienstliches-smartphone.json
|
||||
47d689c3c7f3d5be8de0ee31e781664ed9e230dd6f9d10a287d3f5d462981f43 ./services/agent/knowledge/05_digitalisierungsvorhaben.json
|
||||
4edd62233b8784ffc0e7271300d7ce96709bfa8bb73f41f945d6420ec989d838 ./services/agent/knowledge/05_druckertreiber.json
|
||||
74bbb7b99036c7f9311fe912f73aea78d426fefc0ce37d841d907c0dd731e8b0 ./services/agent/knowledge/05_fachanwendung-schnittstelle-und-datenaustausch.json
|
||||
a9a244145670b544f578a49c72f5ccc10bfcdf11b67080659f3c305a2d48d2b5 ./services/agent/knowledge/05_hypervisor.json
|
||||
0bdd46fe6c5f13d562299b07ff9f2e18ba3a6a90f8d124c0934197245c59ba3e ./services/agent/knowledge/05_remotezugriff-und-vpn.json
|
||||
9c124626a953b7c9812b576f9f22f5fd075a7b9ce591bd20b06b717f29ab87d7 ./services/agent/knowledge/05_schuler-und-lehrkraftekonten.json
|
||||
2dcae54e57b9acd92c681be31a3a0f2386844322c4bdb1d5d01f85216ef6b703 ./services/agent/knowledge/05_softwareinstallation-am-arbeitsplatz.json
|
||||
9178eb0fc81af7823503f87f6b63d9c57bef29490b264895f6ae2cb20cf8e075 ./services/agent/knowledge/05_telekommunikationsvertrag.json
|
||||
fbc426c129b187cd0943f4924b08d127a9f8c2ef0977a1c05062d2b912f90e33 ./services/agent/knowledge/05_virenschutz.json
|
||||
e9833109731fab66468e6fa1b5c22ded747b477edc0e852336691ba60cecc560 ./services/agent/knowledge/05_vpn.json
|
||||
153150769b692cff7cf506978ff47aa929c01423fcf10abaaac48a22f8ae0793 ./services/agent/knowledge/06_betriebssystem-am-arbeitsplatz.json
|
||||
d33e8db3bb4f32e30ede4d4cd604b90159bc9dbb66fe1f9baea441dda3168ce9 ./services/agent/knowledge/06_dns-und-dhcp.json
|
||||
b3e9b7646617aedf3beb955dc94aaa99ce931bdf4a8749e118c2d5eb78dd45c9 ./services/agent/knowledge/06_fachanwendung-bericht-und-auswertung.json
|
||||
77f0f12f2f216cb52c5d6d394eba485e690fd0e2c74bff8f38213b6310779108 ./services/agent/knowledge/06_mobile-schulgerate.json
|
||||
e96d1285c9be2cd4a151fcbdb4745181fc2ab20e42dff97f54fc4e9ff9857a53 ./services/agent/knowledge/06_scan-to-mail-und-scan-to-folder.json
|
||||
cadd71e26b643ce1fd7276fb72ef9d2e43e8ba57ddf01d44337fcefb79c9800a ./services/agent/knowledge/06_sicherheitsupdate.json
|
||||
ef09af49f08090c9a82bbd9e94c735426a371f31002cb1d461e1f7f94da2c21b ./services/agent/knowledge/06_videokonferenz.json
|
||||
e496efbe113881d38d97c20c199206e52ff9b936d7cdacfc186c585bb9aaa68c ./services/agent/knowledge/06_virtuelle-maschinen.json
|
||||
71802acd7b2287d3edb968636a05b2651f6386faca3a820e47ac4476244e4874 ./services/agent/knowledge/06_wartungs-und-supportvertrag.json
|
||||
ad1cd6d0728da647a4e819b4cd74b5a2302398a3a7becaed147e9e8942080c30 ./services/agent/knowledge/07_angebot-und-wirtschaftlichkeitsprufung.json
|
||||
2924cfc43a83c7fb4856096f5005ba8bdbdf2179e3e94b0fa81fc36a09dcc06a ./services/agent/knowledge/07_datensicherung.json
|
||||
46883e5655761c31bbe1a55a9e5d9cd3929b660ed44ae827ea54ef5c1f761e4e ./services/agent/knowledge/07_fachanwendung-update-und-release.json
|
||||
8001bb3da012ad43f87f8606610e8144999b740ac247050a7f100c2ed17aa2a4 ./services/agent/knowledge/07_firewall-freischaltung.json
|
||||
03d25806ed7a3098d4dd004e05d3fbcd81c338de7a7ff4a3d888705a96128541 ./services/agent/knowledge/07_funktions-und-sammelpostfacher.json
|
||||
a87af380b0d3e3afe7e1c63b4a164ca6565259c7b5936c4227b11e7b7ef7cf8f ./services/agent/knowledge/07_geratewechsel-und-umzug.json
|
||||
9b5723928527fd21fba2be5f5fa51cba6722563465f74e498478b1b2e334c955 ./services/agent/knowledge/07_mobile-device-management-fur-schulen.json
|
||||
48f71d04c5e20d9c2aa2976569ac9912da2fb4af3f949fbc896915d2de701c24 ./services/agent/knowledge/07_projektunterstutzung.json
|
||||
ae521cc69bd2a957189486a85bc4a9ad16bf960d5d91ca3e40757ba6b1304515 ./services/agent/knowledge/07_storage.json
|
||||
2058ccf0315975a480de2b1dcdb4a480445144abe330855ba04a8a9122849ce2 ./services/agent/knowledge/07_telefonkonferenz-und-softphone.json
|
||||
748b64297c5c59f20a78f0405bf798b1462934a1f05a411634133225c1c56b3c ./services/agent/knowledge/07_verbrauchsmaterial.json
|
||||
7fe889fcff1c0745f1e6dc1f01f84a7580eb8b75a667ed0c60e0c529f24a0b6b ./services/agent/knowledge/08_datenbanken-plattformbetrieb.json
|
||||
59e1e03acd3b87b41132a047acf14afb190e5752066c6a3c2f39831d132ca30c ./services/agent/knowledge/08_datenwiederherstellung.json
|
||||
7e9fa4d0803f8c7075cfeb6db447b63bf99119dae2c2bb232bc82037c5af6943 ./services/agent/knowledge/08_fachanwendung-neue-anforderung.json
|
||||
f17afbc9c495993c1dba9ef99b70ef448c9b863202e5875772d281d7624358ab ./services/agent/knowledge/08_hardware-neubeschaffung.json
|
||||
b2a11fdacec61937d4d5efa717c31b71b991f46e935341de2e6317292253b5b8 ./services/agent/knowledge/08_netzwerksegment-und-vlan.json
|
||||
1aebfa9a90184e3006709550e55bf538bc7d1a5fcd3bf7abb3902878db8ea13f ./services/agent/knowledge/08_neues-drucksystem.json
|
||||
b1393289055a6afa0f08ac1705fae9b12a1f74eb6d91d19d6c35045575a2df72 ./services/agent/knowledge/08_padagogische-lernplattformen.json
|
||||
ee49a806543115536081ae2cda509400e095253f9f4145b2e4f7bb58984127c8 ./services/agent/knowledge/08_rechnung-und-kostenstelle.json
|
||||
3e0ea96e6eb9d1c78e74c34fcb07fd10147a00cdbd099cc2b6fbf2f7d0bc0967 ./services/agent/knowledge/08_telekommunikationsbeschaffung.json
|
||||
0fd6d1281879b334b2f5f2afc8b40bb4f2ce2e3484f92362ad682a9b522f19c4 ./services/agent/knowledge/09_container-und-docker.json
|
||||
4c50cad1c6116b42b1149aaeb24a117eb97e6a0ab7df2590dfe1ccb797b567a8 ./services/agent/knowledge/09_fachanwendung-einfuhrung-einer-anwendung.json
|
||||
91b7be1bc88abd9631802a12eca2cb08a4bfb6f5890929512253deae443f81c7 ./services/agent/knowledge/09_inventarisierung.json
|
||||
d4df65a13c1554e630351ebd8b4c0f6a088893c20fd894165010417ddef6d4fb ./services/agent/knowledge/09_protokollierung-und-auswertung.json
|
||||
267d66313420fef443e9645b696e9fe6f7aba60af4e3b26f0f6b2df06f36c979 ./services/agent/knowledge/09_prufungs-und-klausursysteme.json
|
||||
27e88b61055a44007777bd4318ad19b3e5b6f017974cb75fca968ef928206a8e ./services/agent/knowledge/09_ruckgabe-und-aussonderung.json
|
||||
eb721fd2e91e5198cca4862f980c6692846405fe43107e49f2d85dfd080a8a52 ./services/agent/knowledge/10_haushalts-und-budgetplanung.json
|
||||
523b27e6fdbae8de9c680fffb538e23082463028b5f5329a2cd7610358467f4a ./services/agent/knowledge/10_kubernetes.json
|
||||
1e43fcd4bf900b2118d7977425fc7c55ac426eade471a8656841313e390eec62 ./services/agent/knowledge/10_microsoft-word.json
|
||||
8b708ca4da157dd73a77ae051716efce330662fcff64a073fc625d68eb034935 ./services/agent/knowledge/10_schulverwaltungsanwendungen.json
|
||||
813c045cacc6a0e3cdbceea69436d65cb8ac5b6009b060039488eefdfcc0007d ./services/agent/knowledge/11_devops-und-automatisierung.json
|
||||
213d466c3e0a3f864268bc1b4ddcdc117f7b8dbcdf5e8a50032913de706a606a ./services/agent/knowledge/11_microsoft-excel.json
|
||||
a615dc9c1ee5754c2ffa8eae113311cd857dd1422104eced8c41ffc42eb716de ./services/agent/knowledge/12_microsoft-powerpoint.json
|
||||
e3a2d2154b2c9adde57874aa0c515b99c2c4fa8171da188162de421f309ab7b6 ./services/agent/knowledge/12_monitoring.json
|
||||
2231a0a90369fc5208f721d91bbda702c9f58aea7f1bcccd0becf5f79a89fb8c ./services/agent/knowledge/13_outlook-client.json
|
||||
cb3cde795233c0d4842dc7451c5855d1c071e459efbde3be0cabac32a837ba1b ./services/agent/knowledge/14_office-vorlagen.json
|
||||
9b345483a41489babc35aca19a147c343a895eae40702bbd86075eb86538bb5d ./services/agent/knowledge/15_office-add-ins-und-makros.json
|
||||
7f1d67faf4a6cea0c41c84d7b275d8a8979b19420b52db4925d8e2cd71ead3e0 ./services/agent/knowledge/16_office-aktivierung-und-lizenzierung.json
|
||||
f1eab883370e0a40ef52a6b6d785a510d8ed48a19d25e0a2bc95f4f2cc8e329e ./services/agent/knowledge/17_serienbriefe-und-dokumentfunktionen.json
|
||||
5a0b3d5d5bc712e30a67a4de3432f69070f7e43dd99931f675e72c213006b363 ./services/agent/knowledge/example-vpn.json
|
||||
7418ad39aa0899a85e69a9910d99ff1cb01757d5ae2edaa885c5ff7a815cb580 ./services/agent/knowledge-category-map.example.json
|
||||
895f8400aaad550ff2b96262eaa54e954d603129682e97aa4964539eb19bd7c2 ./services/agent/run.ps1
|
||||
5e2ea444f8321b723313184f8ae12219c319435cdac8904596a4481fd2be8822 ./services/control/Dockerfile
|
||||
f30ddf9251860d92717276483f7a2c2d7405f0516940ca62abc21d97ff3f3ad2 ./services/control/cmd/engineering-graph/main.go
|
||||
a15b1d7b785eb12dc5fef341e57ffef5bd457015b77a8a8495ac0bf7b0c1f5a0 ./services/control/engineering-graph.json
|
||||
ba44c599b9faf861eca647614c4abd18548e2708233cf462b11eb277e96449b8 ./services/control/go.mod
|
||||
da37393e58ff53847f26b1051f6d3a5270571d290b33d79360bae0dcb3513829 ./services/control/graph.go
|
||||
e6a8021a44219219fe37ab5edc45d1908fc6579f653aa80c9966810d891ad27d ./services/control/graph_test.go
|
||||
0b426441ec627c2cf2d7466ce2177864593717d8550ca0b0f86d1b24f597488b ./services/control/index.html
|
||||
b1832a0f0e2acb73d2dcf011b6a93ca50504cb4b27cf90d01f3b67e8151c58ea ./services/control/main.go
|
||||
457fa6b4c81a62197eb1e76a5472cd571d5c69659110fcd9bc016582f1b5dfa1 ./services/knowledge/.dockerignore
|
||||
e82cbdb6336e424c4b9d8db5d149016d606579292184582788a9bf295895cda4 ./services/knowledge/.env.example
|
||||
236713daf159ff0a8067e80a442ae3404fa28a5251ae6f24782f263bcfc17005 ./services/knowledge/.gitea/workflows/registry.yml
|
||||
e45bab225ede9bacef0b53f84fb0577235d9a81967ae2a53ab7c7f4d66bd4ccd ./services/knowledge/.gitignore
|
||||
d3becb2b7565ba0b1d32bd8d3b085dca6adec2d2b153583c8c6855e0eea43b66 ./services/knowledge/CHANGELOG.md
|
||||
a8cb88ef493c9cf7167f819502baf8e932fd8b2fa2dfadddf659b3e7d703b5a4 ./services/knowledge/Dockerfile
|
||||
31f5067cf8e45271081ff08bf0d9afffef74d300628ddc1bd1db6e87e6d4e922 ./services/knowledge/Makefile
|
||||
d50e9892824dc9e2f86b7f4fbfdc81165a8c6b403e4b2b9f6fd5bd2f22c295f0 ./services/knowledge/QUALITY_REPORT.txt
|
||||
bcafd8739157e677416bd4e7c3693eafb1572d72384830ab839dd4dcef74d3ee ./services/knowledge/README.md
|
||||
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ./services/knowledge/backups/.gitkeep
|
||||
6670b6dd385468e9cd630025091d0031938185678bf3f9fd1fa77dbfee5d37c9 ./services/knowledge/cmd/server/app.go
|
||||
7e122cc4550244ba431ebf4bcddda945b8cf52550aa7b4abb09bb65cb6b8b665 ./services/knowledge/cmd/server/app_test.go
|
||||
f7349dae3b79794010a594fdff23fb9379171b950d2049f9eef17dd5e81e51eb ./services/knowledge/cmd/server/main.go
|
||||
1867f5c83786628441a1c9e3bb96d90d496f5cab24b6dd62a80376f256bfa497 ./services/knowledge/cmd/server/viewer/app.js
|
||||
9537e946b22208a5a78f11a29a92c8f379805f51f3de3d3c74a7cd068d876418 ./services/knowledge/cmd/server/viewer/index.html
|
||||
58f16f955f1287bc077933980e50eaae238ab2eb40599242abd820a31aca79f5 ./services/knowledge/cmd/server/viewer/style.css
|
||||
0269039e6baffbf8ecc423fe021e91827924a9c47decbd0816257aa052702303 ./services/knowledge/cmd/server/web/app.js
|
||||
7b1cdf4c71867e0563eb0eca460c60be34ab839099793e0ad9faf4a84b29c5e7 ./services/knowledge/cmd/server/web/index.html
|
||||
c6e48f5098243eee4de816d515cd71d8f8904deeedb335966b1db320d574e2e1 ./services/knowledge/cmd/server/web/style.css
|
||||
6e2430ead0897eba9ffb7b3df18e61136f54a8da6b4fb9e711490623fca31a12 ./services/knowledge/docker-compose.dual.yml
|
||||
f5d6b8c7891ac8ab237423914f67bff5b91f7e3abd255622eeef26ec83feda37 ./services/knowledge/docker-compose.yml
|
||||
5a49eb8794bdb76d14c29060ed6c4a9f0126d4daa2f2ae45b11b8d1e7ccaba45 ./services/knowledge/go.mod
|
||||
06893c64974dac010903569e7554b1a245a8862538e3dc1b10375932eae6e5b9 ./services/knowledge/internal/aifallback/ollama.go
|
||||
60727530c541fdce632fe071173c4846c3a4029929619caf9389f31f27e3c1b0 ./services/knowledge/internal/aifallback/ollama_test.go
|
||||
9057a742c3fe8e0fa76efd6dd9bcdf9fcdf7ab2c37ed823822808946e8649566 ./services/knowledge/internal/brainactivity/client.go
|
||||
ff6d65a0a4648464a89c67e06f5c33a4ec87d7a41e84d894725e8ed582d64acb ./services/knowledge/internal/obsidian/export.go
|
||||
e8e91a8ce16c1905c963ac57a156006e92323be80615637a7b1b477b89464012 ./services/knowledge/internal/obsidian/export_test.go
|
||||
fcd53ac3b88e1899819951686c644ca3c54ab2881a6aa78e4b503567243fc7d5 ./services/knowledge/internal/staging/staging.go
|
||||
d5edaf3501405393604a4e79643ec107cfa64c2365917c87a07997871fa84727 ./services/knowledge/internal/staging/staging_test.go
|
||||
f8db5f01b1ff61108f9d642002ef01f1946918468e644a6146ff4afabaa5688b ./services/knowledge/internal/store/store.go
|
||||
c98bd048680978d06d34303db9729b130eb7cfc0750f15ee1a4e7abfe582dca1 ./services/knowledge/internal/store/store_test.go
|
||||
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ./services/knowledge/knowledge/.gitkeep
|
||||
81893d2cba93d7a30c5c728559e81a7b7e2eca87cae8f9e239aeefcaaf604d60 ./services/knowledge/run.ps1
|
||||
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ./services/knowledge/staging/.gitkeep
|
||||
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ./staging/.gitkeep
|
||||
43
Makefile
Normal file
43
Makefile
Normal file
@@ -0,0 +1,43 @@
|
||||
SHELL := /bin/sh
|
||||
|
||||
.PHONY: test vet build up research-up down logs status ps engineering-graph engineering-graph-check
|
||||
|
||||
test:
|
||||
cd platform/neuroforge && go test ./...
|
||||
cd services/agent && go test ./...
|
||||
cd services/knowledge && go test ./...
|
||||
cd services/control && go test ./...
|
||||
|
||||
vet:
|
||||
cd platform/neuroforge && go vet ./...
|
||||
cd services/agent && go vet ./...
|
||||
cd services/knowledge && go vet ./...
|
||||
cd services/control && go vet ./...
|
||||
|
||||
build:
|
||||
docker compose build
|
||||
|
||||
up:
|
||||
docker compose up -d --build
|
||||
|
||||
research-up:
|
||||
./scripts/research-up.sh
|
||||
|
||||
down:
|
||||
docker compose down
|
||||
|
||||
logs:
|
||||
docker compose logs -f --tail=200
|
||||
|
||||
ps:
|
||||
docker compose ps
|
||||
|
||||
status:
|
||||
./scripts/status.sh
|
||||
|
||||
engineering-graph:
|
||||
cd services/control && go run ./cmd/engineering-graph -root ../.. -out engineering-graph.json
|
||||
|
||||
engineering-graph-check:
|
||||
@tmp=$$(mktemp); trap 'rm -f $$tmp' EXIT; \
|
||||
cd services/control && go run ./cmd/engineering-graph -root ../.. -out $$tmp >/dev/null && cmp -s engineering-graph.json $$tmp || { echo "engineering-graph.json is stale; run: make engineering-graph"; exit 1; }
|
||||
172
README.md
172
README.md
@@ -1,2 +1,172 @@
|
||||
# glpi-neuroforge-mega
|
||||
# GLPI NeuroForge Mega v1.4.0
|
||||
|
||||
Ein kontrolliertes Monorepo aus **GLPI AI Agent**, **GLPI AI Knowledgebase** und **NeuroForge + SQAR**. Ziel ist nicht ein untrennbarer Monolith, sondern eine gemeinsame Plattform mit klaren Zuständigkeiten, getrennten Credentials und nachvollziehbaren Failure-Modi.
|
||||
|
||||
## Unified Graph Explorer (v1.4.0)
|
||||
|
||||
Das read-only Control Center visualisiert Runtime/Trust, Ticket-Evidence, Learning-Lineage, Research-Provenance, einen redigierten NeuroForge-Brain-Graph sowie einen reproduzierbaren Engineering-Graph aus Go-AST und Compose. Für Dateien/Symbole/Routen gibt es zusätzlich eine statische Change-Impact-/Blast-Radius-Sicht. 2D ist der operative Default; 3D ist ein optionaler, gebundener Explorer.
|
||||
|
||||
Der Agent stellt diese Daten ausschließlich über einen eigenen `CONTROL_READ_TOKEN` bereit. Ein optionales `codebase-memory-mcp` kann lokal für tiefere Developer-Analyse betrieben werden, ist aber keine Produktionsabhängigkeit. Siehe `docs/UNIFIED-GRAPH.md` und `docs/CODEBASE-MEMORY-MCP.md`.
|
||||
|
||||
## Leitprinzipien
|
||||
|
||||
- **Maximale Kontrolle:** GLPI-Schreibregeln, Auto-Reply-Gates, Eskalation, Idempotenz und Audit bleiben im Agenten. NeuroForge liefert semantische Evidenz, entscheidet aber nicht über Sicherheits- oder Kommunikationsregeln.
|
||||
- **Maximale Effizienz:** Chunk-Vektoren können zentral in NeuroForge/HNSW/Disk-PQ liegen; das NFVJ2 Vector Journal nutzt die integrierte SQAR-Kompression. Dokument-Updates werden batchweise synchronisiert.
|
||||
- **Maximale Transparenz:** `local`, `dual` und `neuroforge` erlauben einen messbaren Cutover; Fehlerverhalten ist explizit `fail-open` oder `fail-closed`; das Control Center ist read-only.
|
||||
- **Human Governance:** Maschinell erzeugte Research-Vorschläge dürfen ausschließlich ins KB-Staging. Produktiv wird Wissen erst nach menschlicher Freigabe.
|
||||
|
||||
## Komponenten
|
||||
|
||||
| Komponente | Aufgabe | Schreibrechte |
|
||||
|---|---|---|
|
||||
| `services/agent` | GLPI-Triage, Policies, Antworten, Eskalation, Hybrid-Reranking | GLPI nach vorhandenen Policy-Gates |
|
||||
| `services/knowledge` | Knowledge Authoring, Suche, Staging, Review, Promotion | Knowledge-Dateien + Staging |
|
||||
| `platform/neuroforge` | semantisches Gedächtnis, HNSW/Disk-PQ, Learning, Research, SQAR-Vector-Journal | eigenes Brain-Storage |
|
||||
| `services/control` | Status, aktive Migrationsparameter, Links | **keine**; read-only |
|
||||
| `ollama` | gemeinsamer lokaler Inference-Endpunkt | Modellcache |
|
||||
|
||||
## Schnellstart
|
||||
|
||||
```bash
|
||||
cp .env.example .env
|
||||
./scripts/generate-secrets.sh
|
||||
# Werte in .env übernehmen und GLPI-Zugangsdaten setzen.
|
||||
|
||||
docker compose config
|
||||
docker compose up -d --build
|
||||
./scripts/status.sh
|
||||
```
|
||||
|
||||
Standardmäßig bindet der Stack nur an `127.0.0.1`:
|
||||
|
||||
- Control Center: `http://127.0.0.1:8070`
|
||||
- GLPI Agent: `http://127.0.0.1:8080`
|
||||
- Knowledgebase: `http://127.0.0.1:8081`
|
||||
- NeuroForge: `http://127.0.0.1:8090/admin`
|
||||
- Ollama: `http://127.0.0.1:11434`
|
||||
|
||||
Vor dem ersten produktiven Start bleiben in `.env.example` alle automatischen GLPI-Aktionen deaktiviert und `DRY_RUN=true`.
|
||||
|
||||
## Kontrollierter Vektor-Cutover
|
||||
|
||||
`KNOWLEDGE_VECTOR_BACKEND` kennt drei Modi:
|
||||
|
||||
- `local`: ursprüngliches Verhalten; Chunk-Vektoren bleiben im lokalen Agent-Snapshot.
|
||||
- `dual`: lokale Vektoren bleiben maßgeblich und werden zusätzlich nach NeuroForge gespiegelt. Das ist der empfohlene Beobachtungsmodus.
|
||||
- `neuroforge`: NeuroForge ist für Chunk-Vektor-Persistenz und semantische Kandidatensuche maßgeblich. Titel-, Text-, Metadaten- und GLPI-Policy-Signale bleiben lokal; der Agent führt weiterhin sein deterministisches Hybrid-Reranking aus.
|
||||
|
||||
Mit `NEUROFORGE_FAIL_OPEN=true` kann der Agent bei Backend-Ausfall lokale/lexikalische Evidenz verwenden. Mit `false` wird ein semantischer Backend-Fehler sichtbar blockierend behandelt.
|
||||
|
||||
Details: [`docs/MIGRATION-CUTOVER.md`](docs/MIGRATION-CUTOVER.md).
|
||||
|
||||
## Kontrolliertes Lernen: erst Outcome, dann Wissen
|
||||
|
||||
Im produktionsnahen Standard (`NEUROFORGE_CONTROLLED_LEARNING=true`) werden rohe Chat-Eingaben und KI-Antworten **nicht automatisch** zu vertrauenswürdigem Langzeitwissen. Der Helpdesk-Lernpfad ist explizit menschlich gegated:
|
||||
|
||||
```text
|
||||
Ticket -> KI-Vorschlag -> Techniker bestätigt/korrigiert -> auditiertes Outcome -> NeuroForge lernt
|
||||
```
|
||||
|
||||
Im Agent-Dashboard kann ein Antwortvorschlag als **„KI-Antwort bestätigen“** oder **„KI-Antwort korrigieren“** validiert werden. Jede Entscheidung wird lokal in `ticket-outcomes.json` mit Sync-Status gespeichert. Eine spätere Korrektur überschreibt die frühere Entscheidung nicht, sondern erzeugt eine neue Revision mit `supersedes_id`. Nur `accepted` und `corrected` dürfen den App-Key-geschützten NeuroForge-Endpunkt `/api/v1/integrations/outcomes` verwenden; NeuroForge weist die vertrauenswürdige Provenance serverseitig zu.
|
||||
|
||||
Vor der Hochstufung verifiziert der Agent außerdem, dass sich der GLPI-Ticketzustand seit dem analysierten Run nicht geändert hat. Ein veralteter Run darf nicht als Trusted Outcome gelernt werden.
|
||||
|
||||
Standardmäßig ist `OUTCOME_LEARNING_FAIL_OPEN=false`: Kann das bestätigte Outcome nicht nach NeuroForge synchronisiert werden, sieht der Techniker einen Fehler. Der lokale Audit-Eintrag bleibt mit `sync_status=failed` für einen kontrollierten Retry erhalten.
|
||||
|
||||
v1.3.0 schließt den Feedback-Loop: aktive, menschlich validierte Outcomes werden bei späteren ähnlichen Tickets als **sekundäre Erfahrungs-Evidenz** aus NeuroForge abgerufen. Sie dürfen die Antwortauswahl unterstützen oder ihr widersprechen, ersetzen aber niemals die Pflicht zu einem freigegebenen Knowledge-Artikel. Korrekturen superseden den alten NeuroForge-Memory atomar; die alte Revision bleibt auditierbar, ist aber nicht mehr retrieval-aktiv.
|
||||
|
||||
```text
|
||||
Ticket -> offizielle KB-Kandidaten
|
||||
-> aktive validierte Erfahrungen
|
||||
-> LLM-Auswahl unter Policy-Gates
|
||||
-> Techniker bestätigt/korrigiert
|
||||
-> NeuroForge Outcome Memory
|
||||
-> spätere Tickets profitieren davon
|
||||
```
|
||||
|
||||
Die Wirkung kann read-only über `POST /api/quality/replay` gemessen werden. Der Replay-Runner berichtet u. a. Knowledge Recall@K/MRR, Outcome Recall@K/MRR und Fälle, in denen validierte Erfahrung einen Knowledge-Miss sichtbar macht. Beispiel: [`docs/QUALITY-REPLAY.md`](docs/QUALITY-REPLAY.md).
|
||||
|
||||
Details: [`docs/CONTROLLED-AUTONOMY.md`](docs/CONTROLLED-AUTONOMY.md).
|
||||
|
||||
## Optionales SearXNG / kontrollierte Autonomie
|
||||
|
||||
SearXNG ist ein echtes, aber **optionales** Compose-Profil. Der normale Stack startet es nicht. Research und zeitgesteuerte Autonomie besitzen getrennte Schalter:
|
||||
|
||||
```bash
|
||||
# .env: echten SEARXNG_SECRET setzen
|
||||
./scripts/research-up.sh
|
||||
```
|
||||
|
||||
`research-up.sh` startet SearXNG sowie NeuroForge mit Research/SearXNG aktiviert. `NEUROFORGE_AUTONOMY_ENABLED` bleibt davon unberührt und ist standardmäßig `false`. Damit sind drei Betriebsstufen möglich:
|
||||
|
||||
1. Research aus – keine Webrecherche.
|
||||
2. Research an, Autonomy aus – Recherche kann explizit/manuell angestoßen werden.
|
||||
3. Research an, Autonomy an – fällige Research-Goals dürfen zyklisch selbst recherchieren.
|
||||
|
||||
Web-Evidence erhält bewusst niedrigere Source-Trust-Werte als menschlich bestätigte GLPI-Outcomes. Unabhängige Quellen können bestehende Evidence über die vorhandene Corroboration-Logik stärken; produktive KB-Promotion bleibt trotzdem menschlich kontrolliert.
|
||||
|
||||
## Research → Staging
|
||||
|
||||
Die Knowledgebase stellt einen getrennt authentifizierten Eingang bereit:
|
||||
|
||||
```text
|
||||
POST /api/integrations/staging
|
||||
Authorization: Bearer <KB_INTEGRATION_TOKEN>
|
||||
```
|
||||
|
||||
Dieser Endpunkt kann **nur Staging-Entwürfe** erzeugen. Er kann keine produktiven Artikel schreiben und erzwingt `auto_reply=false`. Beispiel:
|
||||
|
||||
```bash
|
||||
export KB_INTEGRATION_TOKEN='...'
|
||||
./scripts/propose-draft.sh proposal.json
|
||||
```
|
||||
|
||||
Die Promotion bleibt ausschließlich beim normalen KB-Review-Workflow.
|
||||
|
||||
|
||||
## Obsidian / llm-wiki Export
|
||||
|
||||
Die Wissensbasis kann in zwei Sichten als Obsidian-kompatibler Vault exportiert werden:
|
||||
|
||||
- Knowledgebase: `GET /api/export/obsidian` – kanonische produktive JSON-Wissensbasis.
|
||||
- Agent: `GET /api/knowledge/export/obsidian` – Live-Sicht inklusive synchronisierter GLPI-KB-Artikel und, sofern die GLPI-OpenAPI sie lesbar bereitstellt, `KnowbaseItem_Item`-Verknüpfungen.
|
||||
|
||||
Der Vault enthält YAML-Frontmatter, `[[Wikilinks]]`, `Wiki/Schema.md`, `Wiki/index.md`, `graph.json` und ein Manifest. Beide UIs besitzen einen **„⇩ Obsidian Export“**-Button. CLI-Helfer:
|
||||
|
||||
```bash
|
||||
./scripts/export-obsidian.sh kb ./knowledge-vault.zip
|
||||
./scripts/export-obsidian.sh agent ./live-vault.zip
|
||||
```
|
||||
|
||||
Details: [`docs/OBSIDIAN-EXPORT.md`](docs/OBSIDIAN-EXPORT.md).
|
||||
|
||||
## Wichtige Sicherheitsgrenzen
|
||||
|
||||
1. Der Agent erhält nur den NeuroForge **App Key**, niemals den Admin-Token.
|
||||
2. NeuroForge erhält keine GLPI-Credentials.
|
||||
3. Das Control Center besitzt keine Admin-/Editor-Credentials.
|
||||
4. KB-Health ist ohne Editor-Credentials probe-fähig; alle Editor-Funktionen bleiben Basic-Auth-geschützt.
|
||||
5. Research-Vorschläge haben einen separaten `KB_INTEGRATION_TOKEN` und landen ausschließlich im Staging.
|
||||
6. `runs.jsonl`, State/Idempotenz, Policy-Gates und GLPI-Aktionen werden nicht in lernendes Memory verschoben.
|
||||
|
||||
Siehe [`docs/CONTROL-MATRIX.md`](docs/CONTROL-MATRIX.md), [`docs/CONTROL-CENTER.md`](docs/CONTROL-CENTER.md) und [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md).
|
||||
|
||||
## Validierung
|
||||
|
||||
```bash
|
||||
./scripts/validate.sh
|
||||
cd services/agent && go test -race ./internal/knowledge
|
||||
cd ../../platform/neuroforge && go test -race ./internal/httpapi ./internal/store
|
||||
```
|
||||
|
||||
Die importierten GLPI-Projekte wurden im Mega-Repo auf Go 1.23 normalisiert. Die komplette Testbasis läuft damit in der bereitgestellten Umgebung. Die ursprünglichen Quellarchive bleiben davon unberührt.
|
||||
|
||||
Für Qualitätsmessungen gegen historische Fälle:
|
||||
|
||||
```bash
|
||||
python3 scripts/quality-replay.py docs/QUALITY-REPLAY-example.json --url http://127.0.0.1:8080
|
||||
```
|
||||
|
||||
## Bewusst begrenzte Autonomie
|
||||
|
||||
Auch bei aktivierter Research-Autonomie veröffentlicht NeuroForge **nicht selbstständig** in die produktive Knowledgebase. Der technische Draft-Ingress ist vorhanden, aber der Übergang von einem konkreten Research-Run zu einem KB-Draft soll über einen expliziten Workflow/Job erfolgen. Das ist eine Governance-Entscheidung, kein fehlender Schreibweg.
|
||||
|
||||
27
RELEASE-NOTES-v1.1.0.md
Normal file
27
RELEASE-NOTES-v1.1.0.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# GLPI NeuroForge Mega 1.1.0
|
||||
|
||||
## Enthalten
|
||||
|
||||
- GLPI AI Agent mit bestehender GLPI-Ticket-/Followup-/Kategorie-/Eskalationsanbindung.
|
||||
- GLPI-KB-Synchronisation inklusive verfügbarer `KnowbaseItem_Item`-Relationen.
|
||||
- GLPI AI Knowledgebase mit Staging/Review/Promotion und getrenntem Integration-Draft-Token.
|
||||
- NeuroForge + NFVJ2/SQAR als zentraler semantischer Vector-/Memory-Layer.
|
||||
- kontrollierter Vector-Cutover: `local`, `dual`, `neuroforge`.
|
||||
- read-only Control Center für Health, Readiness, aktive Betriebsparameter und Navigation.
|
||||
- Obsidian-/llm-wiki-artiger Export aus Knowledgebase und Agent-Live-Sicht.
|
||||
- YAML-Frontmatter, Obsidian-Wikilinks, `Wiki/Schema.md`, `Wiki/index.md`, `Wiki/graph.json` und Manifest.
|
||||
- CLI-Helfer `scripts/export-obsidian.sh`.
|
||||
- Beispiel-Snapshot der 103 mitgelieferten kanonischen Knowledge-Dokumente.
|
||||
|
||||
## Sicherheitsentscheidungen
|
||||
|
||||
- Keine produktiven Credentials im Release.
|
||||
- Ursprüngliche lokale `.env_local` wurde bewusst ausgeschlossen.
|
||||
- Agent erhält keinen NeuroForge-Admin-Token.
|
||||
- Control Center bleibt ohne Schreibrechte.
|
||||
- Research kann nur Staging-Drafts erzeugen; `auto_reply=false` wird erzwungen.
|
||||
- GLPI-Schreibentscheidungen bleiben im deterministischen Agent-/Policy-Layer.
|
||||
|
||||
## Validierung
|
||||
|
||||
Siehe `docs/VALIDATION.md`. Docker selbst ist in der Build-/Prüfumgebung nicht installiert; daher ist der echte Container-Runtime-Smoke-Test auf dem Zielhost weiterhin erforderlich.
|
||||
45
RELEASE-NOTES-v1.2.0.md
Normal file
45
RELEASE-NOTES-v1.2.0.md
Normal file
@@ -0,0 +1,45 @@
|
||||
# Release Notes v1.2.0 — Controlled Autonomy
|
||||
|
||||
## Schwerpunkt
|
||||
|
||||
v1.2.0 macht aus „autonom lernfähig“ ein kontrolliert autonomes Betriebsmodell. Rohes Chat-/Modellverhalten wird im Mega-Stack nicht mehr automatisch zu vertrauenswürdigem Langzeitwissen. Helpdesk-Lernen folgt stattdessen dem Ablauf **Ticket → KI-Vorschlag → Techniker bestätigt/korrigiert → Outcome → Learn**.
|
||||
|
||||
## Neu
|
||||
|
||||
- optionaler SearXNG-Service als Compose-Profil `research`
|
||||
- gehärtete private SearXNG-Konfiguration unter `deploy/searxng/settings.yml`
|
||||
- `scripts/research-up.sh` für bewusstes Research-Enabling
|
||||
- separate Schalter für Research/SearXNG und zeitgesteuerte Autonomy
|
||||
- `NEUROFORGE_CONTROLLED_LEARNING=true` als konservativer Mega-Stack-Standard
|
||||
- kein automatisches Lernen von Chat-Inputs oder Assistant-Antworten im Controlled Mode
|
||||
- neue App-Key-geschützte API `POST /api/v1/integrations/outcomes`
|
||||
- serverseitig gesetzte Provenance `glpi.outcome.accepted|corrected`
|
||||
- Agent-Audit `ticket-outcomes.json` mit `pending|learned|failed`
|
||||
- Stale-Run-Schutz: Trusted Outcome nur, wenn der GLPI-Ticketzustand noch zum analysierten Run passt
|
||||
- unveränderliche Outcome-Revisionskette via `supersedes_id`
|
||||
- idempotente Wiederholung bereits gelernter menschlicher Entscheidungen
|
||||
- UI-Aktionen **KI-Antwort bestätigen** und **KI-Antwort korrigieren** im Run-Drawer
|
||||
- Control Center zeigt Controlled Learning, Outcome Learning, Research/SearXNG und Autonomy read-only an
|
||||
- `SEARXNG_SECRET` im Secret-Generator
|
||||
|
||||
## Vertrauensmodell
|
||||
|
||||
- Web Search: 0.45
|
||||
- Web Page/Document: 0.60
|
||||
- human accepted outcome: 1.00
|
||||
- human corrected outcome: 1.00
|
||||
|
||||
Web-Evidence bleibt source-backed, deduplizierbar und korroborierbar. Sie wird nicht mit einem menschlich bestätigten Helpdesk-Outcome gleichgesetzt.
|
||||
|
||||
## Bewusste Grenzen
|
||||
|
||||
- SearXNG ist standardmäßig aus.
|
||||
- Research ist standardmäßig aus.
|
||||
- Autonomy ist standardmäßig aus.
|
||||
- Research darf nicht direkt in die Produktions-KB schreiben.
|
||||
- Das Control Center bleibt read-only.
|
||||
- GLPI-Aktionen bleiben beim policy-gated Agenten.
|
||||
|
||||
## Upgrade
|
||||
|
||||
Siehe `docs/MIGRATION-v1.1.0-to-v1.2.0.md` und `docs/CONTROLLED-AUTONOMY.md`.
|
||||
47
RELEASE-NOTES-v1.3.0.md
Normal file
47
RELEASE-NOTES-v1.3.0.md
Normal file
@@ -0,0 +1,47 @@
|
||||
# Release Notes v1.3.0 — Closed Learning Loop
|
||||
|
||||
## Schwerpunkt
|
||||
|
||||
v1.3.0 schließt die wichtigste Produktionslücke aus v1.2.0: menschlich validierte Helpdesk-Erfahrung wird nicht nur gespeichert, sondern bei späteren ähnlichen Tickets wieder als kontrollierte Evidenz genutzt. Gleichzeitig bleiben offizielle Knowledge-Artikel die einzige Autorität für Auto-Reply.
|
||||
|
||||
## Neu
|
||||
|
||||
- App-Key-geschützte Outcome-Suche `POST /api/v1/integrations/outcomes/search`
|
||||
- Retrieval ausschließlich aus aktiven `glpi.outcome.accepted|corrected`-Memories
|
||||
- menschlich validierte Outcomes als sekundäre Evidenz im Reply-Kontext
|
||||
- Outcome-Evidenz kann niemals selbst eine Knowledge-ID autorisieren
|
||||
- expliziter LLM-Prompt-Guard gegen das Einführen nicht durch die KB belegter Lösungen
|
||||
- echte NeuroForge-Supersession: eine Korrektur setzt die frühere Outcome-Memory auf `superseded`
|
||||
- Revisionskante `new.Supersedes -> oldID` bleibt auditierbar
|
||||
- supersedete Outcomes werden nicht mehr gesucht
|
||||
- korrigierte aktive Outcome-Memories enthalten die alte falsche KI-Antwort nicht mehr im semantisch durchsuchbaren Text
|
||||
- in-memory Provenance-Source-Index für source-/namespace-begrenzte Fallback-Suchen
|
||||
- Agent-KPIs für Outcome-Suchen, Treffer, Fehler, Accepted/Corrected/Failed/Idempotent
|
||||
- NeuroForge-KPIs für NFVJ2/SQAR: raw/stored bytes, Savings, SQAR-/Compressed-Blocks
|
||||
- read-only Quality-Replay API `POST /api/quality/replay`
|
||||
- `scripts/quality-replay.py` + Beispiel-Dataset
|
||||
- Replay-Kennzahlen: Knowledge Recall@K, Knowledge MRR, Outcome Recall@K, Outcome MRR, Experience-Rescue-Cases
|
||||
- Agent-WebUI zeigt validierte Outcome-Kandidaten und Suchdauer/-fehler pro Run
|
||||
- Agent-Konfiguration und Control Center zeigen Outcome-Retrieval-K, Similarity-Floor und Failure Policy
|
||||
|
||||
## Sicherheitsmodell
|
||||
|
||||
Der Agent führt weiterhin die verbindlichen GLPI-Policies aus. Ein validiertes Outcome ist Erfahrungswissen, kein freigegebener Knowledge-Artikel. Deshalb gilt weiterhin:
|
||||
|
||||
```text
|
||||
validated outcome alone != auto reply authority
|
||||
```
|
||||
|
||||
Für einen Auto-Reply muss weiterhin ein freigegebener Knowledge-Kandidat die bestehenden Retrieval-, Source-, Category-, Evidence- und Confidence-Gates bestehen.
|
||||
|
||||
## Skalierung
|
||||
|
||||
Der NeuroForge-Fallback für Provenance-/Namespace-Suchen iteriert nicht mehr über den kompletten Memory-Katalog. Ein rebuildbarer In-Memory-Index `provenance source -> memory IDs` begrenzt den Exact-Fallback auf die jeweilige Source. Der globale ANN-Index bleibt für die schnelle Kandidatengewinnung bestehen.
|
||||
|
||||
## Qualitätsmessung
|
||||
|
||||
Der neue Replay-Endpunkt ist read-only und verändert weder GLPI noch Knowledge noch NeuroForge. Er ist für einen historischen Ticket-Korpus gedacht, damit nicht nur technische Persistenz, sondern die tatsächliche Retrieval-Wirkung des Lernens gemessen werden kann.
|
||||
|
||||
## Upgrade
|
||||
|
||||
Siehe `docs/MIGRATION-v1.2.0-to-v1.3.0.md`, `docs/QUALITY-REPLAY.md` und `docs/CONTROLLED-AUTONOMY.md`.
|
||||
25
RELEASE-NOTES-v1.4.0.md
Normal file
25
RELEASE-NOTES-v1.4.0.md
Normal file
@@ -0,0 +1,25 @@
|
||||
# GLPI NeuroForge Mega v1.4.0
|
||||
|
||||
## Unified Graph Explorer
|
||||
|
||||
- read-only graph explorer in Control Center with 2D/3D modes, filters, inspector and bounded node budgets
|
||||
- Ticket Evidence graph including KB candidates, validated outcomes, policy gates, model attempts, proposed answer and human result
|
||||
- Learning Lineage with accepted/corrected outcomes and immutable supersession chains
|
||||
- Research Provenance from goal/query/source/evidence to learned memory
|
||||
- bounded/redacted NeuroForge Brain graph
|
||||
- reproducible Engineering Graph generated from Go AST plus Docker Compose topology
|
||||
- Change Impact / blast-radius view for files, symbols and routes
|
||||
- optional developer-only Codebase Memory MCP link/integration; no production dependency
|
||||
|
||||
## Security and control
|
||||
|
||||
- new dedicated `CONTROL_READ_TOKEN` for Agent graph reads; no Agent admin credentials are given to Control Center
|
||||
- NeuroForge graph endpoints remain app-key scoped and omit vectors/full source bodies
|
||||
- server-side graph budgets and progressive filtering protect browser/runtime resources
|
||||
- Codebase Memory remains optional and cannot affect platform readiness
|
||||
|
||||
## Operations
|
||||
|
||||
- `make engineering-graph` and `make engineering-graph-check`
|
||||
- `scripts/codebase-memory-ui.sh` for optional local developer analysis
|
||||
- `.cbmignore` included
|
||||
0
backups/.gitkeep
Normal file
0
backups/.gitkeep
Normal file
26
deploy/searxng/settings.yml
Normal file
26
deploy/searxng/settings.yml
Normal file
@@ -0,0 +1,26 @@
|
||||
# Private SearXNG instance for NeuroForge research.
|
||||
# SEARXNG_SECRET and SEARXNG_BASE_URL override the corresponding server values.
|
||||
use_default_settings: true
|
||||
|
||||
general:
|
||||
debug: false
|
||||
instance_name: "NeuroForge Research Search"
|
||||
|
||||
search:
|
||||
safe_search: 1
|
||||
formats:
|
||||
- html
|
||||
- json
|
||||
|
||||
server:
|
||||
secret_key: "overridden-by-SEARXNG_SECRET"
|
||||
limiter: false
|
||||
public_instance: false
|
||||
image_proxy: false
|
||||
default_http_headers:
|
||||
X-Robots-Tag: "noindex, nofollow"
|
||||
Referrer-Policy: "no-referrer"
|
||||
|
||||
outgoing:
|
||||
request_timeout: 5.0
|
||||
max_request_timeout: 15.0
|
||||
235
docker-compose.yml
Normal file
235
docker-compose.yml
Normal file
@@ -0,0 +1,235 @@
|
||||
name: glpi-neuroforge-mega
|
||||
|
||||
services:
|
||||
ollama:
|
||||
image: ollama/ollama:latest
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ollama-data:/root/.ollama
|
||||
ports:
|
||||
- "127.0.0.1:${OLLAMA_HOST_PORT:-11434}:11434"
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
|
||||
searxng:
|
||||
image: ${SEARXNG_IMAGE:-docker.io/searxng/searxng:latest}
|
||||
profiles: ["research"]
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
SEARXNG_SECRET: ${SEARXNG_SECRET}
|
||||
SEARXNG_BASE_URL: http://searxng:8080/
|
||||
FORCE_OWNERSHIP: "false"
|
||||
volumes:
|
||||
- ./deploy/searxng/settings.yml:/etc/searxng/settings.yml:ro
|
||||
- searxng-cache:/var/cache/searxng
|
||||
ports:
|
||||
- "127.0.0.1:${SEARXNG_HOST_PORT:-8888}:8080"
|
||||
read_only: true
|
||||
tmpfs:
|
||||
- /tmp:size=64m,mode=1777
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
cap_drop: ["ALL"]
|
||||
|
||||
neuroforge:
|
||||
build:
|
||||
context: ./platform/neuroforge
|
||||
target: server
|
||||
command: ["-data", "/app/data", "-listen", ":8080"]
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
NEUROFORGE_ADMIN_TOKEN: ${NEUROFORGE_ADMIN_TOKEN}
|
||||
NEUROFORGE_APP_API_KEY: ${NEUROFORGE_APP_API_KEY}
|
||||
NEUROFORGE_WORKER_TOKEN: ${NEUROFORGE_WORKER_TOKEN}
|
||||
NEUROFORGE_METRICS_TOKEN: ${NEUROFORGE_METRICS_TOKEN}
|
||||
NEUROFORGE_CLUSTER_TOKEN: ${NEUROFORGE_CLUSTER_TOKEN:-}
|
||||
OPENAI_API_KEY: ${OPENAI_API_KEY:-}
|
||||
NEUROFORGE_OLLAMA_URL: http://ollama:11434
|
||||
NEUROFORGE_OLLAMA_CHAT_MODEL: ${OLLAMA_MODEL:-gemma3}
|
||||
NEUROFORGE_OLLAMA_EMBEDDING_MODEL: ${OLLAMA_EMBEDDING_MODEL:-embeddinggemma}
|
||||
NEUROFORGE_CONTROLLED_LEARNING: ${NEUROFORGE_CONTROLLED_LEARNING:-true}
|
||||
NEUROFORGE_RESEARCH_ENABLED: ${NEUROFORGE_RESEARCH_ENABLED:-false}
|
||||
NEUROFORGE_SEARXNG_ENABLED: ${NEUROFORGE_SEARXNG_ENABLED:-false}
|
||||
NEUROFORGE_SEARXNG_URL: ${NEUROFORGE_SEARXNG_URL:-http://searxng:8080}
|
||||
NEUROFORGE_RESEARCH_GOAL_ENABLED: ${NEUROFORGE_RESEARCH_GOAL_ENABLED:-true}
|
||||
NEUROFORGE_AUTONOMY_ENABLED: ${NEUROFORGE_AUTONOMY_ENABLED:-false}
|
||||
NEUROFORGE_AUTONOMY_INTERVAL_MINUTES: ${NEUROFORGE_AUTONOMY_INTERVAL_MINUTES:-30}
|
||||
NEUROFORGE_RESEARCH_MAX_QUERIES: ${NEUROFORGE_RESEARCH_MAX_QUERIES:-2}
|
||||
NEUROFORGE_RESEARCH_MAX_PAGES: ${NEUROFORGE_RESEARCH_MAX_PAGES:-4}
|
||||
ports:
|
||||
- "127.0.0.1:${NEUROFORGE_HOST_PORT:-8090}:8080"
|
||||
volumes:
|
||||
- neuroforge-data:/app/data
|
||||
depends_on:
|
||||
- ollama
|
||||
read_only: true
|
||||
tmpfs:
|
||||
- /tmp:size=64m,mode=1777
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
cap_drop: ["ALL"]
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "-q", "-O", "-", "http://127.0.0.1:8080/readyz"]
|
||||
interval: 15s
|
||||
timeout: 3s
|
||||
retries: 8
|
||||
start_period: 10s
|
||||
|
||||
neuroforge-worker:
|
||||
build:
|
||||
context: ./platform/neuroforge
|
||||
target: worker
|
||||
command: ["-server", "http://neuroforge:8080", "-token", "${NEUROFORGE_WORKER_TOKEN}", "-id", "mega-worker-1"]
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
neuroforge:
|
||||
condition: service_healthy
|
||||
read_only: true
|
||||
tmpfs:
|
||||
- /tmp:size=32m,mode=1777
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
cap_drop: ["ALL"]
|
||||
|
||||
agent-data-init:
|
||||
build:
|
||||
context: ./services/agent
|
||||
target: data-init
|
||||
restart: "no"
|
||||
user: "0:0"
|
||||
volumes:
|
||||
- agent-data:/app/data
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
cap_drop: ["ALL"]
|
||||
cap_add: ["CHOWN", "FOWNER"]
|
||||
|
||||
agent:
|
||||
build:
|
||||
context: ./services/agent
|
||||
restart: unless-stopped
|
||||
env_file: .env
|
||||
environment:
|
||||
DATA_DIR: /app/data
|
||||
KNOWLEDGE_DIR: /app/knowledge
|
||||
OLLAMA_URL: http://ollama:11434
|
||||
KNOWLEDGE_VECTOR_BACKEND: ${KNOWLEDGE_VECTOR_BACKEND:-dual}
|
||||
NEUROFORGE_URL: http://neuroforge:8080
|
||||
NEUROFORGE_API_KEY: ${NEUROFORGE_APP_API_KEY}
|
||||
NEUROFORGE_NAMESPACE: ${NEUROFORGE_NAMESPACE:-glpi-agent}
|
||||
NEUROFORGE_SEARCH_K: ${NEUROFORGE_SEARCH_K:-128}
|
||||
NEUROFORGE_FAIL_OPEN: ${NEUROFORGE_FAIL_OPEN:-true}
|
||||
BRAIN_ACTIVITY_URL: http://neuroforge:8080/api/v1/integrations/events
|
||||
BRAIN_ACTIVITY_API_KEY: ${NEUROFORGE_APP_API_KEY}
|
||||
OUTCOME_LEARNING_ENABLED: ${OUTCOME_LEARNING_ENABLED:-true}
|
||||
OUTCOME_LEARNING_FAIL_OPEN: ${OUTCOME_LEARNING_FAIL_OPEN:-false}
|
||||
OUTCOME_LEARNING_MAX_OUTCOMES: ${OUTCOME_LEARNING_MAX_OUTCOMES:-2000}
|
||||
OUTCOME_RETRIEVAL_ENABLED: ${OUTCOME_RETRIEVAL_ENABLED:-true}
|
||||
OUTCOME_RETRIEVAL_SEARCH_K: ${OUTCOME_RETRIEVAL_SEARCH_K:-6}
|
||||
OUTCOME_RETRIEVAL_MIN_SIMILARITY: ${OUTCOME_RETRIEVAL_MIN_SIMILARITY:-0.58}
|
||||
OUTCOME_RETRIEVAL_FAIL_OPEN: ${OUTCOME_RETRIEVAL_FAIL_OPEN:-true}
|
||||
CONTROL_READ_TOKEN: ${CONTROL_READ_TOKEN}
|
||||
ports:
|
||||
- "127.0.0.1:${AGENT_HOST_PORT:-8080}:8080"
|
||||
volumes:
|
||||
- agent-data:/app/data
|
||||
- ./knowledge:/app/knowledge:ro
|
||||
depends_on:
|
||||
agent-data-init:
|
||||
condition: service_completed_successfully
|
||||
neuroforge:
|
||||
condition: service_healthy
|
||||
ollama:
|
||||
condition: service_started
|
||||
read_only: true
|
||||
tmpfs:
|
||||
- /tmp:size=64m,mode=1777
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
cap_drop: ["ALL"]
|
||||
|
||||
knowledge:
|
||||
build:
|
||||
context: ./services/knowledge
|
||||
restart: unless-stopped
|
||||
env_file: .env
|
||||
environment:
|
||||
APP_MODE: ${KB_APP_MODE:-editor}
|
||||
DATA_DIR: /data/knowledge
|
||||
BACKUP_DIR: /data/backups
|
||||
STAGING_DIR: /data/staging
|
||||
LISTEN_ADDR: :8080
|
||||
OLLAMA_BASE_URL: http://ollama:11434
|
||||
OLLAMA_MODEL: ${OLLAMA_MODEL:-gemma3}
|
||||
BRAIN_ACTIVITY_URL: http://neuroforge:8080/api/v1/integrations/events
|
||||
BRAIN_ACTIVITY_API_KEY: ${NEUROFORGE_APP_API_KEY}
|
||||
KB_INTEGRATION_TOKEN: ${KB_INTEGRATION_TOKEN}
|
||||
ports:
|
||||
- "127.0.0.1:${KNOWLEDGE_HOST_PORT:-8081}:8080"
|
||||
volumes:
|
||||
- ./knowledge:/data/knowledge:rw
|
||||
- ./staging:/data/staging:rw
|
||||
- ./backups:/data/backups:rw
|
||||
depends_on:
|
||||
neuroforge:
|
||||
condition: service_healthy
|
||||
ollama:
|
||||
condition: service_started
|
||||
read_only: true
|
||||
tmpfs:
|
||||
- /tmp:size=32m,mode=1777
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
cap_drop: ["ALL"]
|
||||
|
||||
control:
|
||||
build:
|
||||
context: ./services/control
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
CONTROL_ADDR: :8070
|
||||
AGENT_URL: http://agent:8080
|
||||
KNOWLEDGE_URL: http://knowledge:8080
|
||||
NEUROFORGE_URL: http://neuroforge:8080
|
||||
NEUROFORGE_API_KEY: ${NEUROFORGE_APP_API_KEY}
|
||||
CONTROL_READ_TOKEN: ${CONTROL_READ_TOKEN}
|
||||
CODEBASE_MEMORY_URL: ${CODEBASE_MEMORY_URL:-}
|
||||
PUBLIC_CODEBASE_MEMORY_URL: ${PUBLIC_CODEBASE_MEMORY_URL:-}
|
||||
KNOWLEDGE_VECTOR_BACKEND: ${KNOWLEDGE_VECTOR_BACKEND:-dual}
|
||||
NEUROFORGE_SEARCH_K: ${NEUROFORGE_SEARCH_K:-128}
|
||||
NEUROFORGE_FAIL_OPEN: ${NEUROFORGE_FAIL_OPEN:-true}
|
||||
NEUROFORGE_CONTROLLED_LEARNING: ${NEUROFORGE_CONTROLLED_LEARNING:-true}
|
||||
OUTCOME_LEARNING_ENABLED: ${OUTCOME_LEARNING_ENABLED:-true}
|
||||
OUTCOME_RETRIEVAL_ENABLED: ${OUTCOME_RETRIEVAL_ENABLED:-true}
|
||||
OUTCOME_RETRIEVAL_SEARCH_K: ${OUTCOME_RETRIEVAL_SEARCH_K:-6}
|
||||
OUTCOME_RETRIEVAL_MIN_SIMILARITY: ${OUTCOME_RETRIEVAL_MIN_SIMILARITY:-0.58}
|
||||
OUTCOME_RETRIEVAL_FAIL_OPEN: ${OUTCOME_RETRIEVAL_FAIL_OPEN:-true}
|
||||
NEUROFORGE_RESEARCH_ENABLED: ${NEUROFORGE_RESEARCH_ENABLED:-false}
|
||||
NEUROFORGE_SEARXNG_ENABLED: ${NEUROFORGE_SEARXNG_ENABLED:-false}
|
||||
NEUROFORGE_AUTONOMY_ENABLED: ${NEUROFORGE_AUTONOMY_ENABLED:-false}
|
||||
PUBLIC_AGENT_URL: http://localhost:${AGENT_HOST_PORT:-8080}
|
||||
PUBLIC_KNOWLEDGE_URL: http://localhost:${KNOWLEDGE_HOST_PORT:-8081}
|
||||
PUBLIC_NEUROFORGE_URL: http://localhost:${NEUROFORGE_HOST_PORT:-8090}/admin
|
||||
ports:
|
||||
- "127.0.0.1:${CONTROL_HOST_PORT:-8070}:8070"
|
||||
depends_on:
|
||||
neuroforge:
|
||||
condition: service_healthy
|
||||
agent:
|
||||
condition: service_started
|
||||
knowledge:
|
||||
condition: service_started
|
||||
read_only: true
|
||||
tmpfs:
|
||||
- /tmp:size=16m,mode=1777
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
cap_drop: ["ALL"]
|
||||
extra_hosts:
|
||||
- "host.docker.internal:host-gateway"
|
||||
|
||||
volumes:
|
||||
neuroforge-data:
|
||||
agent-data:
|
||||
ollama-data:
|
||||
searxng-cache:
|
||||
202
docs/ARCHITECTURE.md
Normal file
202
docs/ARCHITECTURE.md
Normal file
@@ -0,0 +1,202 @@
|
||||
# Architektur
|
||||
|
||||
## Zielbild
|
||||
|
||||
```text
|
||||
┌─────────────────────┐
|
||||
│ GLPI │
|
||||
└─────────┬───────────┘
|
||||
│
|
||||
▼
|
||||
┌─────────────────────┐
|
||||
│ GLPI AI Agent │
|
||||
│ policies / actions │
|
||||
└──────┬───────┬──────┘
|
||||
│ │ events
|
||||
semantic query │ └──────────────┐
|
||||
▼ ▼
|
||||
┌─────────────────────┐ ┌──────────────┐
|
||||
│ NeuroForge Brain │ │ Control │
|
||||
│ HNSW / Disk-PQ │ │ read-only │
|
||||
│ NFVJ2 + SQAR │ └──────────────┘
|
||||
│ memory / research │
|
||||
│ validated outcomes │
|
||||
└─────────┬───────────┘
|
||||
│ draft proposal only
|
||||
▼
|
||||
┌─────────────────────┐
|
||||
│ Knowledge Staging │
|
||||
│ human review │
|
||||
└─────────┬───────────┘
|
||||
│ promote
|
||||
▼
|
||||
┌─────────────────────┐
|
||||
│ Production KB │
|
||||
└─────────┬───────────┘
|
||||
│ shared files / incremental scan
|
||||
└──────────────► Agent
|
||||
```
|
||||
|
||||
## Verantwortungsgrenzen
|
||||
|
||||
### GLPI AI Agent
|
||||
|
||||
Bleibt die autoritative Schicht für:
|
||||
|
||||
- Kategorien- und Prioritätslogik
|
||||
- Eskalation
|
||||
- Auto-Reply-Gates
|
||||
- GLPI-Schreiboperationen
|
||||
- Dry-Run
|
||||
- Idempotenz und Ticket-State
|
||||
- Hybrid-Scoring nach semantischer Kandidatensuche
|
||||
- Quellen-Allowlisten
|
||||
|
||||
NeuroForge darf diese Regeln weder verändern noch umgehen.
|
||||
|
||||
### NeuroForge
|
||||
|
||||
Ist die autoritative Schicht für zentral externalisierte Chunk-Vektoren:
|
||||
|
||||
- namespace-isolierte Knowledge-Chunks
|
||||
- HNSW-/Disk-PQ-Kandidatensuche
|
||||
- Vector Journal NFVJ2
|
||||
- SQAR-Kompression des Vector Journals
|
||||
- Brain-/Knowledge-Events
|
||||
- eigenes Learning/Research
|
||||
|
||||
Die neue Integrations-API ist mit dem App Key geschützt und enthält bewusst keine Admin-Funktionen.
|
||||
|
||||
### Knowledgebase
|
||||
|
||||
Bleibt die Governance-Schicht:
|
||||
|
||||
- kanonische JSON-Artikel
|
||||
- Editor
|
||||
- Suche
|
||||
- Staging
|
||||
- Backup
|
||||
- Review
|
||||
- Promotion
|
||||
|
||||
Maschinelle Integrationen können nur Staging-Entwürfe ablegen.
|
||||
|
||||
## Datenfluss für Retrieval
|
||||
|
||||
```text
|
||||
Tickettext
|
||||
-> Embedding-Profil des Agenten
|
||||
-> NeuroForge namespace search
|
||||
-> Top-N semantische Kandidaten
|
||||
-> Agent ordnet Treffer Dokumenten zu
|
||||
-> exakte lokale Titel-/Keyword-/Kategorie-/Lexikal-Signale
|
||||
-> deterministischer Hybrid-Score
|
||||
-> bestehende GLPI Policy-Gates
|
||||
-> ggf. Aktion
|
||||
```
|
||||
|
||||
Damit bleibt ANN ein Kandidatengenerator, nicht die finale Policy-Entscheidung.
|
||||
|
||||
## Persistenz
|
||||
|
||||
### Agent
|
||||
|
||||
- lokale Knowledge-Metadaten und Chunks
|
||||
- Titelvektoren
|
||||
- im `local`/`dual`-Modus auch Chunk-Vektoren
|
||||
- Audit-/Run-/State-Dateien
|
||||
|
||||
### NeuroForge
|
||||
|
||||
- Memory/WAL/Segments
|
||||
- HNSW bzw. Disk-PQ
|
||||
- NFVJ2 Vector Journal
|
||||
- SQAR nur auf geeigneten Vektorblöcken
|
||||
|
||||
### Knowledgebase
|
||||
|
||||
- `knowledge/` produktiv
|
||||
- `staging/` ungeprüft
|
||||
- `backups/` Recovery
|
||||
|
||||
## Konsistenzmodell
|
||||
|
||||
Die JSON-Knowledgebase bleibt fachlich kanonisch. NeuroForge ist ein abgeleiteter semantischer Index. Dokument-IDs und Chunk-Indizes erzeugen deterministische NeuroForge-Memory-IDs. Änderungen ersetzen Chunks batchweise; entfernte Chunks werden entfernt. Dadurch kann ein kompletter Neuaufbau aus der Knowledgebase erfolgen.
|
||||
|
||||
## Eventing
|
||||
|
||||
Die vorhandenen `brainactivity`-Clients zeigen jetzt auf:
|
||||
|
||||
```text
|
||||
POST /api/v1/integrations/events
|
||||
```
|
||||
|
||||
Diese Events sind Telemetrie/Audit, keine Policy-Eingaben. Beispiele sind `knowledge.search` sowie Synchronisationsereignisse.
|
||||
|
||||
|
||||
## Kontrolliertes Lernmodell (v1.2.0)
|
||||
|
||||
### Human Outcome Gate
|
||||
|
||||
```text
|
||||
Ticket -> AI proposal -> technician accept/correct
|
||||
|
|
||||
v
|
||||
immutable local audit
|
||||
| App Key
|
||||
v
|
||||
/api/v1/integrations/outcomes
|
||||
|
|
||||
v
|
||||
trusted semantic outcome memory
|
||||
```
|
||||
|
||||
Der Agent bestimmt nicht selbst die vertrauenswürdige Provenance. NeuroForge akzeptiert über diesen Pfad ausschließlich `accepted` und `corrected` und setzt `glpi.outcome.*` serverseitig. Eine spätere Korrektur wird als neue Outcome-Version mit `supersedes_id` geführt.
|
||||
|
||||
### Optionaler Research-Layer
|
||||
|
||||
```text
|
||||
[compose profile: research]
|
||||
SearXNG
|
||||
|
|
||||
v
|
||||
Goal/manual research -> Search -> Fetch -> Evidence
|
||||
|
|
||||
v
|
||||
provenance + dedup +
|
||||
independent corroboration
|
||||
|
|
||||
v
|
||||
NeuroForge Memory
|
||||
|
|
||||
v
|
||||
KB staging only
|
||||
```
|
||||
|
||||
Research-Infrastruktur und zeitgesteuerte Autonomie sind getrennt. `NEUROFORGE_AUTONOMY_ENABLED=false` verhindert selbstlaufende Goal-Cycles auch dann, wenn SearXNG und manuelles Research aktiv sind.
|
||||
|
||||
## v1.3: Closed Outcome Feedback Loop
|
||||
|
||||
Menschlich validierte Helpdesk-Erfahrung besitzt einen eigenen, schmalen Retrieval-Pfad:
|
||||
|
||||
```text
|
||||
Agent ticket query
|
||||
|--------------------------|
|
||||
v v
|
||||
Knowledge namespace Validated outcomes
|
||||
HNSW/PQ + hybrid active accepted/corrected only
|
||||
| |
|
||||
+------------+-------------+
|
||||
v
|
||||
Reply selection
|
||||
|
|
||||
Knowledge ID allow-list
|
||||
|
|
||||
Policy gates / GLPI
|
||||
```
|
||||
|
||||
Die beiden Evidenzklassen werden absichtlich nicht vermischt. Outcome-Memories liegen im NeuroForge-Brain und sind Trust-/Revision-basiert; Knowledge bleibt die veröffentlichte Autorität. Bei Korrekturen bleiben alte Memories auditierbar, wechseln aber auf `superseded` und sind nicht mehr search-active.
|
||||
|
||||
Für source-begrenzte Exact-Fallbacks hält der Store einen rebuildbaren In-Memory-Index `Provenance.Source -> Memory IDs`. Damit wächst der Fallback mit der betreffenden Integration/Source statt mit dem gesamten Memory-Katalog. HNSW/Disk-PQ bleiben globale Kandidatenindizes.
|
||||
|
||||
Die Qualitätsmessung ist vom Schreibpfad getrennt: `/api/quality/replay` ist read-only und evaluiert live die aktuelle Knowledge-/Outcome-Retrieval-Konfiguration gegen einen bereitgestellten historischen Fallkorpus.
|
||||
26
docs/CODEBASE-MEMORY-MCP.md
Normal file
26
docs/CODEBASE-MEMORY-MCP.md
Normal file
@@ -0,0 +1,26 @@
|
||||
# Optional Codebase Memory MCP integration
|
||||
|
||||
`codebase-memory-mcp` is an optional developer tool, not a production dependency and not an authoritative NeuroForge store. The project uses its structural-code-graph ideas while retaining an in-repo Go AST/Compose snapshot for reproducibility.
|
||||
|
||||
## Why optional
|
||||
|
||||
The external tool can provide deeper MCP/Cypher/code-navigation and its own rich graph UI. The Mega project's runtime, GLPI decisions, learning and Control Center do not depend on it.
|
||||
|
||||
## Local use
|
||||
|
||||
Install `codebase-memory-mcp` according to the upstream project, then run:
|
||||
|
||||
```sh
|
||||
./scripts/codebase-memory-ui.sh
|
||||
```
|
||||
|
||||
The helper sets `CBM_ALLOWED_ROOT` to this repository, indexes it through the upstream CLI and starts the optional UI (default port 9749). `.cbmignore` keeps generated/runtime data out of indexing.
|
||||
|
||||
To expose its status/link in the Control Center set, as appropriate for your host/network:
|
||||
|
||||
```env
|
||||
CODEBASE_MEMORY_URL=http://host.docker.internal:9749
|
||||
PUBLIC_CODEBASE_MEMORY_URL=http://localhost:9749
|
||||
```
|
||||
|
||||
Leave `CODEBASE_MEMORY_URL` empty when the Control container should not health-check the developer service. The component is always optional and never affects platform readiness.
|
||||
48
docs/CONTROL-CENTER.md
Normal file
48
docs/CONTROL-CENTER.md
Normal file
@@ -0,0 +1,48 @@
|
||||
# Control Center und Interaktion
|
||||
|
||||
Das Control Center ist absichtlich read-only. Es ist eine Beobachtungs- und Navigationsschicht, nicht der gemeinsame Super-Admin der Plattform.
|
||||
|
||||
## Warum read-only?
|
||||
|
||||
Ein einziges Dashboard mit GLPI-Schreibrechten, Knowledge-Editor-Rechten und NeuroForge-Admin-Token würde bei einem Fehler oder einer Kompromittierung alle Trust Boundaries gleichzeitig aufheben. Das Mega-Projekt trennt deshalb Statussicht und Schreibrechte.
|
||||
|
||||
## Wo Daten verändert werden
|
||||
|
||||
- **GLPI Agent:** policy-gated Ticket-/Followup-/Kategorie-/Eskalationsaktionen.
|
||||
- **Knowledgebase:** Artikel bearbeiten, Staging prüfen und nach menschlicher Freigabe promoten.
|
||||
- **NeuroForge Admin:** Brain-/Storage-/Provider-Verwaltung mit separatem Admin-Token.
|
||||
- **Integration Draft API:** maschinelle Vorschläge ausschließlich nach Staging; `auto_reply=false` wird serverseitig erzwungen.
|
||||
|
||||
Das Control Center verlinkt diese Oberflächen und aggregiert Health/Readiness sowie die aktiven Vektor-Migrationsparameter. Es besitzt selbst keine Route, die Produktionsdaten verändert.
|
||||
|
||||
## Erweiterungsregel
|
||||
|
||||
Falls zentrale Aktionen später direkt im Control Center benötigt werden, sollten sie als einzelne delegierte Operationen mit eigenem Scope, Audit-Eintrag und expliziter Bestätigung implementiert werden. Die Admin-Credentials der Zielsysteme sollen nicht pauschal im Control Center hinterlegt werden.
|
||||
|
||||
|
||||
## v1.2.0: Controlled-Autonomy-Status
|
||||
|
||||
Das Control Center zeigt zusätzlich die effektiven Stack-Schalter für:
|
||||
|
||||
- Controlled Learning
|
||||
- Outcome Learning
|
||||
- Research/SearXNG
|
||||
- Autonomy
|
||||
|
||||
Diese Anzeigen sind bewusst nur Beobachtung. Das Aktivieren von Research oder Autonomy erfolgt über Betreiberkonfiguration/Compose bzw. NeuroForge-Admin, nicht über einen globalen Super-Admin-Schalter im Control Center.
|
||||
|
||||
## v1.3.0: Lernwirkung sichtbar machen
|
||||
|
||||
Das Control Center zeigt zusätzlich:
|
||||
|
||||
- Outcome Retrieval an/aus
|
||||
- Retrieval-K
|
||||
- Similarity-Floor
|
||||
- fail-open/fail-closed der Erfahrungs-Suche
|
||||
- Verfügbarkeit des read-only Quality-Replay-Endpunkts im Agenten
|
||||
|
||||
Die eigentlichen Laufzeitmetriken und Einzelfall-Evidenzen bleiben beim Agenten bzw. Prometheus. Das Control Center erhält dafür weiterhin keine Outcome-Schreib- oder NeuroForge-Adminrechte.
|
||||
|
||||
## v1.4 Unified Graph Explorer
|
||||
|
||||
The Control Center remains read-only. Its graph views use a dedicated Agent `CONTROL_READ_TOKEN` and the scoped NeuroForge app key. The Engineering Graph is embedded from a reproducible Go AST/Compose snapshot; optional Codebase Memory MCP is developer-only. See `UNIFIED-GRAPH.md`.
|
||||
83
docs/CONTROL-MATRIX.md
Normal file
83
docs/CONTROL-MATRIX.md
Normal file
@@ -0,0 +1,83 @@
|
||||
# Kontroll- und Berechtigungsmatrix
|
||||
|
||||
| Capability | Agent | KB Editor | NeuroForge App API | NeuroForge Admin | Control Center |
|
||||
|---|---:|---:|---:|---:|---:|
|
||||
| GLPI lesen | ja | nein | nein | nein | nein |
|
||||
| GLPI schreiben | nur Policy-gated | nein | nein | nein | nein |
|
||||
| Produktive KB lesen | ja | ja | indirekt über Sync | nein | nein |
|
||||
| Produktive KB schreiben | nein | ja | nein | nein | nein |
|
||||
| KB-Staging schreiben | nein | ja | über getrennten KB Integration Token möglich | nein | nein |
|
||||
| KB-Staging promoten | nein | ja | nein | nein | nein |
|
||||
| Knowledge-Vektoren upserten | ja, App Key | nein | ja | ja | nein |
|
||||
| Knowledge-Vektoren suchen | ja, App Key | nein | ja | ja | nein |
|
||||
| NeuroForge Config ändern | nein | nein | nein | ja | nein |
|
||||
| NeuroForge Secrets lesen/rotieren | nein | nein | nein | ja | nein |
|
||||
| Systemstatus lesen | eigene Readiness | eigene Health | Stats mit App Key | ja | aggregiert read-only |
|
||||
| Obsidian-Export | Live-Sicht inkl. GLPI-Relations | kanonische KB | nein | nein | verlinkt Ziel-UI |
|
||||
| Human Outcome erfassen | ja, authentifizierter Techniker | nein | empfängt nur validated outcome | sichtbar/admin | Status read-only |
|
||||
| Trusted Outcome-Source setzen | nein | nein | **serverseitig fest** | ja | nein |
|
||||
| SearXNG Research | nein | nein | Research Engine via SearXNG | konfigurierbar | Status read-only |
|
||||
| Autonomy aktivieren | nein | nein | nein | Betreiber/Admin bzw. Env | Status read-only |
|
||||
|
||||
## Credentials
|
||||
|
||||
- `NEUROFORGE_ADMIN_TOKEN`: nur Betreiber/Admin.
|
||||
- `NEUROFORGE_APP_API_KEY`: Agent und read-only Control-Stats; keine Admin-Config.
|
||||
- `NEUROFORGE_WORKER_TOKEN`: nur NeuroForge Worker.
|
||||
- `NEUROFORGE_METRICS_TOKEN`: nur Metrics-Scraper.
|
||||
- `KB_INTEGRATION_TOKEN`: ausschließlich maschineller Staging-Ingress.
|
||||
- `BASIC_AUTH_USER/PASSWORD`: Knowledgebase-Editor.
|
||||
- `WEB_USERNAME/PASSWORD`: Agent-Webzugang.
|
||||
- `SEARXNG_SECRET`: nur optionaler SearXNG-Container/Betreiber.
|
||||
- GLPI-Credentials: ausschließlich Agent.
|
||||
|
||||
## Failure-Policy
|
||||
|
||||
| Einstellung | NeuroForge nicht erreichbar | Verhalten |
|
||||
|---|---|---|
|
||||
| `local` | irrelevant | Agent bleibt vollständig lokal |
|
||||
| `dual` | Fehler wird geloggt | lokale Vektoren bleiben erhalten |
|
||||
| `neuroforge` + fail-open | Fehler wird geloggt | lokale/lexikalische Evidenz soweit verfügbar |
|
||||
| `neuroforge` + fail-closed | Fehler wird propagiert | semantischer Schritt blockiert kontrolliert |
|
||||
|
||||
## Outcome-Learning Failure-Policy
|
||||
|
||||
| Einstellung | NeuroForge-Sync nach Technikerentscheidung | Verhalten |
|
||||
|---|---|---|
|
||||
| `OUTCOME_LEARNING_ENABLED=false` | nicht ausgeführt | kein Outcome-Learning |
|
||||
| enabled + `FAIL_OPEN=false` | Fehler | lokaler Audit bleibt `failed`, UI meldet Fehler |
|
||||
| enabled + `FAIL_OPEN=true` | Fehler | lokaler Audit bleibt `failed`, Workflow darf fortfahren |
|
||||
| enabled + Sync OK | Erfolg | Audit `learned` + NeuroForge Memory-ID |
|
||||
|
||||
## Nicht lernende Kontrollinformationen
|
||||
|
||||
Folgende Informationen bleiben absichtlich außerhalb des NeuroForge-Learnings:
|
||||
|
||||
- GLPI OAuth/API-Secrets
|
||||
- Auto-Reply-Policy
|
||||
- Eskalationsregeln
|
||||
- Idempotenz-/Run-State
|
||||
- Schreibfreigaben
|
||||
- Source-Allowlisten
|
||||
- Review-/Promotion-Status
|
||||
|
||||
## v1.3 zusätzliche Daten- und Aktionsgrenzen
|
||||
|
||||
| Akteur | Outcome suchen | Outcome lernen | Outcome superseden | Quality Replay | Auto-Reply autorisieren |
|
||||
|---|---:|---:|---:|---:|---:|
|
||||
| GLPI Agent App-Key | ja, nur aktives validated Outcome API | ja, accepted/corrected | indirekt nur über neue korrigierte Revision | nein über NeuroForge; eigener read-only Agent-Endpunkt | nur über bestehende Agent-Policies + freigegebene KB |
|
||||
| Agent Web-Operator | indirekt sichtbar | explizit bestätigen/korrigieren | durch Korrektur | ja, authentifiziert/read-only | nicht durch Outcome allein |
|
||||
| NeuroForge Admin | technische Brain-Administration | technisch ja | technisch ja | nein | nein |
|
||||
| Control Center | Status/Konfiguration sichtbar | nein | nein | Verfügbarkeit sichtbar | nein |
|
||||
| Research/SearXNG | nein | Research-Evidence, nicht trusted outcome | nein | nein | nein |
|
||||
|
||||
`POST /api/v1/integrations/outcomes/search` akzeptiert den NeuroForge App-Key und liefert ausschließlich aktive Memories der serverseitig festgelegten Outcome-Provenance. Es ist kein generischer Memory-Search-Endpunkt und gewährt keine Admin-Funktionen.
|
||||
|
||||
### v1.4 graph scopes
|
||||
|
||||
| Actor | Capability | Credential | Write authority |
|
||||
|---|---|---|---|
|
||||
| Control -> Agent | runs/evidence/learning graphs | `CONTROL_READ_TOKEN` | none |
|
||||
| Control -> NeuroForge | research/brain graph | app API key | none through graph endpoints |
|
||||
| Control -> embedded Engineering Graph | structural read | none/internal | none |
|
||||
| Optional Codebase Memory MCP | developer code analysis | local process / allowed root | none in platform |
|
||||
161
docs/CONTROLLED-AUTONOMY.md
Normal file
161
docs/CONTROLLED-AUTONOMY.md
Normal file
@@ -0,0 +1,161 @@
|
||||
# Kontrollierte Autonomie und Outcome-gated Learning
|
||||
|
||||
Stand: v1.3.0
|
||||
|
||||
## Ziel
|
||||
|
||||
NeuroForge soll recherchieren und lernen können, ohne KI-Ausgaben automatisch mit bestätigtem Betriebswissen gleichzusetzen. Der Release trennt deshalb drei Vertrauensklassen:
|
||||
|
||||
| Klasse | Beispiele | Standard-Trust | Freigabe |
|
||||
|---|---|---:|---|
|
||||
| Rohes Modell-/Chat-Signal | `chat.input`, `chat.response` | 0.25 / 0.20 im Controlled Mode | kein automatisches Langzeitlernen |
|
||||
| Quellengebundene Research-Evidence | `web.search`, `web.page` | 0.45 / 0.60 | Provenance + Dedup + unabhängige Corroboration |
|
||||
| Menschlich validiertes Helpdesk-Outcome | `glpi.outcome.accepted`, `glpi.outcome.corrected` | 1.00 | explizite Technikeraktion |
|
||||
|
||||
Die Werte sind eine Ranking-/Learning-Policy, keine Behauptung absoluter Wahrheit. Auch menschlich bestätigtes Wissen bleibt mit Ticket, Run, Actor und Outcome-ID nachvollziehbar.
|
||||
|
||||
## Helpdesk-Lernpfad
|
||||
|
||||
```text
|
||||
GLPI Ticket
|
||||
|
|
||||
v
|
||||
Agent analysiert + erzeugt Antwortvorschlag
|
||||
|
|
||||
v
|
||||
Techniker prüft
|
||||
|--------------------|
|
||||
v v
|
||||
bestätigt korrigiert
|
||||
| |
|
||||
+---------+----------+
|
||||
v
|
||||
lokales Outcome-Audit
|
||||
|
|
||||
v
|
||||
POST /api/v1/integrations/outcomes
|
||||
|
|
||||
v
|
||||
NeuroForge Semantic Memory
|
||||
```
|
||||
|
||||
Vor dem Persistieren liest der Agent bei aktuellen Runs den Ticketzustand erneut aus GLPI und vergleicht ihn mit `SourceVersion`. Hat sich der entscheidungsrelevante Ticketzustand geändert, wird die Validierung blockiert und ein neuer Agent-Run verlangt.
|
||||
|
||||
Nur `accepted` und `corrected` sind zulässig. Der Client kann die vertrauenswürdige Source nicht frei setzen; NeuroForge erzeugt serverseitig `glpi.outcome.accepted` bzw. `glpi.outcome.corrected`.
|
||||
|
||||
### Audit und Revisionen
|
||||
|
||||
`services/agent` speichert Entscheidungen in `DATA_DIR/ticket-outcomes.json`:
|
||||
|
||||
- `pending`: lokal erfasst, Sync noch offen
|
||||
- `learned`: NeuroForge hat eine Memory-ID bestätigt
|
||||
- `failed`: Entscheidung bleibt erhalten, Remote-Sync ist fehlgeschlagen
|
||||
- `supersedes_id`: verweist bei einer späteren Korrektur/Neubewertung auf den vorigen Outcome
|
||||
|
||||
Eine exakt wiederholte Entscheidung ist idempotent. Bereits erfolgreich gelernte Outcomes werden nicht ein zweites Mal an NeuroForge gesendet. Ein `failed`-Outcome kann dagegen bewusst erneut synchronisiert werden.
|
||||
|
||||
Ab v1.3.0 wird eine Revision auch im NeuroForge-Store wirksam: eine neue Korrektur markiert den Vorgänger atomar als `superseded` und trägt die Revisionskante auf der neuen Memory ein. Supersedete Memories bleiben für Audit/History erhalten, werden aber von semantischer Suche ausgeschlossen.
|
||||
|
||||
`OUTCOME_LEARNING_FAIL_OPEN=false` ist der kontrollierte Standard: Ein Remote-Fehler wird dem Techniker sichtbar zurückgegeben. `true` ist nur sinnvoll, wenn lokale Audit-Erfassung wichtiger ist als sofortige zentrale Konsistenz.
|
||||
|
||||
## Validierte Erfahrung wiederverwenden
|
||||
|
||||
Der geschlossene Lernkreis verwendet aktive menschliche Outcomes bei späteren Tickets als sekundäre Evidenz:
|
||||
|
||||
```text
|
||||
neues Ticket
|
||||
|
|
||||
+--> offizielle Knowledge-Kandidaten -----------+
|
||||
| |
|
||||
+--> NeuroForge Outcome Retrieval --------------+
|
||||
v
|
||||
Reply-Auswahl
|
||||
|
|
||||
nur Knowledge-ID aus
|
||||
offizieller Kandidatenliste
|
||||
```
|
||||
|
||||
Konfiguration:
|
||||
|
||||
```env
|
||||
OUTCOME_RETRIEVAL_ENABLED=true
|
||||
OUTCOME_RETRIEVAL_SEARCH_K=6
|
||||
OUTCOME_RETRIEVAL_MIN_SIMILARITY=0.58
|
||||
OUTCOME_RETRIEVAL_FAIL_OPEN=true
|
||||
```
|
||||
|
||||
Die Outcome-Suche greift ausschließlich auf aktive `glpi.outcome.accepted` und `glpi.outcome.corrected` Memories zu. Der LLM-Systemprompt weist zusätzlich explizit an, dass diese Erfahrungen einen Knowledge-Artikel nur stützen oder widerlegen dürfen. Sie dürfen niemals selbst einen Auto-Reply autorisieren oder eine nicht im Artikel belegte Lösung einführen.
|
||||
|
||||
Der Agent protokolliert die verwendeten Outcome-Kandidaten, Similarity, Suchdauer und Fehler pro Run. Prometheus enthält Such-, Treffer-, Fehler- und Learning-Zähler.
|
||||
|
||||
## Wirkung messen
|
||||
|
||||
`POST /api/quality/replay` ist eine read-only Qualitätsprüfung gegen historische Fälle. Sie meldet Knowledge Recall@K/MRR und Outcome Recall@K/MRR. `experience_rescued_cases` zählt konservativ Fälle, in denen die erwartete offizielle KB nicht in Top-K lag, aber eine aktive validierte Erfahrung die erwarteten Lösungsterme enthielt. Das ist ein Learning-Lift-Indikator, keine automatische Produktionsfreigabe.
|
||||
|
||||
Siehe `docs/QUALITY-REPLAY.md`.
|
||||
|
||||
## Controlled Learning
|
||||
|
||||
`NEUROFORGE_CONTROLLED_LEARNING=true` setzt beim Serverstart eine konservative Policy:
|
||||
|
||||
- `learn_chat_inputs=false`
|
||||
- `learn_chat_responses=false`
|
||||
- `allow_explicit_learn=true`
|
||||
- `allow_imports=false`
|
||||
- `learn_goal_cycles=false`
|
||||
- höhere Mindestanforderungen für semantische Konsolidierung
|
||||
- niedriger Trust für Web-/Chat-Signale
|
||||
- maximaler Trust für explizite GLPI-Outcomes
|
||||
|
||||
Damit ist „das Modell hat es gesagt“ kein Lernsignal. Lernen braucht entweder einen expliziten, kontrollierten API-Pfad oder quellengebundene Evidence.
|
||||
|
||||
## Research und SearXNG
|
||||
|
||||
SearXNG ist im Root-Compose als Profil `research` definiert und wird im normalen `docker compose up` nicht gestartet.
|
||||
|
||||
### Research manuell freischalten
|
||||
|
||||
1. In `.env` einen zufälligen `SEARXNG_SECRET` setzen. Für reproduzierbare Produktion `SEARXNG_IMAGE` auf einen freigegebenen Tag oder Digest pinnen.
|
||||
2. Research starten:
|
||||
|
||||
```bash
|
||||
./scripts/research-up.sh
|
||||
```
|
||||
|
||||
Das Script aktiviert für diesen Compose-Aufruf:
|
||||
|
||||
```text
|
||||
NEUROFORGE_RESEARCH_ENABLED=true
|
||||
NEUROFORGE_SEARXNG_ENABLED=true
|
||||
```
|
||||
|
||||
Es aktiviert **nicht** automatisch `NEUROFORGE_AUTONOMY_ENABLED`.
|
||||
|
||||
### Autonomie bewusst separat aktivieren
|
||||
|
||||
Für zeitgesteuerte, selbstinitiierte Goal-Cycles zusätzlich in `.env`:
|
||||
|
||||
```text
|
||||
NEUROFORGE_AUTONOMY_ENABLED=true
|
||||
```
|
||||
|
||||
Ein Goal muss zusätzlich `auto_run`/Research erlauben. Damit sind die infrastrukturelle Suchfähigkeit, manuelles Research und zyklische Autonomie getrennt kontrollierbar.
|
||||
|
||||
## Research-Vertrauen
|
||||
|
||||
Research-Inhalte werden als untrusted external data behandelt. NeuroForge hält Source-URI, Source-ID, Hash, Retrieval-Zeitpunkt und Evidence-Quellen fest. Ähnliche Evidence aus einer weiteren unabhängigen Source erhöht `EvidenceCount` und Confidence über die Corroboration-Logik, statt einen einzelnen Treffer sofort auf Trust 1.0 zu setzen.
|
||||
|
||||
Research darf außerdem nicht direkt produktive Knowledge-Artikel veröffentlichen. Der vorhandene Maschinenpfad endet beim token-geschützten KB-Staging; `auto_reply=false` wird dort serverseitig erzwungen. Promotion bleibt eine menschliche Entscheidung.
|
||||
|
||||
## Empfohlener Produktionsmodus
|
||||
|
||||
```text
|
||||
NEUROFORGE_CONTROLLED_LEARNING=true
|
||||
OUTCOME_LEARNING_ENABLED=true
|
||||
OUTCOME_LEARNING_FAIL_OPEN=false
|
||||
NEUROFORGE_RESEARCH_ENABLED=false
|
||||
NEUROFORGE_SEARXNG_ENABLED=false
|
||||
NEUROFORGE_AUTONOMY_ENABLED=false
|
||||
```
|
||||
|
||||
Research anschließend gezielt aktivieren, beobachten und erst danach – falls gewünscht – Autonomy einschalten.
|
||||
37
docs/IMPLEMENTED.md
Normal file
37
docs/IMPLEMENTED.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# Implementierungsstand
|
||||
|
||||
## Implementiert
|
||||
|
||||
- gemeinsames Monorepo mit `go.work`
|
||||
- gemeinsamer Docker-Compose-Stack
|
||||
- zentraler Ollama-Endpunkt für Agent/KB/NeuroForge
|
||||
- NeuroForge + NFVJ2/SQAR Vector Journal
|
||||
- App-Key-geschützte NeuroForge Knowledge Integration API
|
||||
- namespace-isolierte semantische Suche
|
||||
- Batch-Upsert/Batch-Delete für Knowledge-Chunks
|
||||
- Agent `local` / `dual` / `neuroforge` Betriebsmodi
|
||||
- explizites fail-open / fail-closed
|
||||
- Remote-Semantik bleibt nur Evidenz; Agent-Hybrid-/Policy-Logik bleibt autoritativ
|
||||
- inkrementelle Updates und Löschungen in NeuroForge
|
||||
- vorhandene Brain-Activity-Hooks auf NeuroForge Events
|
||||
- read-only Control Center
|
||||
- gemeinsames produktives `knowledge/` mit KB-RW / Agent-RO
|
||||
- separater Bearer-geschützter Research-/Integration-Draft-Ingress in KB-Staging
|
||||
- Research-Drafts können nicht produktiv schreiben und erzwingen `auto_reply=false`
|
||||
- getrennte Secrets für Admin, App, Worker, Metrics und KB-Staging-Integration
|
||||
- Tests für Namespace-Isolation, Lifecycle, Fail-open/fail-closed und Staging-Governance
|
||||
- optionaler SearXNG-Service als Compose-Profil `research`
|
||||
- Controlled-Learning-Bootstrap ohne automatisches Chat-Input/Assistant-Output-Lernen
|
||||
- Human-Outcome-Learning (`accepted`/`corrected`) über separaten App-Key-Endpunkt
|
||||
- lokales Outcome-Audit mit `pending|learned|failed`, Retry und unveränderlicher Revisionskette
|
||||
- Stale-Run-Schutz gegen Lernen aus überholten GLPI-Ticketzuständen
|
||||
- getrennte Schalter für Research/SearXNG und zeitgesteuerte Autonomie
|
||||
|
||||
## Bewusst nicht automatisiert
|
||||
|
||||
- Kein NeuroForge-Research-Run wird ohne expliziten Workflow automatisch zum KB-Entwurf.
|
||||
- Kein KB-Entwurf wird automatisch promoted.
|
||||
- Keine GLPI-Automation wird durch die Vektormigration automatisch aktiviert.
|
||||
- Das Control Center besitzt keine Admin-Aktionen.
|
||||
|
||||
Diese Grenzen sind Teil des Kontrollmodells und können später gezielt über signierte/approvable Jobs erweitert werden.
|
||||
85
docs/MIGRATION-CUTOVER.md
Normal file
85
docs/MIGRATION-CUTOVER.md
Normal file
@@ -0,0 +1,85 @@
|
||||
# Kontrollierter Cutover
|
||||
|
||||
## Phase 0 – Baseline
|
||||
|
||||
```env
|
||||
KNOWLEDGE_VECTOR_BACKEND=local
|
||||
DRY_RUN=true
|
||||
AUTO_CATEGORY=false
|
||||
AUTO_REPLY=false
|
||||
AUTO_PRIORITY=false
|
||||
AUTO_ESCALATION=false
|
||||
```
|
||||
|
||||
Ziel: unverändertes Agent-Verhalten und Baseline-Metriken sichern.
|
||||
|
||||
## Phase 1 – Dual Mirror
|
||||
|
||||
```env
|
||||
KNOWLEDGE_VECTOR_BACKEND=dual
|
||||
NEUROFORGE_FAIL_OPEN=true
|
||||
```
|
||||
|
||||
Der Agent behält lokale Chunk-Vektoren und synchronisiert dieselben Dokumente zusätzlich nach NeuroForge. Suchentscheidungen bleiben lokal. Beobachten:
|
||||
|
||||
- Sync-Fehler im Agent-Log
|
||||
- NeuroForge Memory-/Index-Wachstum
|
||||
- Vector-Journal-Größe
|
||||
- Retrieval-Latenz der Baseline
|
||||
- keine Änderungen an GLPI-Aktionen
|
||||
|
||||
Rollback: `KNOWLEDGE_VECTOR_BACKEND=local` und Agent neu starten.
|
||||
|
||||
## Phase 2 – NeuroForge Candidate Search
|
||||
|
||||
```env
|
||||
KNOWLEDGE_VECTOR_BACKEND=neuroforge
|
||||
NEUROFORGE_FAIL_OPEN=true
|
||||
```
|
||||
|
||||
NeuroForge liefert semantische Kandidaten. Der Agent bleibt Besitzer des finalen Hybrid-Scores und aller Policies. Nach erfolgreicher Synchronisation können lokale Chunk-Vektoren aus dem normalen Snapshot externalisiert werden; Titelvektoren und Text-/Metadaten bleiben lokal.
|
||||
|
||||
Rollback: auf `dual` oder `local` zurückstellen. Die kanonischen Knowledge-JSON-Dateien sind unverändert und können den semantischen Index neu aufbauen.
|
||||
|
||||
## Phase 3 – Optional fail-closed
|
||||
|
||||
Erst nach stabiler Betriebsphase:
|
||||
|
||||
```env
|
||||
NEUROFORGE_FAIL_OPEN=false
|
||||
```
|
||||
|
||||
Damit werden semantische Backend-Ausfälle sichtbar blockierend statt degradierend behandelt. Diese Einstellung ist sinnvoll, wenn eine Antwort ohne zentralen semantischen Index nicht zulässig sein soll.
|
||||
|
||||
## Phase 4 – GLPI-Automation separat freigeben
|
||||
|
||||
Die Vektormigration ist **keine** Freigabe für automatische GLPI-Aktionen. Jede Automation wird unabhängig aktiviert und getestet:
|
||||
|
||||
```env
|
||||
DRY_RUN=false
|
||||
AUTO_CATEGORY=true|false
|
||||
AUTO_REPLY=true|false
|
||||
AUTO_PRIORITY=true|false
|
||||
AUTO_ESCALATION=true|false
|
||||
```
|
||||
|
||||
Auto-Reply sollte zuletzt aktiviert werden.
|
||||
|
||||
## Vergleichsstrategie
|
||||
|
||||
Vor dem Umschalten auf `neuroforge` sollten repräsentative Tickets in `local` und `dual` mit denselben Modellen getestet werden. Zu vergleichen sind mindestens:
|
||||
|
||||
- Top-1/Top-k Knowledge-ID
|
||||
- semantischer Teilscore
|
||||
- finaler Hybrid-Score
|
||||
- Schwellenwertentscheidungen
|
||||
- Kategorie-/Prioritätsentscheidung
|
||||
- Antwortfreigabe
|
||||
- Latenz
|
||||
|
||||
## Recovery
|
||||
|
||||
- Produktive Knowledge-JSONs sind kanonisch.
|
||||
- NeuroForge-Semantik kann aus diesen Daten neu aufgebaut werden.
|
||||
- Staging ist getrennt und kann nicht versehentlich produktiv werden.
|
||||
- NFVJ2/SQAR ist eine Storage-Optimierung; fachliche IDs und Vektoren bleiben verlustfrei rekonstruierbar.
|
||||
115
docs/MIGRATION-MANIFEST.md
Normal file
115
docs/MIGRATION-MANIFEST.md
Normal file
@@ -0,0 +1,115 @@
|
||||
# Migration Manifest
|
||||
|
||||
## NeuroForge
|
||||
|
||||
Neu/erweitert:
|
||||
|
||||
- `internal/httpapi/integration.go` – App-Key-geschützte Knowledge-/Event-Integrationsendpunkte
|
||||
- `internal/httpapi/integration_api_test.go` – Lifecycle, Auth und Namespace-Isolation
|
||||
- `internal/store/store.go` – provenance-gefilterte semantische Suche
|
||||
- `internal/store/batch.go` – Batch-Delete zur Vermeidung mehrfacher ANN-Rebuilds
|
||||
- `cmd/server/main.go` – gemeinsamer Ollama-Endpunkt per Mega-Environment
|
||||
- vorhandene NFVJ2/SQAR-Vector-Journal-Migration bleibt Bestandteil der Plattform
|
||||
|
||||
## GLPI AI Agent
|
||||
|
||||
Neu/erweitert:
|
||||
|
||||
- `internal/knowledge/neuroforge_backend.go` – SemanticBackend + NeuroForge HTTP-Client
|
||||
- `internal/knowledge/store.go` – Hybrid-Retrieval mit `local`/`dual`/`neuroforge`
|
||||
- `internal/knowledge/persistent_index.go` – inkrementelle Sync-/Externalisierungslogik
|
||||
- `internal/config/config.go` – kontrollierbare Backend-/Failure-Parameter
|
||||
- `cmd/agent/main.go` – Backend-Wiring
|
||||
- Tests für Remote-Evidenz und fail-open/fail-closed
|
||||
|
||||
## GLPI AI Knowledgebase
|
||||
|
||||
Neu/erweitert:
|
||||
|
||||
- `internal/staging/staging.go` – quellenbewusste Staging-Proposals
|
||||
- `cmd/server/app.go` – `POST /api/integrations/staging`
|
||||
- `cmd/server/main.go` – Health und Staging-Ingress ohne Weitergabe von Editor-Credentials
|
||||
- Tests für Staging-only-Governance und Auth-Grenzen
|
||||
|
||||
## Mega Platform
|
||||
|
||||
Neu:
|
||||
|
||||
- `docker-compose.yml`
|
||||
- `go.work`
|
||||
- `.env.example`
|
||||
- `services/control/` – read-only Control Center
|
||||
- `scripts/validate.sh`
|
||||
- `scripts/status.sh`
|
||||
- `scripts/generate-secrets.sh`
|
||||
- `scripts/propose-draft.sh`
|
||||
- gemeinsame `knowledge/`, `staging/`, `backups/`
|
||||
- Architektur-, Kontroll-, Cutover-, Betriebs- und Validierungsdokumentation
|
||||
|
||||
## Version 1.1.0 – GLPI Relations & Obsidian Export
|
||||
|
||||
- GLPI-KB-Sync liest verfügbare `KnowbaseItem_Item`-Relationen über die installierte OpenAPI.
|
||||
- `linked_items` werden im Agent-Knowledge-Modell erhalten.
|
||||
- Knowledgebase und Agent exportieren Obsidian-kompatible ZIP-Vaults.
|
||||
- Exporte enthalten YAML-Frontmatter, Wikilinks, Schema, Index, Manifest und `graph.json`.
|
||||
- Neuer CLI-Helfer: `scripts/export-obsidian.sh`.
|
||||
- Control-Center-Sicherheitsgrenze und delegierte Interaktionswege sind in `docs/CONTROL-CENTER.md` dokumentiert.
|
||||
- Repräsentativer Export-Snapshot liegt unter `exports/knowledge-obsidian-snapshot.zip`.
|
||||
|
||||
## Version 1.2.0 – Controlled Autonomy
|
||||
|
||||
### NeuroForge
|
||||
|
||||
- `internal/httpapi/outcomes.go` – schmaler App-Key-Pfad für menschlich validierte Ticket-Outcomes
|
||||
- `internal/brain/brain.go` – interne, nicht vom JSON-Client spoofbare Trusted-Provenance-Felder
|
||||
- `cmd/server/main.go` – Controlled-Learning- und Research-Bootstrap per Environment
|
||||
- `deploy/learning-policy.example.json` – konservative Source-Trust-/Learning-Policy
|
||||
|
||||
### GLPI AI Agent
|
||||
|
||||
- `internal/learning/outcomes.go` – persistentes Outcome-Audit, Sync-Status, Revisionen und NeuroForge-Sink
|
||||
- `internal/agent/agent.go` – Stale-Run-Prüfung und Outcome-gated Learning
|
||||
- `internal/web/server.go` / Dashboard – Bestätigen/Korrigieren und Audit-Sicht
|
||||
- neue Outcome-Learning-Konfiguration mit explizitem fail-open/fail-closed
|
||||
|
||||
### Mega Platform
|
||||
|
||||
- `searxng` als optionaler Compose-Profilservice `research`
|
||||
- `deploy/searxng/settings.yml`
|
||||
- `scripts/research-up.sh`
|
||||
- separate Research-, SearXNG- und Autonomy-Schalter
|
||||
- Control Center zeigt diese Betriebsmodi read-only
|
||||
- `docs/CONTROLLED-AUTONOMY.md`
|
||||
- `docs/MIGRATION-v1.1.0-to-v1.2.0.md`
|
||||
- `RELEASE-NOTES-v1.2.0.md`
|
||||
- `patches/v1.1.0-to-v1.2.0.diff`
|
||||
|
||||
## Version 1.3.0 – Closed Learning Loop
|
||||
|
||||
### NeuroForge
|
||||
|
||||
- `internal/store/source_index.go` – rebuildbarer Provenance-Source-Index und atomare Memory-Supersession
|
||||
- `internal/store/store.go` – source-begrenzter Exact-Fallback statt Full-Catalog-Scan
|
||||
- `internal/brain/brain.go` – Multi-Source-Outcome-Suche
|
||||
- `internal/httpapi/outcomes.go` – aktive Outcome-Suche + Remote-Supersession
|
||||
- `internal/httpapi/metrics.go` – NFVJ2/SQAR Savings-/Block-Metriken
|
||||
- Tests für aktive Revision, supersedete Revision und Source-Index-Rebuild nach Neustart
|
||||
|
||||
### GLPI AI Agent
|
||||
|
||||
- `internal/learning/outcomes.go` – OutcomeRetriever über den schmalen NeuroForge-App-Key-Pfad
|
||||
- `internal/agent/agent.go` – validierte Erfahrung als sekundärer Reply-Kontext + Learning/Retrieval-KPIs
|
||||
- `internal/model/model.go` – auditierbare `ValidatedOutcomeEvidence`
|
||||
- `internal/ollama/client.go` – Prompt-Guard: Outcome darf nur KB stützen/widerlegen, nie selbst autorisieren
|
||||
- `internal/web/server.go` – read-only `/api/quality/replay` und Statusmetriken
|
||||
- Dashboard zeigt verwendete Erfahrungen, Similarity, Dauer und Fehler
|
||||
|
||||
### Mega Platform
|
||||
|
||||
- `scripts/quality-replay.py`
|
||||
- `docs/QUALITY-REPLAY.md`
|
||||
- `docs/QUALITY-REPLAY-example.json`
|
||||
- `docs/MIGRATION-v1.2.0-to-v1.3.0.md`
|
||||
- `RELEASE-NOTES-v1.3.0.md`
|
||||
- Control Center zeigt Outcome Retrieval und Replay-Verfügbarkeit read-only
|
||||
- Upgrade-Patch: `patches/v1.2.0-to-v1.3.0.diff`
|
||||
44
docs/MIGRATION-v1.1.0-to-v1.2.0.md
Normal file
44
docs/MIGRATION-v1.1.0-to-v1.2.0.md
Normal file
@@ -0,0 +1,44 @@
|
||||
# Migration v1.1.0 → v1.2.0
|
||||
|
||||
## 1. Neue Secrets übernehmen
|
||||
|
||||
```bash
|
||||
./scripts/generate-secrets.sh
|
||||
```
|
||||
|
||||
Zusätzlich wird `SEARXNG_SECRET` ausgegeben. SearXNG ist optional; der Secret wird erst für das `research`-Profil benötigt.
|
||||
|
||||
## 2. Controlled Learning prüfen
|
||||
|
||||
Empfohlen:
|
||||
|
||||
```text
|
||||
NEUROFORGE_CONTROLLED_LEARNING=true
|
||||
OUTCOME_LEARNING_ENABLED=true
|
||||
OUTCOME_LEARNING_FAIL_OPEN=false
|
||||
```
|
||||
|
||||
Bestehende NeuroForge-Daten werden nicht gelöscht. Der Modus ändert, welche neuen Signale automatisch gelernt werden.
|
||||
|
||||
## 3. Human Outcome Flow verwenden
|
||||
|
||||
Neue Agent-Runs speichern den für Learning benötigten Ticket-/Reply-Snapshot. Alte Runs aus v1.1.0 können deshalb bewusst nicht nachträglich als validiertes Outcome gelernt werden, wenn dieser Snapshot fehlt.
|
||||
|
||||
Im Agent-Dashboard den Run öffnen und **KI-Antwort bestätigen** bzw. **KI-Antwort korrigieren** verwenden.
|
||||
|
||||
## 4. Research optional starten
|
||||
|
||||
```bash
|
||||
./scripts/research-up.sh
|
||||
```
|
||||
|
||||
Das startet das Compose-Profil `research` und aktiviert SearXNG/Research für den NeuroForge-Start. Zyklische Autonomie bleibt separat deaktiviert, solange `NEUROFORGE_AUTONOMY_ENABLED=false` ist.
|
||||
|
||||
## 5. Rollback
|
||||
|
||||
- SearXNG stoppen: `docker compose --profile research stop searxng`
|
||||
- Research deaktivieren: `NEUROFORGE_RESEARCH_ENABLED=false`, `NEUROFORGE_SEARXNG_ENABLED=false`
|
||||
- Autonomy deaktivieren: `NEUROFORGE_AUTONOMY_ENABLED=false`
|
||||
- Outcome Learning deaktivieren: `OUTCOME_LEARNING_ENABLED=false`
|
||||
|
||||
Das lokale Outcome-Audit und bereits gelernte Memories werden dadurch nicht gelöscht.
|
||||
61
docs/MIGRATION-v1.2.0-to-v1.3.0.md
Normal file
61
docs/MIGRATION-v1.2.0-to-v1.3.0.md
Normal file
@@ -0,0 +1,61 @@
|
||||
# Migration v1.2.0 -> v1.3.0
|
||||
|
||||
## Ziel
|
||||
|
||||
v1.3.0 schließt den Outcome-Learning-Kreis und ergänzt Messbarkeit. Bestehende v1.2.0-Outcomes bleiben kompatibel; neue Korrekturen können ihre Vorgänger in NeuroForge tatsächlich superseden.
|
||||
|
||||
## Neue Konfiguration
|
||||
|
||||
```env
|
||||
OUTCOME_RETRIEVAL_ENABLED=true
|
||||
OUTCOME_RETRIEVAL_SEARCH_K=6
|
||||
OUTCOME_RETRIEVAL_MIN_SIMILARITY=0.58
|
||||
OUTCOME_RETRIEVAL_FAIL_OPEN=true
|
||||
```
|
||||
|
||||
Empfehlung für Pilotbetrieb: Outcome Retrieval aktivieren, aber Auto-Reply zunächst weiterhin im Shadow-/Dry-Run-Modus beobachten.
|
||||
|
||||
`OUTCOME_RETRIEVAL_FAIL_OPEN=true` bedeutet: fällt die Erfahrungs-Suche aus, arbeitet der Agent mit offizieller Knowledge- und sonstiger Evidenz weiter. `false` blockiert die Ticketverarbeitung an dieser Stelle sichtbar. Die Auswahl richtet sich nach dem gewünschten Verfügbarkeits-/Konsistenzprofil.
|
||||
|
||||
## Verhalten bei Korrekturen
|
||||
|
||||
v1.2.0 führte lokal bereits `supersedes_id`. v1.3.0 zieht die Revision auch in NeuroForge nach:
|
||||
|
||||
1. neue korrigierte Outcome-Memory wird gespeichert;
|
||||
2. Vorgänger wird über seine stabile Outcome Source-ID aufgelöst;
|
||||
3. Vorgängerstatus wird atomar `superseded`;
|
||||
4. neue Memory erhält die `Supersedes`-Kante;
|
||||
5. beide Revisionen bleiben auditierbar;
|
||||
6. nur die aktive Revision erscheint in künftiger Outcome-Suche.
|
||||
|
||||
Es gibt keine destructive Delete-Migration.
|
||||
|
||||
## Outcome Retrieval
|
||||
|
||||
Der Agent sucht bei einem neuen Ticket zusätzlich in den aktiven menschlich validierten Erfahrungen. Diese Treffer werden ausschließlich in `ContextSnapshot.ValidatedOutcomes` an die Reply-Auswahl übergeben. Die Liste der erlaubten `knowledge_id`-Werte wird weiterhin ausschließlich aus freigegebenen Knowledge-Kandidaten erzeugt.
|
||||
|
||||
Damit kann Erfahrung Ranking/Entscheidung unterstützen, ohne einen Policy-Bypass zu erzeugen.
|
||||
|
||||
## Quality Replay
|
||||
|
||||
Beispieldatensatz kopieren/anpassen:
|
||||
|
||||
```bash
|
||||
cp docs/QUALITY-REPLAY-example.json /tmp/my-cases.json
|
||||
python3 scripts/quality-replay.py /tmp/my-cases.json \
|
||||
--url http://127.0.0.1:8080 \
|
||||
--user "$WEB_BASIC_USER" \
|
||||
--password "$WEB_BASIC_PASSWORD"
|
||||
```
|
||||
|
||||
Vor einem breiten Auto-Reply-Go-Live sollten historische Tickets mit bekanntem Outcome verwendet werden. Zielwerte müssen organisationsspezifisch definiert und als Release-Gate dokumentiert werden.
|
||||
|
||||
## Rollback
|
||||
|
||||
Outcome-Retrieval kann ohne Datenmigration deaktiviert werden:
|
||||
|
||||
```env
|
||||
OUTCOME_RETRIEVAL_ENABLED=false
|
||||
```
|
||||
|
||||
Das Outcome-Learning und die bestehenden Memories bleiben erhalten. Für einen vollständigen v1.2-Verhaltensrollback kann zusätzlich der v1.2.0-Code gestartet werden; die neue `superseded`-Statusinformation ist nicht destruktiv.
|
||||
9
docs/MIGRATION-v1.3.0-to-v1.4.0.md
Normal file
9
docs/MIGRATION-v1.3.0-to-v1.4.0.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# Migration v1.3.0 -> v1.4.0
|
||||
|
||||
1. Generate and add a new `CONTROL_READ_TOKEN` (minimum 24 characters) to `.env`.
|
||||
2. Recreate `agent` and `control`; no data migration is required.
|
||||
3. Open the Control Center and verify Runtime, Ticket, Learning, Research, Brain and Engineering graph views.
|
||||
4. Keep Codebase Memory variables empty unless the optional developer tool is installed.
|
||||
5. After code changes regenerate `services/control/engineering-graph.json` with `make engineering-graph`.
|
||||
|
||||
Rollback: deploy v1.3.0 again. The new graph APIs are read-only and introduce no persistent schema change.
|
||||
72
docs/OBSIDIAN-EXPORT.md
Normal file
72
docs/OBSIDIAN-EXPORT.md
Normal file
@@ -0,0 +1,72 @@
|
||||
# Obsidian / llm-wiki Export
|
||||
|
||||
Das Mega-Projekt kann die Wissensbasis als selbständigen Obsidian-Vault exportieren. Der Export verändert keine Quelldaten.
|
||||
|
||||
## Zwei Sichten
|
||||
|
||||
### Kanonische Knowledgebase
|
||||
|
||||
```text
|
||||
GET /api/export/obsidian
|
||||
```
|
||||
|
||||
Quelle sind die produktiven JSON-Dateien im gemeinsamen `knowledge/`-Verzeichnis. Der Export enthält Kategorien sowie explizite relation-artige Felder wie `linked_items`, `relations`, `related`, `related_articles`, `references`, `links`, `connections`, `associations` und `glpi_relations`.
|
||||
|
||||
### Live-Sicht des Agenten
|
||||
|
||||
```text
|
||||
GET /api/knowledge/export/obsidian
|
||||
```
|
||||
|
||||
Diese Sicht enthält zusätzlich die vom Agenten synchronisierten GLPI-KB-Artikel. Wenn die installierte GLPI-OpenAPI einen lesbaren `KnowbaseItem_Item`-Pfad bereitstellt, übernimmt der Sync die GLPI-Verknüpfungen (`knowbaseitems_id`, `itemtype`, `items_id`) in `linked_items`.
|
||||
|
||||
Ist die Relation-API nicht verfügbar oder fehlen Rechte, wird der KB-Artikel weiterhin synchronisiert. Der Agent protokolliert dann ausdrücklich, dass GLPI-Objektrelationen im Export fehlen.
|
||||
|
||||
## Vault-Struktur
|
||||
|
||||
```text
|
||||
Wiki/
|
||||
├── index.md
|
||||
├── Schema.md
|
||||
├── graph.json
|
||||
├── .manifest.json
|
||||
├── Knowledge/
|
||||
├── Categories/ # kanonischer KB-Export
|
||||
├── GLPI/ # Live-Agent-Export für GLPI-Objekte
|
||||
└── Relations/ # generische Relation-Stubs
|
||||
```
|
||||
|
||||
Artikel sind normales Markdown mit YAML-Frontmatter. Interne Beziehungen werden als Obsidian-Wikilinks `[[Wiki/...|Titel]]` geschrieben. Datumswerte sind ISO-8601-Daten (`YYYY-MM-DD`). `graph.json` enthält Knoten und Kanten zusätzlich maschinenlesbar.
|
||||
|
||||
## Export aus der Oberfläche
|
||||
|
||||
Sowohl Knowledgebase als auch Agent-Dashboard besitzen einen Button **„⇩ Obsidian Export“**.
|
||||
|
||||
## Export per Skript
|
||||
|
||||
```bash
|
||||
# kanonische KB
|
||||
KB_URL=http://127.0.0.1:8081 \
|
||||
BASIC_AUTH_USER=admin \
|
||||
BASIC_AUTH_PASSWORD='...' \
|
||||
./scripts/export-obsidian.sh kb ./knowledge-vault.zip
|
||||
|
||||
# Live-Agent-Sicht inkl. GLPI-KB-Sync
|
||||
AGENT_URL=http://127.0.0.1:8080 \
|
||||
WEB_USERNAME=admin \
|
||||
WEB_PASSWORD='...' \
|
||||
./scripts/export-obsidian.sh agent ./live-vault.zip
|
||||
```
|
||||
|
||||
Das Skript schreibt zunächst in eine temporäre Datei und ersetzt die Zieldatei erst nach einem erfolgreichen HTTP-Download.
|
||||
|
||||
## Governance
|
||||
|
||||
Der Export ist absichtlich read-only:
|
||||
|
||||
- keine Quelldatei wird geändert,
|
||||
- keine GLPI-Verknüpfung wird zurückgeschrieben,
|
||||
- keine Auto-Reply-Policy wird verändert,
|
||||
- Secrets werden nicht in Frontmatter oder `graph.json` exportiert.
|
||||
|
||||
Damit kann der Vault in Obsidian, Git oder einem llm-wiki-artigen Workflow analysiert werden, ohne die operative Wissensbasis zu verändern.
|
||||
102
docs/OPERATIONS.md
Normal file
102
docs/OPERATIONS.md
Normal file
@@ -0,0 +1,102 @@
|
||||
# Betrieb
|
||||
|
||||
## Standardbefehle
|
||||
|
||||
```bash
|
||||
make test
|
||||
make vet
|
||||
make build
|
||||
make up
|
||||
# optional: Research/SearXNG ohne Autonomy
|
||||
make research-up
|
||||
make ps
|
||||
make status
|
||||
make logs
|
||||
make down
|
||||
```
|
||||
|
||||
## Secrets
|
||||
|
||||
```bash
|
||||
./scripts/generate-secrets.sh
|
||||
```
|
||||
|
||||
Die Ausgabe wird nicht automatisch in `.env` geschrieben. Das verhindert, dass vorhandene Credentials versehentlich überschrieben werden.
|
||||
|
||||
## Status
|
||||
|
||||
Das Control Center ist read-only und fragt parallel ab:
|
||||
|
||||
- Agent `/readyz`
|
||||
- Knowledgebase `/api/health`
|
||||
- NeuroForge `/api/v1/stats` mit App Key
|
||||
|
||||
Es zeigt keine Secrets und besitzt keine Schreibroute.
|
||||
|
||||
## Knowledge Sync
|
||||
|
||||
`knowledge/` ist das gemeinsame kanonische Verzeichnis:
|
||||
|
||||
- Knowledgebase: read/write
|
||||
- Agent: read-only
|
||||
|
||||
Der Agent erkennt Änderungen inkrementell. In `dual`/`neuroforge` werden veränderte Chunk-Vektoren in das NeuroForge-Namespace synchronisiert. Entfernte Dokumente werden dort ebenfalls entfernt.
|
||||
|
||||
## Externe Knowledge-Connectoren
|
||||
|
||||
Connector-Dokumente werden ebenfalls nach NeuroForge gespiegelt. Ihr lokaler Connector-Vektorcache wird derzeit bewusst beibehalten, damit Connector-Neustarts und Fail-open-Betrieb nicht bei jedem Zyklus neu einbetten müssen. Das ist eine Resilienz-/Effizienzentscheidung und unterscheidet sich von der Externalisierung der lokalen produktiven KB.
|
||||
|
||||
|
||||
## Obsidian-Export
|
||||
|
||||
```bash
|
||||
./scripts/export-obsidian.sh kb ./knowledge-vault.zip
|
||||
./scripts/export-obsidian.sh agent ./live-vault.zip
|
||||
```
|
||||
|
||||
Der KB-Export liest die kanonischen JSON-Dateien. Der Agent-Export ergänzt synchronisierte GLPI-KB-Artikel und verfügbare `KnowbaseItem_Item`-Verknüpfungen. Beide Exporte sind read-only. Details: [`OBSIDIAN-EXPORT.md`](OBSIDIAN-EXPORT.md).
|
||||
|
||||
## Research-Drafts
|
||||
|
||||
Ein Proposal-JSON kann kontrolliert ins Staging geschrieben werden:
|
||||
|
||||
```json
|
||||
{
|
||||
"source": "NeuroForge Research",
|
||||
"query": "VPN Fehlerbild",
|
||||
"title": "VPN Diagnose",
|
||||
"text": "Beobachtetes Symptom ...",
|
||||
"answer": "1. ...",
|
||||
"categories": ["VPN"],
|
||||
"keywords": ["gateway", "token"],
|
||||
"min_score": 0.85
|
||||
}
|
||||
```
|
||||
|
||||
```bash
|
||||
export KB_INTEGRATION_TOKEN='...'
|
||||
./scripts/propose-draft.sh proposal.json
|
||||
```
|
||||
|
||||
Der Server erzwingt `auto_reply=false`. Promotion erfolgt im normalen Editor.
|
||||
|
||||
## SQAR
|
||||
|
||||
SQAR ist ausschließlich im NeuroForge Vector Journal aktiviert. Nicht komprimiert werden operative Audit-/Policy-Dateien oder zufällig zugreifbare Memory-Segmente. Der Codec wählt nur dann die SQAR-Variante, wenn sie gegenüber der Roh-/DEFLATE-Darstellung tatsächlich kleiner ist.
|
||||
|
||||
|
||||
## Controlled Learning / Human Outcomes
|
||||
|
||||
Im Standard ist `NEUROFORGE_CONTROLLED_LEARNING=true`. Rohe Chat-/Assistant-Inhalte werden damit nicht automatisch als Langzeitwissen gelernt. Ein Agent-Run kann im Dashboard explizit bestätigt oder korrigiert werden. Das Outcome wird unter `DATA_DIR/ticket-outcomes.json` auditiert und erst dann über den App-Key-Pfad an NeuroForge übertragen.
|
||||
|
||||
Bei `OUTCOME_LEARNING_FAIL_OPEN=false` ist ein NeuroForge-Syncfehler für den Techniker sichtbar. Der lokale Outcome-Eintrag bleibt erhalten und kann durch Wiederholen derselben Entscheidung retryt werden. Änderungen am GLPI-Ticket seit dem analysierten Run blockieren die Validierung.
|
||||
|
||||
## Optionales SearXNG / Research
|
||||
|
||||
Der Basisstack startet SearXNG nicht. Für Research zuerst einen echten `SEARXNG_SECRET` in `.env` setzen und dann:
|
||||
|
||||
```bash
|
||||
./scripts/research-up.sh
|
||||
```
|
||||
|
||||
Das startet das Compose-Profil `research` und schaltet Research/SearXNG für NeuroForge ein. `NEUROFORGE_AUTONOMY_ENABLED` bleibt separat und standardmäßig `false`. Details: [`CONTROLLED-AUTONOMY.md`](CONTROLLED-AUTONOMY.md).
|
||||
11
docs/QUALITY-REPLAY-example.json
Normal file
11
docs/QUALITY-REPLAY-example.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"cases": [
|
||||
{
|
||||
"id": "vpn-login-001",
|
||||
"query": "VPN verbindet nicht, Anmeldung schlägt nach Passwortwechsel fehl",
|
||||
"expected_knowledge_id": "REPLACE-WITH-KB-ID",
|
||||
"expected_solution_terms": ["vpn"],
|
||||
"k": 10
|
||||
}
|
||||
]
|
||||
}
|
||||
35
docs/QUALITY-REPLAY.md
Normal file
35
docs/QUALITY-REPLAY.md
Normal file
@@ -0,0 +1,35 @@
|
||||
# Retrieval & Learning Replay Benchmark
|
||||
|
||||
v1.3.0 adds a read-only benchmark endpoint: `POST /api/quality/replay`.
|
||||
It does **not** write to GLPI, does not learn and does not call the answer LLM. It replays
|
||||
historical ticket text through the current Knowledge retrieval and the human-validated
|
||||
Outcome retrieval so quality changes can be measured before a rollout.
|
||||
|
||||
Each case may specify:
|
||||
|
||||
- `query`: historical ticket subject/body snapshot.
|
||||
- `expected_knowledge_id`: the KB article known to be correct at that time.
|
||||
- `expected_solution_terms`: terms expected in a technician-validated outcome.
|
||||
- `k`: evaluation depth (default 10, max 50).
|
||||
|
||||
Reported KPIs:
|
||||
|
||||
- `knowledge_recall_at_k`
|
||||
- `knowledge_mrr`
|
||||
- `outcome_recall_at_k`
|
||||
- `outcome_mrr`
|
||||
- `experience_rescued_cases`: cases where the expected KB was not retrieved in K but a
|
||||
matching human-validated experience was retrieved. This is a conservative proxy for
|
||||
learning lift; it is not counted as auto-reply authority.
|
||||
|
||||
Example:
|
||||
|
||||
```bash
|
||||
./scripts/quality-replay.py docs/QUALITY-REPLAY-example.json \
|
||||
--url http://127.0.0.1:8080 --user "$WEB_BASIC_USER" --password "$WEB_BASIC_PASSWORD" \
|
||||
--output ./data/quality-replay-$(date +%F).json
|
||||
```
|
||||
|
||||
For production acceptance, build a versioned set of historical tickets and require fixed
|
||||
minimum thresholds before changing retrieval weights, embedding models, HNSW settings or
|
||||
Outcome retrieval thresholds.
|
||||
32
docs/UNIFIED-GRAPH.md
Normal file
32
docs/UNIFIED-GRAPH.md
Normal file
@@ -0,0 +1,32 @@
|
||||
# Unified Graph Explorer (v1.4.0)
|
||||
|
||||
The Control Center remains read-only and now normalizes operational, evidence, learning, research and engineering relationships into one graph contract (`nodes[]`, `edges[]`, bounded metadata).
|
||||
|
||||
## Views
|
||||
|
||||
- **Runtime & Trust** — services, external systems, scoped credentials and authority boundaries.
|
||||
- **Ticket Evidence** — ticket, run, KB candidates, validated outcomes, policy checks, model attempts, proposed reply and human decision.
|
||||
- **Learning Lineage** — accepted/corrected outcomes, NeuroForge memories and immutable `supersedes` chains.
|
||||
- **Research Provenance** — goal -> query -> source -> claim/evidence -> memory without exposing full source bodies or prompts.
|
||||
- **NeuroForge Brain** — bounded/redacted memory/synapse/consolidation view; vectors and full memory exports are not returned.
|
||||
- **Engineering Graph** — reproducible Go AST + root Compose snapshot with components, packages, files, functions, HTTP routes and service dependencies.
|
||||
- **Change Impact** — bounded bidirectional dependency traversal for a file/symbol/route query with a conservative static risk hint.
|
||||
|
||||
## Visualization
|
||||
|
||||
The browser uses a dependency-free canvas renderer. 2D is the operational default. 3D is an optional pseudo-perspective explorer for bounded subgraphs. Node budgets and server-side filtering prevent accidental full-graph rendering.
|
||||
|
||||
The graph is an explanation/inspection surface, not a decision authority. A `high` change-impact hint does not replace tests, code review or runtime evidence.
|
||||
|
||||
## Trust boundaries
|
||||
|
||||
The Control Center never receives Agent admin/basic-auth credentials. Agent graph reads require `CONTROL_READ_TOKEN`; NeuroForge graph reads use the existing scoped app key. Graph endpoints are GET-only and return redacted/bounded representations.
|
||||
|
||||
## Reproducibility
|
||||
|
||||
Regenerate the engineering snapshot after structural code changes:
|
||||
|
||||
```sh
|
||||
make engineering-graph
|
||||
make engineering-graph-check
|
||||
```
|
||||
72
docs/VALIDATION.md
Normal file
72
docs/VALIDATION.md
Normal file
@@ -0,0 +1,72 @@
|
||||
# Validierung
|
||||
|
||||
Stand: 26.08.2026 — Release v1.4.0
|
||||
|
||||
## Umfang
|
||||
|
||||
- 4 Go-Module im gemeinsamen `go.work`
|
||||
- 158 Go-Dateien
|
||||
- 47.260 Go-Codezeilen inklusive Tests
|
||||
- 276 `Test...`-Testfunktionen
|
||||
- 103 produktive Knowledge-JSON-Dateien
|
||||
- 8 Compose-Services inklusive optionalem SearXNG-Profil
|
||||
- reproduzierbarer Engineering-Snapshot: 1.652 Knoten / 6.450 Kanten
|
||||
|
||||
## Vollständige Modulprüfung
|
||||
|
||||
```text
|
||||
platform/neuroforge go test ./... OK
|
||||
platform/neuroforge go vet ./... OK
|
||||
platform/neuroforge go build ./... OK
|
||||
services/agent go test ./... OK
|
||||
services/agent go vet ./... OK
|
||||
services/agent go build ./... OK
|
||||
services/knowledge go test ./... OK
|
||||
services/knowledge go vet ./... OK
|
||||
services/knowledge go build ./... OK
|
||||
services/control go test ./... OK
|
||||
services/control go vet ./... OK
|
||||
services/control go build ./... OK
|
||||
```
|
||||
|
||||
Shell-Syntax (`scripts/*.sh`), Control-Center-JavaScript (`node --check`), Root-Compose und SearXNG-YAML wurden zusätzlich erfolgreich geprüft. `make engineering-graph-check` bestätigt, dass der eingebettete Engineering-Graph zum Quellstand passt.
|
||||
|
||||
## v1.4-spezifische Prüfungen
|
||||
|
||||
- Agent-Control-Endpunkte verlangen den separaten Bearer `CONTROL_READ_TOKEN`: **OK**
|
||||
- Ticket-Evidence-Graph enthält Knowledge, validierte Outcomes, Policy-Checks, Reply und Human Outcome: **OK**
|
||||
- Learning-Lineage erhält `supersedes`-Revisionen: **OK**
|
||||
- NeuroForge Research-/Brain-Graph verlangen den App-Key: **OK**
|
||||
- Brain-Graph ist gebunden/redigiert; Vektoren und voller Memory-Text werden nicht exportiert: **OK**
|
||||
- Research-Graph bildet Query -> Source -> learned Memory ab: **OK**
|
||||
- Engineering-Graph enthält Component/Package/File/Function/Route/Service-Knoten: **OK**
|
||||
- Engineering-Endpunkt respektiert Node-Budgets: **OK**
|
||||
- Change-Impact verlangt eine explizite Query, bleibt gebunden und liefert Risk-Metadaten: **OK**
|
||||
- 2D/3D-Canvas-JavaScript besteht Syntaxprüfung: **OK**
|
||||
- optionales Codebase Memory MCP beeinflusst Readiness nicht: konstruktiv durch `Optional`-Target / leere Default-URL abgesichert
|
||||
|
||||
## Race-Checks der neuen Pfade
|
||||
|
||||
```text
|
||||
services/control go test -race ./... OK
|
||||
services/agent go test -race ./internal/web OK
|
||||
platform/neuroforge go test -race ./internal/httpapi OK
|
||||
```
|
||||
|
||||
Ein parallel gestarteter Sammel-Race-Lauf lief in das globale Ausführungszeitlimit; die v1.4-betroffenen Pakete wurden deshalb anschließend einzeln erfolgreich geprüft. Ein Timeout wird nicht als Testerfolg gewertet.
|
||||
|
||||
## Weiterhin erhaltene Kernfunktionen
|
||||
|
||||
Die bestehende Regressionstestbasis umfasst weiterhin GLPI Polling/Webhook/Followups/Kategorien/Priorität/Eskalation, kontrolliertes Outcome-Learning und Supersession, Outcome-Retrieval, Quality Replay, Knowledge `local|dual|neuroforge`, HNSW/Disk-PQ, NFVJ2/SQAR, SearXNG Research, Obsidian-Export und Staging-Governance.
|
||||
|
||||
## Nicht als getestet behauptet
|
||||
|
||||
Docker/Podman sind in der Prüfungsumgebung nicht installiert. Deshalb wurden nicht ausgeführt:
|
||||
|
||||
- echter `docker compose up`
|
||||
- Live-SearXNG gegen das Internet
|
||||
- Live-GLPI gegen die Betreiberinstanz
|
||||
- optionales Codebase Memory MCP als realer externer Prozess
|
||||
- historischer Quality-Replay mit echten Betreiber-Tickets
|
||||
|
||||
Vor Produktivfreigabe bleiben Container-Smoke-Test, echte GLPI-/Research-Konnektivität und der historische Quality-Replay Betreiber-Gates.
|
||||
BIN
exports/knowledge-obsidian-snapshot.zip
Normal file
BIN
exports/knowledge-obsidian-snapshot.zip
Normal file
Binary file not shown.
1
exports/knowledge-obsidian-snapshot.zip.sha256
Normal file
1
exports/knowledge-obsidian-snapshot.zip.sha256
Normal file
@@ -0,0 +1 @@
|
||||
be4810451750abb676eee0edcc6f164d86f372f32b185f6f730bf84538cef4a8 /mnt/data/mega_work/glpi-neuroforge-mega/exports/knowledge-obsidian-snapshot.zip
|
||||
8
go.work
Normal file
8
go.work
Normal file
@@ -0,0 +1,8 @@
|
||||
go 1.26
|
||||
|
||||
use (
|
||||
./platform/neuroforge
|
||||
./services/agent
|
||||
./services/control
|
||||
./services/knowledge
|
||||
)
|
||||
26
knowledge/01_active-directory.json
Normal file
26
knowledge/01_active-directory.json
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"id": "KAT-ACTIVE-DIRECTORY-SELECT",
|
||||
"title": "Active Directory",
|
||||
"text": "Auswahlziel: Server, Backend und Plattformen \u003e Active Directory. Primär zuständiges Team: Infrastruktur und Backend. Diese Kategorie ist auszuwählen, wenn der zentrale Verzeichnisdienst, Domänencontroller, Replikation, Vertrauensstellung, LDAP-Funktion oder die Domäne als Plattform gestört oder zu ändern ist. Typische Ticketformulierungen sind: „AD-Replikation fehlerhaft“; „Domänencontroller nicht erreichbar“; „LDAP-Abfrage schlägt fehl“; „Domänendienst gestört“. Nicht auswählen, wenn nur ein Benutzerkonto angelegt, ein Kennwort zurückgesetzt oder eine einzelne Gruppenmitgliedschaft geändert werden soll. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Einzelne Benutzer- und Gruppenaufträge gehören in die entsprechenden Kategorien unter Benutzerkonten und Berechtigungen.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Server, Backend und Plattformen \u003e Active Directory“ zuzuordnen. Primär zuständig ist „Infrastruktur und Backend“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Server, Backend und Plattformen \u003e Active Directory"
|
||||
],
|
||||
"keywords": [
|
||||
"Active Directory",
|
||||
"AD",
|
||||
"Domänencontroller",
|
||||
"Domain Controller",
|
||||
"LDAP",
|
||||
"Replikation",
|
||||
"Domäne",
|
||||
"Verzeichnisdienst",
|
||||
"Server, Backend und Plattformen"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/server-backend-und-plattformen/active-directory",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
25
knowledge/01_arbeitsplatzdrucker.json
Normal file
25
knowledge/01_arbeitsplatzdrucker.json
Normal file
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"id": "KAT-ARBEITSPLATZDRUCKER-SELECT",
|
||||
"title": "Arbeitsplatzdrucker",
|
||||
"text": "Auswahlziel: Drucken, Scannen und Kopieren \u003e Arbeitsplatzdrucker. Primär zuständiges Team: Support und Telekommunikation. Diese Kategorie ist auszuwählen, wenn ein direkt einem Arbeitsplatz zugeordneter Drucker nicht druckt, Papierstau, schlechte Druckqualität, lokale Verbindung oder einen Gerätefehler zeigt. Typische Ticketformulierungen sind: „Lokaler Drucker druckt nicht“; „Papierstau am Arbeitsplatzdrucker“; „Druck blass“; „USB-Drucker wird nicht erkannt“. Nicht auswählen, wenn ein zentraler Netzwerkdrucker, Multifunktionsgerät oder Druckserver betroffen ist oder ein neues Gerät beschafft werden soll. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Verbrauchsmaterial und Beschaffung werden bei Bedarf separat zugeordnet.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Drucken, Scannen und Kopieren \u003e Arbeitsplatzdrucker“ zuzuordnen. Primär zuständig ist „Support und Telekommunikation“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Drucken, Scannen und Kopieren \u003e Arbeitsplatzdrucker"
|
||||
],
|
||||
"keywords": [
|
||||
"Arbeitsplatzdrucker",
|
||||
"lokaler Drucker",
|
||||
"Papierstau",
|
||||
"Druckqualität",
|
||||
"USB-Drucker",
|
||||
"druckt nicht",
|
||||
"Toner",
|
||||
"Drucken, Scannen und Kopieren"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/drucken-scannen-und-kopieren/arbeitsplatzdrucker",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
28
knowledge/01_fachanwendung-storung.json
Normal file
28
knowledge/01_fachanwendung-storung.json
Normal file
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"id": "KAT-FACHANWENDUNG-STORUNG-SELECT",
|
||||
"title": "Fachanwendung – Störung",
|
||||
"text": "Auswahlziel: Fachanwendungen und Microsoft Office \u003e Fachanwendung – Störung. Primär zuständiges Team: Fachanwendungen. Diese Kategorie ist auszuwählen, wenn eine konkrete Fachanwendung eine Fehlermeldung zeigt, eine fachliche Funktion nicht arbeitet, Masken nicht laden, Verarbeitungsschritte abbrechen oder einzelne Module nicht verfügbar sind. Typische Ticketformulierungen sind: „Fachverfahren zeigt Fehler“; „Buchung kann nicht abgeschlossen werden“; „Maske bleibt leer“; „Modul startet nicht“. Nicht auswählen, wenn das Problem ausschließlich durch Netzwerk, Serverplattform, Datenbankplattform oder das zentrale Benutzerkonto verursacht wird; wenn es sich nur um eine Bedienungsfrage oder neue Anforderung handelt. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Die konkrete Anwendung, Fehlermeldung, betroffene Funktion und Anzahl der Betroffenen sind entscheidend.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Fachanwendungen und Microsoft Office \u003e Fachanwendung – Störung“ zuzuordnen. Primär zuständig ist „Fachanwendungen“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Fachanwendungen und Microsoft Office \u003e Fachanwendung – Störung"
|
||||
],
|
||||
"keywords": [
|
||||
"Fachanwendung",
|
||||
"Fachverfahren",
|
||||
"Fehlermeldung",
|
||||
"Störung",
|
||||
"Modul",
|
||||
"Maske",
|
||||
"Verarbeitung abgebrochen",
|
||||
"Anwendungsfehler",
|
||||
"funktioniert nicht",
|
||||
"Fachanwendung – Störung",
|
||||
"Fachanwendungen und Microsoft Office"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/fachanwendungen-und-microsoft-office/fachanwendung-storung",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
27
knowledge/01_festnetztelefon.json
Normal file
27
knowledge/01_festnetztelefon.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"id": "KAT-FESTNETZTELEFON-SELECT",
|
||||
"title": "Festnetztelefon",
|
||||
"text": "Auswahlziel: Telefonie und Kommunikation \u003e Festnetztelefon. Primär zuständiges Team: Support und Telekommunikation. Diese Kategorie ist auszuwählen, wenn ein Tischtelefon oder Festnetzanschluss nicht klingelt, keine Gespräche ermöglicht, Tonprobleme zeigt, defekt ist oder lokal eingerichtet werden muss. Typische Ticketformulierungen sind: „Telefon hat keinen Wählton“; „Tischtelefon defekt“; „Anrufer nicht hörbar“; „Festnetztelefon startet nicht“. Nicht auswählen, wenn eine Rufnummer neu vergeben, eine Rufgruppe geändert oder ein Mobilfunkgerät betroffen ist. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Bei flächigem Telefonieausfall ist eine zentrale Störung zu prüfen und höher zu priorisieren.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Telefonie und Kommunikation \u003e Festnetztelefon“ zuzuordnen. Primär zuständig ist „Support und Telekommunikation“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Telefonie und Kommunikation \u003e Festnetztelefon"
|
||||
],
|
||||
"keywords": [
|
||||
"Festnetz",
|
||||
"Telefon",
|
||||
"Tischtelefon",
|
||||
"Hörer",
|
||||
"Wählton",
|
||||
"Telefonapparat",
|
||||
"kein Ton",
|
||||
"Telefon defekt",
|
||||
"Festnetztelefon",
|
||||
"Telefonie und Kommunikation"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/telefonie-und-kommunikation/festnetztelefon",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
26
knowledge/01_hardwarebeschaffung.json
Normal file
26
knowledge/01_hardwarebeschaffung.json
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"id": "KAT-HARDWAREBESCHAFFUNG-SELECT",
|
||||
"title": "Hardwarebeschaffung",
|
||||
"text": "Auswahlziel: Beschaffung, Verträge und Lizenzen \u003e Hardwarebeschaffung. Primär zuständiges Team: Leitung und Finanzen / Beschaffung. Diese Kategorie ist auszuwählen, wenn Hardware außerhalb eines einfachen Support-Ersatzes beschafft werden soll, etwa Server, Netzwerkkomponenten, Arbeitsplatzgeräte, Spezialhardware oder größere Stückzahlen. Typische Ticketformulierungen sind: „Serverhardware bestellen“; „Switches beschaffen“; „Spezialscanner kaufen“; „Rahmenbestellung für Notebooks“. Nicht auswählen, wenn ein vorhandenes Gerät nur repariert, umgesetzt oder zurückgegeben wird; für konkrete Arbeitsplatz-Neubeschaffung kann auch die spezialisierte Kategorie unter Arbeitsplatz genutzt werden. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Das jeweilige Fachteam liefert Spezifikation und Bedarf; Beschaffung führt kaufmännischen Prozess.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Beschaffung, Verträge und Lizenzen \u003e Hardwarebeschaffung“ zuzuordnen. Primär zuständig ist „Leitung und Finanzen / Beschaffung“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Beschaffung, Verträge und Lizenzen \u003e Hardwarebeschaffung"
|
||||
],
|
||||
"keywords": [
|
||||
"Hardwarebeschaffung",
|
||||
"Hardware bestellen",
|
||||
"Kauf",
|
||||
"Angebot",
|
||||
"Server kaufen",
|
||||
"Switch beschaffen",
|
||||
"Geräte bestellen",
|
||||
"Investition",
|
||||
"Beschaffung, Verträge und Lizenzen"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/beschaffung-vertrage-und-lizenzen/hardwarebeschaffung",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
29
knowledge/01_kennwort-zurucksetzen.json
Normal file
29
knowledge/01_kennwort-zurucksetzen.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"id": "KAT-KENNWORT-ZURUCKSETZEN-SELECT",
|
||||
"title": "Kennwort zurücksetzen",
|
||||
"text": "Auswahlziel: Benutzerkonten und Berechtigungen \u003e Kennwort zurücksetzen. Primär zuständiges Team: Support und Telekommunikation. Diese Kategorie ist auszuwählen, wenn ein Benutzer sein Kennwort vergessen hat, das Kennwort abgelaufen ist, eine Anmeldung wegen falscher Kennworteingaben scheitert oder das persönliche Domänenkonto gesperrt wurde. Auch typische Folgeprobleme nach einer Kennwortänderung, etwa gespeicherte alte Kennwörter auf weiteren Geräten, gehören hierher. Typische Ticketformulierungen sind: „Kennwort vergessen“; „Passwort abgelaufen“; „Konto gesperrt“; „Account locked“; „Anmeldung funktioniert nach Kennwortänderung nicht“. Nicht auswählen, wenn ein Konto neu angelegt, umbenannt oder gelöscht werden soll; wenn Rollen in einer Fachanwendung fehlen; wenn eine technische Störung des Active Directory mehrere Benutzer betrifft. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Der Support prüft Identität, betroffenen Dienst und mögliche Altkennwörter. Zentrale AD-Störungen werden an Infrastruktur und Backend übergeben.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Benutzerkonten und Berechtigungen \u003e Kennwort zurücksetzen“ zuzuordnen. Primär zuständig ist „Support und Telekommunikation“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Benutzerkonten und Berechtigungen \u003e Kennwort zurücksetzen"
|
||||
],
|
||||
"keywords": [
|
||||
"Kennwort",
|
||||
"Passwort",
|
||||
"Kennwort zurücksetzen",
|
||||
"Passwort vergessen",
|
||||
"Konto gesperrt",
|
||||
"Account locked",
|
||||
"Login",
|
||||
"Anmeldung",
|
||||
"Domänenkonto",
|
||||
"AD-Konto",
|
||||
"falsches Kennwort",
|
||||
"Benutzerkonten und Berechtigungen"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/benutzerkonten-und-berechtigungen/kennwort-zurucksetzen",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
26
knowledge/01_lan.json
Normal file
26
knowledge/01_lan.json
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"id": "KAT-LAN-SELECT",
|
||||
"title": "LAN",
|
||||
"text": "Auswahlziel: Netzwerk und Verbindungen \u003e LAN. Primär zuständiges Team: Infrastruktur und Backend. Diese Kategorie ist auszuwählen, wenn eine kabelgebundene Netzwerkverbindung, Netzwerkdose, Patchung oder Ethernet-Verbindung nicht funktioniert, instabil ist oder neu bereitgestellt werden soll. Typische Ticketformulierungen sind: „Netzwerkdose ohne Verbindung“; „LAN bricht ab“; „Kein Netzwerk über Kabel“; „Neue Dose patchen“. Nicht auswählen, wenn ausschließlich WLAN, VPN, Internetzugang oder ein einzelner defekter Dockingadapter betroffen ist. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Bei nur einem Arbeitsplatz prüft der Support zunächst Kabel, Dock und Gerät; zentrale Komponenten liegen bei Infrastruktur.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Netzwerk und Verbindungen \u003e LAN“ zuzuordnen. Primär zuständig ist „Infrastruktur und Backend“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Netzwerk und Verbindungen \u003e LAN"
|
||||
],
|
||||
"keywords": [
|
||||
"LAN",
|
||||
"Ethernet",
|
||||
"Netzwerkdose",
|
||||
"Netzwerkkabel",
|
||||
"Patchen",
|
||||
"kabelgebunden",
|
||||
"kein Netzwerk",
|
||||
"Switchport",
|
||||
"Netzwerk und Verbindungen"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/netzwerk-und-verbindungen/lan",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
27
knowledge/01_neue-it-anforderung.json
Normal file
27
knowledge/01_neue-it-anforderung.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"id": "KAT-NEUE-IT-ANFORDERUNG-SELECT",
|
||||
"title": "Neue IT-Anforderung",
|
||||
"text": "Auswahlziel: Projekte, Änderungen und neue Anforderungen \u003e Neue IT-Anforderung. Primär zuständiges Team: Leitung und Finanzen / Beschaffung. Diese Kategorie ist auszuwählen, wenn ein bislang nicht vorhandener IT-Service, eine neue technische Fähigkeit oder ein organisationsübergreifender Bedarf zunächst bewertet, priorisiert und einem Fachteam zugeordnet werden soll. Typische Ticketformulierungen sind: „Neuen digitalen Dienst prüfen“; „Zusätzlichen IT-Service bereitstellen“; „Neue technische Lösung benötigt“; „Unklarer neuer IT-Bedarf“. Nicht auswählen, wenn die Lösung bereits eindeutig eine bestehende Fachanwendung betrifft, nur Hardware bestellt oder eine normale Störung gemeldet wird. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Diese Kategorie dient der qualifizierten Erstbewertung; danach erfolgt Übergabe an das zuständige Fachteam oder Projekt.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Projekte, Änderungen und neue Anforderungen \u003e Neue IT-Anforderung“ zuzuordnen. Primär zuständig ist „Leitung und Finanzen / Beschaffung“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Projekte, Änderungen und neue Anforderungen \u003e Neue IT-Anforderung"
|
||||
],
|
||||
"keywords": [
|
||||
"neue IT-Anforderung",
|
||||
"neuer Service",
|
||||
"neue Lösung",
|
||||
"Bedarf",
|
||||
"Anforderung",
|
||||
"Idee",
|
||||
"Digitalisierung",
|
||||
"Prüfauftrag",
|
||||
"Neue IT-Anforderung",
|
||||
"Projekte, Änderungen und neue Anforderungen"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/projekte-anderungen-und-neue-anforderungen/neue-it-anforderung",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
25
knowledge/01_padagogisches-netzwerk.json
Normal file
25
knowledge/01_padagogisches-netzwerk.json
Normal file
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"id": "KAT-PADAGOGISCHES-NETZWERK-SELECT",
|
||||
"title": "Pädagogisches Netzwerk",
|
||||
"text": "Auswahlziel: Schulspezifische IT-Systeme \u003e Pädagogisches Netzwerk. Primär zuständiges Team: Schulen. Diese Kategorie ist auszuwählen, wenn das pädagogische Netz einer Schule, seine Zugänge, Segmentierung, Internetnutzung oder schulbezogene Netzwerkdienste betroffen sind. Typische Ticketformulierungen sind: „Schülernetz nicht erreichbar“; „Pädagogisches WLAN gestört“; „Unterrichtsnetz ausgefallen“; „Zugang im pädagogischen Netz fehlt“. Nicht auswählen, wenn ausschließlich das Verwaltungsnetz, eine einzelne allgemeine Netzwerkdose oder die zentrale kommunale Standortanbindung betroffen ist. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Während der Übergangszeit primär Team Schulen; zentrale Infrastrukturursachen werden an Infrastruktur und Backend übergeben.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Schulspezifische IT-Systeme \u003e Pädagogisches Netzwerk“ zuzuordnen. Primär zuständig ist „Schulen“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Schulspezifische IT-Systeme \u003e Pädagogisches Netzwerk"
|
||||
],
|
||||
"keywords": [
|
||||
"pädagogisches Netzwerk",
|
||||
"Schülernetz",
|
||||
"Unterrichtsnetz",
|
||||
"pädagogisches WLAN",
|
||||
"Schulnetz",
|
||||
"Pädagogiknetz",
|
||||
"Pädagogisches Netzwerk",
|
||||
"Schulspezifische IT-Systeme"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/schulspezifische-it-systeme/padagogisches-netzwerk",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
30
knowledge/01_pc-und-notebook.json
Normal file
30
knowledge/01_pc-und-notebook.json
Normal file
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"id": "KAT-PC-UND-NOTEBOOK-SELECT",
|
||||
"title": "PC und Notebook",
|
||||
"text": "Auswahlziel: Arbeitsplatz und Endgeräte \u003e PC und Notebook. Primär zuständiges Team: Support und Telekommunikation. Diese Kategorie ist auszuwählen, wenn ein einzelner Arbeitsplatz-PC oder ein dienstliches Notebook nicht startet, abstürzt, sehr langsam ist, ungewöhnliche Geräusche macht, einen Hardwaredefekt zeigt oder lokal nicht nutzbar ist. Typische Ticketformulierungen sind: „Notebook startet nicht“; „PC friert ein“; „Laptop-Akku defekt“; „Arbeitsplatzrechner sehr langsam“; „Gerät zeigt Bluescreen“. Nicht auswählen, wenn mehrere Geräte gleichzeitig betroffen sind, ein zentraler Dienst ausfällt, ein neues Gerät beschafft werden soll oder ausschließlich Monitor, Dockingstation oder Zubehör betroffen sind. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Bei mehreren gleichzeitig betroffenen Geräten ist ein zentraler Infrastruktur- oder Sicherheitsbezug zu prüfen.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Arbeitsplatz und Endgeräte \u003e PC und Notebook“ zuzuordnen. Primär zuständig ist „Support und Telekommunikation“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Arbeitsplatz und Endgeräte \u003e PC und Notebook"
|
||||
],
|
||||
"keywords": [
|
||||
"PC",
|
||||
"Computer",
|
||||
"Notebook",
|
||||
"Laptop",
|
||||
"Arbeitsplatzrechner",
|
||||
"startet nicht",
|
||||
"Absturz",
|
||||
"Bluescreen",
|
||||
"langsam",
|
||||
"Akku",
|
||||
"Hardwaredefekt",
|
||||
"PC und Notebook",
|
||||
"Arbeitsplatz und Endgeräte"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/arbeitsplatz-und-endgerate/pc-und-notebook",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
24
knowledge/01_sonstiges-und-unklare-zuordnung.json
Normal file
24
knowledge/01_sonstiges-und-unklare-zuordnung.json
Normal file
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"id": "KAT-SONSTIGES-UND-UNKLARE-ZUORDNUNG-SELECT",
|
||||
"title": "Sonstiges und unklare Zuordnung",
|
||||
"text": "Auswahlziel: Sonstiges und unklare Zuordnung \u003e Sonstiges und unklare Zuordnung. Primär zuständiges Team: Support und Telekommunikation. Diese Kategorie ist auszuwählen, nur wenn das Ticket trotz ausreichender Beschreibung keiner vorhandenen Kategorie zuverlässig zugeordnet werden kann, mehrere völlig unterschiedliche Anliegen untrennbar vermischt oder der betroffene IT-Service nicht erkennbar ist. Typische Ticketformulierungen sind: „Unklarer IT-Fehler ohne erkennbaren Dienst“; „Mehrere nicht trennbare Anliegen“; „Betroffenes System nicht identifizierbar“. Nicht auswählen, wenn anhand von Anwendung, Gerät, Fehlermeldung, Standort oder gewünschter Leistung eine spezifische Kategorie gewählt werden kann. Diese Kategorie darf nicht allein wegen kurzer oder unvollständiger Formulierung bevorzugt werden. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Diese Auffangkategorie soll selten verwendet und regelmäßig ausgewertet werden. Vor Auswahl sind Hauptbegriffe und Kontext gegen alle spezifischen Kategorien zu prüfen.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Sonstiges und unklare Zuordnung \u003e Sonstiges und unklare Zuordnung“ zuzuordnen. Primär zuständig ist „Support und Telekommunikation“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Sonstiges und unklare Zuordnung \u003e Sonstiges und unklare Zuordnung"
|
||||
],
|
||||
"keywords": [
|
||||
"sonstiges",
|
||||
"unklar",
|
||||
"keine Zuordnung",
|
||||
"allgemeines IT-Problem",
|
||||
"nicht näher beschrieben",
|
||||
"divers",
|
||||
"Sonstiges und unklare Zuordnung"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/sonstiges-und-unklare-zuordnung/sonstiges-und-unklare-zuordnung",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
28
knowledge/01_verdachtige-e-mail-und-phishing.json
Normal file
28
knowledge/01_verdachtige-e-mail-und-phishing.json
Normal file
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"id": "KAT-VERDACHTIGE-E-MAIL-UND-PHISHING-SELECT",
|
||||
"title": "Verdächtige E-Mail und Phishing",
|
||||
"text": "Auswahlziel: IT-Sicherheit und Datensicherung \u003e Verdächtige E-Mail und Phishing. Primär zuständiges Team: Infrastruktur und Backend. Diese Kategorie ist auszuwählen, wenn eine E-Mail verdächtig wirkt, einen ungewöhnlichen Link oder Anhang enthält, Zugangsdaten abfragt, eine Zahlung fordert oder der Absender möglicherweise gefälscht ist. Typische Ticketformulierungen sind: „Verdächtige Rechnung per E-Mail“; „Link in Mail angeklickt“; „Absender scheint gefälscht“; „Passwortabfrage per Mail“. Nicht auswählen, wenn es sich nur um normalen Spam ohne Sicherheitsbezug, eine Outlook-Client-Störung oder eine bekannte legitime Nachricht handelt. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Bei geklicktem Link, geöffnetem Anhang oder eingegebenen Zugangsdaten ist die Dringlichkeit zu erhöhen und gegebenenfalls Sicherheitsvorfall zu wählen.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „IT-Sicherheit und Datensicherung \u003e Verdächtige E-Mail und Phishing“ zuzuordnen. Primär zuständig ist „Infrastruktur und Backend“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"IT-Sicherheit und Datensicherung \u003e Verdächtige E-Mail und Phishing"
|
||||
],
|
||||
"keywords": [
|
||||
"Phishing",
|
||||
"verdächtige E-Mail",
|
||||
"Fake Mail",
|
||||
"gefälschter Absender",
|
||||
"verdächtiger Link",
|
||||
"Anhang",
|
||||
"Spam",
|
||||
"Zugangsdaten",
|
||||
"CEO-Fraud",
|
||||
"Verdächtige E-Mail und Phishing",
|
||||
"IT-Sicherheit und Datensicherung"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/it-sicherheit-und-datensicherung/verdachtige-e-mail-und-phishing",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
30
knowledge/02_benutzerkonto-anlegen-andern-oder-loschen.json
Normal file
30
knowledge/02_benutzerkonto-anlegen-andern-oder-loschen.json
Normal file
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"id": "KAT-BENUTZERKONTO-ANLEGEN-ANDERN-ODER-LOSCHEN-SELECT",
|
||||
"title": "Benutzerkonto anlegen, ändern oder löschen",
|
||||
"text": "Auswahlziel: Benutzerkonten und Berechtigungen \u003e Benutzerkonto anlegen, ändern oder löschen. Primär zuständiges Team: Infrastruktur und Backend. Diese Kategorie ist auszuwählen, wenn ein persönliches Benutzerkonto für Eintritt, Versetzung, Namensänderung, Organisationswechsel, längere Abwesenheit oder Austritt erstellt, angepasst, deaktiviert oder gelöscht werden muss. Dazu zählen technische Kontodaten im zentralen Verzeichnisdienst. Typische Ticketformulierungen sind: „Neuer Mitarbeiter benötigt ein Konto“; „Nachname hat sich geändert“; „Konto zum Austritt deaktivieren“; „Benutzer in andere Organisationseinheit verschieben“. Nicht auswählen, wenn nur ein Kennwort zurückgesetzt werden muss; wenn ausschließlich eine Rolle in einer Fachanwendung betroffen ist; wenn ein Funktionspostfach benötigt wird. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Fachliche Berechtigungen werden nicht automatisch mit dieser Kategorie abgedeckt und müssen gegebenenfalls separat beantragt werden.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Benutzerkonten und Berechtigungen \u003e Benutzerkonto anlegen, ändern oder löschen“ zuzuordnen. Primär zuständig ist „Infrastruktur und Backend“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Benutzerkonten und Berechtigungen \u003e Benutzerkonto anlegen, ändern oder löschen"
|
||||
],
|
||||
"keywords": [
|
||||
"Benutzerkonto anlegen",
|
||||
"Account erstellen",
|
||||
"neuer Mitarbeiter",
|
||||
"Eintritt",
|
||||
"Austritt",
|
||||
"Konto löschen",
|
||||
"Konto deaktivieren",
|
||||
"Namensänderung",
|
||||
"Versetzung",
|
||||
"Organisationseinheit",
|
||||
"AD-Benutzer",
|
||||
"Benutzerkonto anlegen, ändern oder löschen",
|
||||
"Benutzerkonten und Berechtigungen"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/benutzerkonten-und-berechtigungen/benutzerkonto-anlegen-andern-oder-loschen",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
28
knowledge/02_fachanwendung-bedienung-und-beratung.json
Normal file
28
knowledge/02_fachanwendung-bedienung-und-beratung.json
Normal file
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"id": "KAT-FACHANWENDUNG-BEDIENUNG-UND-BERATUNG-SELECT",
|
||||
"title": "Fachanwendung – Bedienung und Beratung",
|
||||
"text": "Auswahlziel: Fachanwendungen und Microsoft Office \u003e Fachanwendung – Bedienung und Beratung. Primär zuständiges Team: Fachanwendungen. Diese Kategorie ist auszuwählen, wenn die Anwendung technisch funktioniert, aber Unterstützung bei Bedienung, Prozessschritten, Eingaben, fachlicher Nutzung oder Best-Practice benötigt wird. Typische Ticketformulierungen sind: „Wie erfasse ich einen Vorgang“; „Wo finde ich die Auswertung“; „Unterstützung bei Arbeitsschritt“; „Frage zur Bedienung des Fachverfahrens“. Nicht auswählen, wenn eine Fehlermeldung oder ein technischer Ausfall vorliegt; wenn eine neue Funktion entwickelt oder eine Berechtigung geändert werden soll. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Reine Standardfragen können im First-Level angenommen werden; fachliche Prozessberatung bleibt bei Fachanwendungen.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Fachanwendungen und Microsoft Office \u003e Fachanwendung – Bedienung und Beratung“ zuzuordnen. Primär zuständig ist „Fachanwendungen“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Fachanwendungen und Microsoft Office \u003e Fachanwendung – Bedienung und Beratung"
|
||||
],
|
||||
"keywords": [
|
||||
"Bedienung",
|
||||
"Anleitung",
|
||||
"Wie kann ich",
|
||||
"Wo finde ich",
|
||||
"Beratung",
|
||||
"Nutzung",
|
||||
"Arbeitsschritt",
|
||||
"Fachverfahren Hilfe",
|
||||
"Anwenderfrage",
|
||||
"Fachanwendung – Bedienung und Beratung",
|
||||
"Fachanwendungen und Microsoft Office"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/fachanwendungen-und-microsoft-office/fachanwendung-bedienung-und-beratung",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
27
knowledge/02_gruppenrichtlinien.json
Normal file
27
knowledge/02_gruppenrichtlinien.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"id": "KAT-GRUPPENRICHTLINIEN-SELECT",
|
||||
"title": "Gruppenrichtlinien",
|
||||
"text": "Auswahlziel: Server, Backend und Plattformen \u003e Gruppenrichtlinien. Primär zuständiges Team: Infrastruktur und Backend. Diese Kategorie ist auszuwählen, wenn zentrale GPOs technisch erstellt, getestet, verteilt, analysiert oder korrigiert werden sollen und mehrere Systeme oder definierte Organisationseinheiten betreffen. Typische Ticketformulierungen sind: „Neue GPO verteilen“; „Richtlinie wird nicht übernommen“; „Zentrale Windows-Einstellung ändern“; „GPO-Fehler analysieren“. Nicht auswählen, wenn lediglich eine Gruppenmitgliedschaft geändert oder eine lokale Client-Einstellung repariert werden soll. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Die ähnliche Kategorie AD-Gruppen und Gruppenrichtlinien dient eher konkreten Benutzer-/Gruppenaufträgen; diese Kategorie dem Plattformbetrieb und größeren GPO-Arbeiten.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Server, Backend und Plattformen \u003e Gruppenrichtlinien“ zuzuordnen. Primär zuständig ist „Infrastruktur und Backend“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Server, Backend und Plattformen \u003e Gruppenrichtlinien"
|
||||
],
|
||||
"keywords": [
|
||||
"Gruppenrichtlinie",
|
||||
"GPO",
|
||||
"Group Policy",
|
||||
"gpupdate",
|
||||
"Richtlinie",
|
||||
"OU",
|
||||
"zentrale Einstellung",
|
||||
"Policy",
|
||||
"Gruppenrichtlinien",
|
||||
"Server, Backend und Plattformen"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/server-backend-und-plattformen/gruppenrichtlinien",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
30
knowledge/02_monitor-und-dockingstation.json
Normal file
30
knowledge/02_monitor-und-dockingstation.json
Normal file
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"id": "KAT-MONITOR-UND-DOCKINGSTATION-SELECT",
|
||||
"title": "Monitor und Dockingstation",
|
||||
"text": "Auswahlziel: Arbeitsplatz und Endgeräte \u003e Monitor und Dockingstation. Primär zuständiges Team: Support und Telekommunikation. Diese Kategorie ist auszuwählen, wenn ein Monitor kein Bild zeigt, flackert, falsch erkannt wird oder eine Dockingstation Bild, Netzwerk, USB oder Stromversorgung nicht korrekt durchreicht. Typische Ticketformulierungen sind: „Zweiter Bildschirm bleibt schwarz“; „Dockingstation erkennt Netzwerk nicht“; „Monitor flackert“; „Notebook lädt am Dock nicht“. Nicht auswählen, wenn der gesamte PC nicht startet, ein flächiges Netzwerkproblem vorliegt oder ein neuer Monitor beziehungsweise eine neue Dockingstation beschafft werden soll. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Bei Netzwerkproblemen über ein Dock zunächst lokale Prüfung durch den Support; bei mehreren Betroffenen Übergabe an Infrastruktur.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Arbeitsplatz und Endgeräte \u003e Monitor und Dockingstation“ zuzuordnen. Primär zuständig ist „Support und Telekommunikation“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Arbeitsplatz und Endgeräte \u003e Monitor und Dockingstation"
|
||||
],
|
||||
"keywords": [
|
||||
"Monitor",
|
||||
"Bildschirm",
|
||||
"Display",
|
||||
"Dockingstation",
|
||||
"Dock",
|
||||
"kein Bild",
|
||||
"flackert",
|
||||
"zweiter Bildschirm",
|
||||
"USB-C",
|
||||
"HDMI",
|
||||
"DisplayPort",
|
||||
"Monitor und Dockingstation",
|
||||
"Arbeitsplatz und Endgeräte"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/arbeitsplatz-und-endgerate/monitor-und-dockingstation",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
25
knowledge/02_netzwerkdrucker.json
Normal file
25
knowledge/02_netzwerkdrucker.json
Normal file
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"id": "KAT-NETZWERKDRUCKER-SELECT",
|
||||
"title": "Netzwerkdrucker",
|
||||
"text": "Auswahlziel: Drucken, Scannen und Kopieren \u003e Netzwerkdrucker. Primär zuständiges Team: Support und Telekommunikation. Diese Kategorie ist auszuwählen, wenn ein gemeinsam genutzter Netzwerkdrucker nicht erreichbar ist, Druckaufträge hängen, eine Warteschlange fehlerhaft ist oder mehrere Benutzer auf dasselbe Gerät nicht drucken können. Typische Ticketformulierungen sind: „Netzwerkdrucker offline“; „Druckwarteschlange hängt“; „Mehrere Nutzer können nicht drucken“; „Drucker nicht verbunden“. Nicht auswählen, wenn ein lokaler USB-Drucker, Kopierer oder rein zentraler Druckserverdienst ohne konkretes Gerät betroffen ist. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Bei zentralem Druckserver- oder Netzwerkproblem wird an Infrastruktur und Backend übergeben.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Drucken, Scannen und Kopieren \u003e Netzwerkdrucker“ zuzuordnen. Primär zuständig ist „Support und Telekommunikation“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Drucken, Scannen und Kopieren \u003e Netzwerkdrucker"
|
||||
],
|
||||
"keywords": [
|
||||
"Netzwerkdrucker",
|
||||
"Druckwarteschlange",
|
||||
"Print Queue",
|
||||
"offline",
|
||||
"gemeinsamer Drucker",
|
||||
"Druckauftrag hängt",
|
||||
"IP-Drucker",
|
||||
"Drucken, Scannen und Kopieren"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/drucken-scannen-und-kopieren/netzwerkdrucker",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
26
knowledge/02_rufnummer-und-nebenstelle.json
Normal file
26
knowledge/02_rufnummer-und-nebenstelle.json
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"id": "KAT-RUFNUMMER-UND-NEBENSTELLE-SELECT",
|
||||
"title": "Rufnummer und Nebenstelle",
|
||||
"text": "Auswahlziel: Telefonie und Kommunikation \u003e Rufnummer und Nebenstelle. Primär zuständiges Team: Support und Telekommunikation. Diese Kategorie ist auszuwählen, wenn eine Rufnummer oder Nebenstelle neu eingerichtet, geändert, einem Arbeitsplatz zugeordnet, portiert oder aufgehoben werden soll. Typische Ticketformulierungen sind: „Neue Nebenstelle einrichten“; „Rufnummer umziehen“; „Durchwahl ändern“; „Nebenstelle löschen“. Nicht auswählen, wenn nur das Telefon defekt ist, eine Weiterleitung benötigt wird oder ein Mobilfunkvertrag betroffen ist. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Beschaffungs- oder Vertragsanteile werden bei Bedarf an Leitung und Finanzen / Beschaffung übergeben.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Telefonie und Kommunikation \u003e Rufnummer und Nebenstelle“ zuzuordnen. Primär zuständig ist „Support und Telekommunikation“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Telefonie und Kommunikation \u003e Rufnummer und Nebenstelle"
|
||||
],
|
||||
"keywords": [
|
||||
"Rufnummer",
|
||||
"Nebenstelle",
|
||||
"Durchwahl",
|
||||
"Telefonnummer",
|
||||
"Portierung",
|
||||
"Nummer zuordnen",
|
||||
"Nummer ändern",
|
||||
"Rufnummer und Nebenstelle",
|
||||
"Telefonie und Kommunikation"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/telefonie-und-kommunikation/rufnummer-und-nebenstelle",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
28
knowledge/02_schadsoftware-und-virenfund.json
Normal file
28
knowledge/02_schadsoftware-und-virenfund.json
Normal file
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"id": "KAT-SCHADSOFTWARE-UND-VIRENFUND-SELECT",
|
||||
"title": "Schadsoftware und Virenfund",
|
||||
"text": "Auswahlziel: IT-Sicherheit und Datensicherung \u003e Schadsoftware und Virenfund. Primär zuständiges Team: Infrastruktur und Backend. Diese Kategorie ist auszuwählen, wenn Virenscanner, EDR oder ein anderes Schutzsystem Malware, Trojaner, Ransomware, unerwünschte Software oder eine verdächtige Datei auf einem Gerät meldet. Typische Ticketformulierungen sind: „Virenscanner meldet Trojaner“; „Datei in Quarantäne“; „Ransomware-Verdacht“; „Malware-Fund auf Notebook“. Nicht auswählen, wenn lediglich ein Virenscanner-Update fehlt, eine allgemeine Schwachstelle bekannt ist oder nur eine verdächtige E-Mail noch nicht geöffnet wurde. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Betroffene Geräte nicht weiter verwenden und nicht eigenständig bereinigen; bei möglicher Ausbreitung als Sicherheitsvorfall eskalieren.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „IT-Sicherheit und Datensicherung \u003e Schadsoftware und Virenfund“ zuzuordnen. Primär zuständig ist „Infrastruktur und Backend“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"IT-Sicherheit und Datensicherung \u003e Schadsoftware und Virenfund"
|
||||
],
|
||||
"keywords": [
|
||||
"Virus",
|
||||
"Malware",
|
||||
"Trojaner",
|
||||
"Ransomware",
|
||||
"Virenfund",
|
||||
"Quarantäne",
|
||||
"EDR",
|
||||
"infiziert",
|
||||
"Schadsoftware",
|
||||
"Schadsoftware und Virenfund",
|
||||
"IT-Sicherheit und Datensicherung"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/it-sicherheit-und-datensicherung/schadsoftware-und-virenfund",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
23
knowledge/02_schulverwaltungsnetz.json
Normal file
23
knowledge/02_schulverwaltungsnetz.json
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"id": "KAT-SCHULVERWALTUNGSNETZ-SELECT",
|
||||
"title": "Schulverwaltungsnetz",
|
||||
"text": "Auswahlziel: Schulspezifische IT-Systeme \u003e Schulverwaltungsnetz. Primär zuständiges Team: Schulen. Diese Kategorie ist auszuwählen, wenn das getrennte Verwaltungsnetz einer Schule, Arbeitsplätze der Schulverwaltung oder schulverwaltungsspezifische Netzzugänge betroffen sind. Typische Ticketformulierungen sind: „Sekretariat ohne Verwaltungsnetz“; „Schulleitungs-PC erreicht Verwaltungsdienste nicht“; „Verwaltungs-WLAN gestört“. Nicht auswählen, wenn das pädagogische Schülernetz, eine konkrete Schulverwaltungsanwendung oder die gesamte Standortanbindung ausfällt. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Zentrale Netzwerkkomponenten werden durch Team Schulen qualifiziert und an Infrastruktur und Backend weitergegeben.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Schulspezifische IT-Systeme \u003e Schulverwaltungsnetz“ zuzuordnen. Primär zuständig ist „Schulen“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Schulspezifische IT-Systeme \u003e Schulverwaltungsnetz"
|
||||
],
|
||||
"keywords": [
|
||||
"Schulverwaltungsnetz",
|
||||
"Verwaltungsnetz Schule",
|
||||
"Sekretariat Netzwerk",
|
||||
"Schulleitung Netzwerk",
|
||||
"Schulverwaltung",
|
||||
"Schulspezifische IT-Systeme"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/schulspezifische-it-systeme/schulverwaltungsnetz",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
25
knowledge/02_softwarebeschaffung.json
Normal file
25
knowledge/02_softwarebeschaffung.json
Normal file
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"id": "KAT-SOFTWAREBESCHAFFUNG-SELECT",
|
||||
"title": "Softwarebeschaffung",
|
||||
"text": "Auswahlziel: Beschaffung, Verträge und Lizenzen \u003e Softwarebeschaffung. Primär zuständiges Team: Leitung und Finanzen / Beschaffung. Diese Kategorie ist auszuwählen, wenn neue Software, ein neues Produkt, ein Abonnement oder eine kostenpflichtige Erweiterung beschafft und vertraglich beauftragt werden soll. Typische Ticketformulierungen sind: „Neue Software kaufen“; „SaaS-Angebot beauftragen“; „Kostenpflichtiges Modul beschaffen“; „Softwareangebot prüfen“. Nicht auswählen, wenn bereits freigegebene Software nur installiert, eine Fachanwendung eingeführt oder eine vorhandene Lizenz technisch nicht erkannt wird. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Technische, datenschutzrechtliche und sicherheitsbezogene Prüfung erfolgt vor Beauftragung.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Beschaffung, Verträge und Lizenzen \u003e Softwarebeschaffung“ zuzuordnen. Primär zuständig ist „Leitung und Finanzen / Beschaffung“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Beschaffung, Verträge und Lizenzen \u003e Softwarebeschaffung"
|
||||
],
|
||||
"keywords": [
|
||||
"Softwarebeschaffung",
|
||||
"Software kaufen",
|
||||
"SaaS",
|
||||
"Abonnement",
|
||||
"Lizenz kaufen",
|
||||
"Angebot Software",
|
||||
"Bestellung Software",
|
||||
"Beschaffung, Verträge und Lizenzen"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/beschaffung-vertrage-und-lizenzen/softwarebeschaffung",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
26
knowledge/02_wlan.json
Normal file
26
knowledge/02_wlan.json
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"id": "KAT-WLAN-SELECT",
|
||||
"title": "WLAN",
|
||||
"text": "Auswahlziel: Netzwerk und Verbindungen \u003e WLAN. Primär zuständiges Team: Infrastruktur und Backend. Diese Kategorie ist auszuwählen, wenn eine drahtlose Netzwerkverbindung nicht hergestellt wird, häufig abbricht, zu schwach ist, ein WLAN-Bereich nicht versorgt wird oder ein SSID-/Authentifizierungsproblem besteht. Typische Ticketformulierungen sind: „WLAN verbindet nicht“; „Schlechter Empfang im Raum“; „SSID fehlt“; „WLAN bricht ständig ab“. Nicht auswählen, wenn Mobilfunkempfang, kabelgebundenes LAN oder ein allgemeines Internetproblem ohne WLAN-Bezug gemeint ist. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Bei einem einzelnen Gerät kann der Support vorprüfen; flächige Abdeckung und Access Points liegen bei Infrastruktur.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Netzwerk und Verbindungen \u003e WLAN“ zuzuordnen. Primär zuständig ist „Infrastruktur und Backend“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Netzwerk und Verbindungen \u003e WLAN"
|
||||
],
|
||||
"keywords": [
|
||||
"WLAN",
|
||||
"Wi-Fi",
|
||||
"SSID",
|
||||
"Funknetz",
|
||||
"Access Point",
|
||||
"schlechter Empfang",
|
||||
"keine Verbindung",
|
||||
"WLAN-Abdeckung",
|
||||
"Netzwerk und Verbindungen"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/netzwerk-und-verbindungen/wlan",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
29
knowledge/03_ad-gruppen-und-gruppenrichtlinien.json
Normal file
29
knowledge/03_ad-gruppen-und-gruppenrichtlinien.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"id": "KAT-AD-GRUPPEN-UND-GRUPPENRICHTLINIEN-SELECT",
|
||||
"title": "AD-Gruppen und Gruppenrichtlinien",
|
||||
"text": "Auswahlziel: Benutzerkonten und Berechtigungen \u003e AD-Gruppen und Gruppenrichtlinien. Primär zuständiges Team: Infrastruktur und Backend. Diese Kategorie ist auszuwählen, wenn Mitgliedschaften in zentralen Active-Directory-Gruppen, Sicherheitsgruppen, Verteilergruppen mit AD-Bezug oder technische Gruppenrichtlinien geprüft, geändert oder neu eingerichtet werden sollen. Auch fehlerhafte Laufwerkszuordnungen oder zentrale Windows-Einstellungen durch GPO gehören hierher. Typische Ticketformulierungen sind: „Benutzer in AD-Gruppe aufnehmen“; „GPO wird nicht angewendet“; „Netzlaufwerk fehlt wegen Gruppenmitgliedschaft“; „Zentrale Windows-Richtlinie ändern“. Nicht auswählen, wenn es um eine fachliche Rolle innerhalb einer Anwendung, ein einzelnes vergessenes Kennwort oder eine lokale Einstellung an nur einem Arbeitsplatz ohne Richtlinienbezug geht. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Bei fachlichen Rollen ist Fachanwendungen zuständig; bei reinen Arbeitsplatzproblemen ohne zentralen Bezug zunächst der Support.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Benutzerkonten und Berechtigungen \u003e AD-Gruppen und Gruppenrichtlinien“ zuzuordnen. Primär zuständig ist „Infrastruktur und Backend“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Benutzerkonten und Berechtigungen \u003e AD-Gruppen und Gruppenrichtlinien"
|
||||
],
|
||||
"keywords": [
|
||||
"Active Directory",
|
||||
"AD-Gruppe",
|
||||
"Sicherheitsgruppe",
|
||||
"Gruppenmitgliedschaft",
|
||||
"GPO",
|
||||
"Gruppenrichtlinie",
|
||||
"Group Policy",
|
||||
"OU",
|
||||
"Laufwerkszuordnung",
|
||||
"zentrale Richtlinie",
|
||||
"AD-Gruppen und Gruppenrichtlinien",
|
||||
"Benutzerkonten und Berechtigungen"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/benutzerkonten-und-berechtigungen/ad-gruppen-und-gruppenrichtlinien",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
27
knowledge/03_dateiablagen-und-netzlaufwerke.json
Normal file
27
knowledge/03_dateiablagen-und-netzlaufwerke.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"id": "KAT-DATEIABLAGEN-UND-NETZLAUFWERKE-SELECT",
|
||||
"title": "Dateiablagen und Netzlaufwerke",
|
||||
"text": "Auswahlziel: Server, Backend und Plattformen \u003e Dateiablagen und Netzlaufwerke. Primär zuständiges Team: Infrastruktur und Backend. Diese Kategorie ist auszuwählen, wenn zentrale Dateifreigaben, Netzlaufwerke, SMB-Ablagen oder Berechtigungsstrukturen nicht erreichbar sind, Speicherprobleme zeigen oder neu bereitgestellt werden sollen. Typische Ticketformulierungen sind: „Netzlaufwerk nicht erreichbar“; „Dateifreigabe anlegen“; „Ordnerberechtigung ändern“; „Speicherplatz auf Ablage voll“. Nicht auswählen, wenn nur eine lokale Datei beschädigt ist, eine Fachanwendung ihren Export nicht erzeugt oder lediglich eine Laufwerkszuordnung wegen fehlender AD-Gruppe fehlt. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Bei gruppenbasierter Berechtigung kann zusätzlich Benutzerkonten \u003e AD-Gruppen relevant sein.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Server, Backend und Plattformen \u003e Dateiablagen und Netzlaufwerke“ zuzuordnen. Primär zuständig ist „Infrastruktur und Backend“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Server, Backend und Plattformen \u003e Dateiablagen und Netzlaufwerke"
|
||||
],
|
||||
"keywords": [
|
||||
"Netzlaufwerk",
|
||||
"Dateifreigabe",
|
||||
"Fileserver",
|
||||
"SMB",
|
||||
"Ordnerberechtigung",
|
||||
"Laufwerk",
|
||||
"Ablage",
|
||||
"Speicherplatz",
|
||||
"Dateiablagen und Netzlaufwerke",
|
||||
"Server, Backend und Plattformen"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/server-backend-und-plattformen/dateiablagen-und-netzlaufwerke",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
26
knowledge/03_digitale-tafeln-und-prasentationstechnik.json
Normal file
26
knowledge/03_digitale-tafeln-und-prasentationstechnik.json
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"id": "KAT-DIGITALE-TAFELN-UND-PRASENTATIONSTECHNIK-SELECT",
|
||||
"title": "Digitale Tafeln und Präsentationstechnik",
|
||||
"text": "Auswahlziel: Schulspezifische IT-Systeme \u003e Digitale Tafeln und Präsentationstechnik. Primär zuständiges Team: Schulen. Diese Kategorie ist auszuwählen, wenn interaktive Tafeln, Displays, Beamer, Dokumentenkameras oder fest installierte Präsentationstechnik im Unterricht nicht funktioniert oder eingerichtet werden muss. Typische Ticketformulierungen sind: „Digitale Tafel reagiert nicht“; „Beamer im Klassenraum ohne Bild“; „Dokumentenkamera defekt“; „Interaktives Display kalibrieren“. Nicht auswählen, wenn nur ein normales Arbeitsplatzmonitorproblem, eine allgemeine Videokonferenz oder ein privates Endgerät betroffen ist. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Netzwerk- oder Backendursachen werden nach Erstprüfung an Infrastruktur weitergegeben.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Schulspezifische IT-Systeme \u003e Digitale Tafeln und Präsentationstechnik“ zuzuordnen. Primär zuständig ist „Schulen“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Schulspezifische IT-Systeme \u003e Digitale Tafeln und Präsentationstechnik"
|
||||
],
|
||||
"keywords": [
|
||||
"digitale Tafel",
|
||||
"Whiteboard",
|
||||
"Smartboard",
|
||||
"Beamer",
|
||||
"Dokumentenkamera",
|
||||
"interaktives Display",
|
||||
"Klassenraumtechnik",
|
||||
"Digitale Tafeln und Präsentationstechnik",
|
||||
"Schulspezifische IT-Systeme"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/schulspezifische-it-systeme/digitale-tafeln-und-prasentationstechnik",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
27
knowledge/03_fachanwendung-berechtigung.json
Normal file
27
knowledge/03_fachanwendung-berechtigung.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"id": "KAT-FACHANWENDUNG-BERECHTIGUNG-SELECT",
|
||||
"title": "Fachanwendung – Berechtigung",
|
||||
"text": "Auswahlziel: Fachanwendungen und Microsoft Office \u003e Fachanwendung – Berechtigung. Primär zuständiges Team: Fachanwendungen. Diese Kategorie ist auszuwählen, wenn Rollen, Rechte, Mandanten, Organisationseinheiten oder Funktionszugriffe innerhalb einer bestimmten Fachanwendung beantragt, geändert oder korrigiert werden sollen. Typische Ticketformulierungen sind: „Rolle Kassenverwalter vergeben“; „Zugriff auf Modul Personal“; „Mandant freischalten“; „Berechtigung im Fachverfahren fehlt“. Nicht auswählen, wenn das zentrale AD-Konto fehlt, das Kennwort gesperrt ist oder eine allgemeine AD-Gruppenmitgliedschaft ohne konkrete Anwendung betroffen ist. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Anwendung und genaue Soll-Rolle müssen genannt werden; Genehmigungswege bleiben unberührt.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Fachanwendungen und Microsoft Office \u003e Fachanwendung – Berechtigung“ zuzuordnen. Primär zuständig ist „Fachanwendungen“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Fachanwendungen und Microsoft Office \u003e Fachanwendung – Berechtigung"
|
||||
],
|
||||
"keywords": [
|
||||
"Fachanwendung Berechtigung",
|
||||
"Rolle",
|
||||
"Rechte",
|
||||
"Freischaltung",
|
||||
"Mandant",
|
||||
"Modulzugriff",
|
||||
"Benutzerrolle",
|
||||
"Fachverfahren Zugriff",
|
||||
"Fachanwendung – Berechtigung",
|
||||
"Fachanwendungen und Microsoft Office"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/fachanwendungen-und-microsoft-office/fachanwendung-berechtigung",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
26
knowledge/03_internetzugang.json
Normal file
26
knowledge/03_internetzugang.json
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"id": "KAT-INTERNETZUGANG-SELECT",
|
||||
"title": "Internetzugang",
|
||||
"text": "Auswahlziel: Netzwerk und Verbindungen \u003e Internetzugang. Primär zuständiges Team: Infrastruktur und Backend. Diese Kategorie ist auszuwählen, wenn Webseiten oder externe Dienste allgemein nicht erreichbar sind, der Internetzugang eines Standorts oder mehrerer Benutzer ausfällt oder auffällig langsam ist. Typische Ticketformulierungen sind: „Kein Internet im Gebäude“; „Externe Webseiten nicht erreichbar“; „Internetzugang sehr langsam“; „Mehrere Nutzer offline“. Nicht auswählen, wenn nur eine einzelne Anwendung gestört ist, ein VPN-Tunnel nicht verbindet oder eine konkrete Adresse durch die Firewall freigeschaltet werden soll. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Einzelne blockierte Ziele können eine Firewall-Thematik sein; flächige Ausfälle sind zu priorisieren.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Netzwerk und Verbindungen \u003e Internetzugang“ zuzuordnen. Primär zuständig ist „Infrastruktur und Backend“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Netzwerk und Verbindungen \u003e Internetzugang"
|
||||
],
|
||||
"keywords": [
|
||||
"Internet",
|
||||
"Internetzugang",
|
||||
"Webseiten nicht erreichbar",
|
||||
"offline",
|
||||
"WAN",
|
||||
"Provider",
|
||||
"Internetausfall",
|
||||
"langsam",
|
||||
"Netzwerk und Verbindungen"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/netzwerk-und-verbindungen/internetzugang",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
25
knowledge/03_lizenzbestellung.json
Normal file
25
knowledge/03_lizenzbestellung.json
Normal file
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"id": "KAT-LIZENZBESTELLUNG-SELECT",
|
||||
"title": "Lizenzbestellung",
|
||||
"text": "Auswahlziel: Beschaffung, Verträge und Lizenzen \u003e Lizenzbestellung. Primär zuständiges Team: Leitung und Finanzen / Beschaffung. Diese Kategorie ist auszuwählen, wenn zusätzliche Einzel-, Benutzer-, Geräte- oder Volumenlizenzen für bereits ausgewählte Produkte bestellt oder verlängert werden sollen. Typische Ticketformulierungen sind: „Zusätzliche Benutzerlizenz bestellen“; „Lizenz verlängern“; „Weitere Geräte lizenzieren“; „Volumenlizenz ergänzen“. Nicht auswählen, wenn nur die technische Aktivierung fehlschlägt, der gesamte Vertrag neu verhandelt oder der Lizenzbestand ausgewertet werden soll. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Produkt, Anzahl, Laufzeit, Kostenstelle und Genehmigung sollten angegeben werden.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Beschaffung, Verträge und Lizenzen \u003e Lizenzbestellung“ zuzuordnen. Primär zuständig ist „Leitung und Finanzen / Beschaffung“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Beschaffung, Verträge und Lizenzen \u003e Lizenzbestellung"
|
||||
],
|
||||
"keywords": [
|
||||
"Lizenzbestellung",
|
||||
"Lizenz bestellen",
|
||||
"zusätzliche Lizenz",
|
||||
"Seat",
|
||||
"Subscription",
|
||||
"Verlängerung",
|
||||
"Volumenlizenz",
|
||||
"Beschaffung, Verträge und Lizenzen"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/beschaffung-vertrage-und-lizenzen/lizenzbestellung",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
26
knowledge/03_multifunktionsgerat-und-kopierer.json
Normal file
26
knowledge/03_multifunktionsgerat-und-kopierer.json
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"id": "KAT-MULTIFUNKTIONSGERAT-UND-KOPIERER-SELECT",
|
||||
"title": "Multifunktionsgerät und Kopierer",
|
||||
"text": "Auswahlziel: Drucken, Scannen und Kopieren \u003e Multifunktionsgerät und Kopierer. Primär zuständiges Team: Support und Telekommunikation. Diese Kategorie ist auszuwählen, wenn ein Multifunktionsgerät oder Kopierer beim Drucken, Kopieren, Einzug, Bedienfeld oder Gerätebetrieb fehlerhaft ist. Typische Ticketformulierungen sind: „Kopierer zeigt Fehlercode“; „Dokumenteneinzug klemmt“; „MFP kopiert nicht“; „Bedienfeld reagiert nicht“. Nicht auswählen, wenn ausschließlich Scan-to-Mail, ein einzelner Arbeitsplatzdrucker oder eine Neubeschaffung betroffen ist. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Vertragspartner- oder Wartungseinsätze können durch Support koordiniert werden.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Drucken, Scannen und Kopieren \u003e Multifunktionsgerät und Kopierer“ zuzuordnen. Primär zuständig ist „Support und Telekommunikation“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Drucken, Scannen und Kopieren \u003e Multifunktionsgerät und Kopierer"
|
||||
],
|
||||
"keywords": [
|
||||
"Kopierer",
|
||||
"Multifunktionsgerät",
|
||||
"MFP",
|
||||
"Kopieren",
|
||||
"Dokumenteneinzug",
|
||||
"Fehlercode",
|
||||
"Bedienfeld",
|
||||
"Multifunktionsgerät und Kopierer",
|
||||
"Drucken, Scannen und Kopieren"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/drucken-scannen-und-kopieren/multifunktionsgerat-und-kopierer",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
27
knowledge/03_rufgruppe-und-weiterleitung.json
Normal file
27
knowledge/03_rufgruppe-und-weiterleitung.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"id": "KAT-RUFGRUPPE-UND-WEITERLEITUNG-SELECT",
|
||||
"title": "Rufgruppe und Weiterleitung",
|
||||
"text": "Auswahlziel: Telefonie und Kommunikation \u003e Rufgruppe und Weiterleitung. Primär zuständiges Team: Support und Telekommunikation. Diese Kategorie ist auszuwählen, wenn Rufgruppen, Sammelanschlüsse, Vertretungen, Anrufweiterleitungen, Zeitsteuerungen oder Erreichbarkeitsregeln eingerichtet oder geändert werden sollen. Typische Ticketformulierungen sind: „Rufumleitung für Urlaub“; „Mitarbeiter in Rufgruppe aufnehmen“; „Sammelruf ändern“; „Zeitsteuerung der Zentrale“. Nicht auswählen, wenn eine neue Rufnummer benötigt wird, das Telefon physisch defekt ist oder eine E-Mail-Weiterleitung gemeint ist. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Gewünschte Quell- und Zielnummer sowie Zeitraum müssen klar angegeben werden.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Telefonie und Kommunikation \u003e Rufgruppe und Weiterleitung“ zuzuordnen. Primär zuständig ist „Support und Telekommunikation“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Telefonie und Kommunikation \u003e Rufgruppe und Weiterleitung"
|
||||
],
|
||||
"keywords": [
|
||||
"Rufgruppe",
|
||||
"Weiterleitung",
|
||||
"Rufumleitung",
|
||||
"Sammelruf",
|
||||
"Vertretung",
|
||||
"Anrufweiterleitung",
|
||||
"Zeitsteuerung",
|
||||
"Erreichbarkeit",
|
||||
"Rufgruppe und Weiterleitung",
|
||||
"Telefonie und Kommunikation"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/telefonie-und-kommunikation/rufgruppe-und-weiterleitung",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
27
knowledge/03_sicherheitsvorfall.json
Normal file
27
knowledge/03_sicherheitsvorfall.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"id": "KAT-SICHERHEITSVORFALL-SELECT",
|
||||
"title": "Sicherheitsvorfall",
|
||||
"text": "Auswahlziel: IT-Sicherheit und Datensicherung \u003e Sicherheitsvorfall. Primär zuständiges Team: Infrastruktur und Backend. Diese Kategorie ist auszuwählen, wenn ein tatsächlicher oder ernsthaft vermuteter unbefugter Zugriff, Datenabfluss, kompromittiertes Konto, Verlust sensibler Daten, aktive Attacke oder erhebliche Sicherheitsverletzung vorliegt. Typische Ticketformulierungen sind: „Konto möglicherweise übernommen“; „Unbefugter Zugriff festgestellt“; „Daten an falschen Empfänger“; „Aktiver Angriff“; „Dienstgerät mit sensiblen Daten verloren“. Nicht auswählen, wenn nur eine allgemeine Sicherheitsfrage, Schwachstellenmeldung ohne Ausnutzung oder verdächtige E-Mail ohne Interaktion vorliegt. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Unmittelbar priorisieren und Leitung sowie erforderliche Datenschutz-/Informationssicherheitsstellen nach internen Meldewegen beteiligen.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „IT-Sicherheit und Datensicherung \u003e Sicherheitsvorfall“ zuzuordnen. Primär zuständig ist „Infrastruktur und Backend“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"IT-Sicherheit und Datensicherung \u003e Sicherheitsvorfall"
|
||||
],
|
||||
"keywords": [
|
||||
"Sicherheitsvorfall",
|
||||
"Datenabfluss",
|
||||
"kompromittiert",
|
||||
"unbefugter Zugriff",
|
||||
"Account übernommen",
|
||||
"Cyberangriff",
|
||||
"Datenverlust",
|
||||
"Incident",
|
||||
"Security Breach",
|
||||
"IT-Sicherheit und Datensicherung"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/it-sicherheit-und-datensicherung/sicherheitsvorfall",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
29
knowledge/03_tastatur-maus-und-zubehor.json
Normal file
29
knowledge/03_tastatur-maus-und-zubehor.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"id": "KAT-TASTATUR-MAUS-UND-ZUBEHOR-SELECT",
|
||||
"title": "Tastatur, Maus und Zubehör",
|
||||
"text": "Auswahlziel: Arbeitsplatz und Endgeräte \u003e Tastatur, Maus und Zubehör. Primär zuständiges Team: Support und Telekommunikation. Diese Kategorie ist auszuwählen, wenn Tastatur, Maus, Headset, Webcam, Netzteil, Adapter, Kabel oder sonstige Arbeitsplatzperipherie defekt, nicht erkannt oder nicht vorhanden ist. Typische Ticketformulierungen sind: „Maus reagiert nicht“; „Tastatur defekt“; „Webcam wird nicht erkannt“; „Headset ohne Ton“; „Netzteil fehlt“. Nicht auswählen, wenn ein komplettes Endgerät ausfällt, ein Telekommunikationsgerät betroffen ist oder eine Neubeschaffung außerhalb eines Ersatzfalls beantragt wird. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Einfache Ersatzteile bearbeitet der Support; kostenpflichtige Neubeschaffungen können an Beschaffung übergeben werden.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Arbeitsplatz und Endgeräte \u003e Tastatur, Maus und Zubehör“ zuzuordnen. Primär zuständig ist „Support und Telekommunikation“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Arbeitsplatz und Endgeräte \u003e Tastatur, Maus und Zubehör"
|
||||
],
|
||||
"keywords": [
|
||||
"Tastatur",
|
||||
"Maus",
|
||||
"Headset",
|
||||
"Webcam",
|
||||
"Netzteil",
|
||||
"Adapter",
|
||||
"Kabel",
|
||||
"USB-Gerät",
|
||||
"Peripherie",
|
||||
"Zubehör",
|
||||
"Tastatur, Maus und Zubehör",
|
||||
"Arbeitsplatz und Endgeräte"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/arbeitsplatz-und-endgerate/tastatur-maus-und-zubehor",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
30
knowledge/04_anwendungsberechtigung.json
Normal file
30
knowledge/04_anwendungsberechtigung.json
Normal file
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"id": "KAT-ANWENDUNGSBERECHTIGUNG-SELECT",
|
||||
"title": "Anwendungsberechtigung",
|
||||
"text": "Auswahlziel: Benutzerkonten und Berechtigungen \u003e Anwendungsberechtigung. Primär zuständiges Team: Fachanwendungen. Diese Kategorie ist auszuwählen, wenn ein Benutzer Zugriff, eine Rolle, ein Funktionsrecht oder eine organisatorische Zuordnung innerhalb einer konkreten Fachanwendung benötigt oder wenn eine vorhandene Berechtigung dort nicht korrekt wirkt. Typische Ticketformulierungen sind: „Rolle Sachbearbeitung fehlt“; „Kein Zugriff auf Modul Kasse“; „Berechtigung in Fachverfahren beantragen“; „Benutzer sieht falsche Organisationseinheit“. Nicht auswählen, wenn das zentrale Benutzerkonto selbst fehlt oder gesperrt ist; wenn eine AD-Gruppe oder GPO geändert werden soll; wenn der Zugriff technisch wegen Netzwerk, VPN oder Serverausfall scheitert. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Die betroffene Anwendung und die gewünschte Rolle sollten genannt werden. Technische Konten bleiben bei Infrastruktur und Backend.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Benutzerkonten und Berechtigungen \u003e Anwendungsberechtigung“ zuzuordnen. Primär zuständig ist „Fachanwendungen“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Benutzerkonten und Berechtigungen \u003e Anwendungsberechtigung"
|
||||
],
|
||||
"keywords": [
|
||||
"Berechtigung",
|
||||
"Rolle",
|
||||
"Zugriff",
|
||||
"Freischaltung",
|
||||
"Fachanwendung",
|
||||
"Fachverfahren",
|
||||
"Modul",
|
||||
"Rechte",
|
||||
"Benutzerrolle",
|
||||
"Mandant",
|
||||
"Organisationseinheit",
|
||||
"Anwendungsberechtigung",
|
||||
"Benutzerkonten und Berechtigungen"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/benutzerkonten-und-berechtigungen/anwendungsberechtigung",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
26
knowledge/04_computerraume.json
Normal file
26
knowledge/04_computerraume.json
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"id": "KAT-COMPUTERRAUME-SELECT",
|
||||
"title": "Computerräume",
|
||||
"text": "Auswahlziel: Schulspezifische IT-Systeme \u003e Computerräume. Primär zuständiges Team: Schulen. Diese Kategorie ist auszuwählen, wenn mehrere PCs, Peripheriegeräte, Anmeldungen oder die technische Ausstattung eines Computerraums betroffen sind oder der Raum neu eingerichtet werden soll. Typische Ticketformulierungen sind: „Mehrere PCs im Computerraum starten nicht“; „Computerraum neu ausstatten“; „Schüler können sich im Raum nicht anmelden“; „Raumsoftware verteilen“. Nicht auswählen, wenn nur ein einzelner Lehrerarbeitsplatz oder eine allgemeine Standortstörung vorliegt. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Mehrgeräteprobleme sprechen oft für zentrale Richtlinien, Images oder Netzwerkursachen.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Schulspezifische IT-Systeme \u003e Computerräume“ zuzuordnen. Primär zuständig ist „Schulen“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Schulspezifische IT-Systeme \u003e Computerräume"
|
||||
],
|
||||
"keywords": [
|
||||
"Computerraum",
|
||||
"PC-Raum",
|
||||
"Informatikraum",
|
||||
"Schüler-PC",
|
||||
"Raumausstattung",
|
||||
"mehrere Rechner",
|
||||
"Unterrichtsraum",
|
||||
"Computerräume",
|
||||
"Schulspezifische IT-Systeme"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/schulspezifische-it-systeme/computerraume",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
27
knowledge/04_fachanwendung-konfiguration.json
Normal file
27
knowledge/04_fachanwendung-konfiguration.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"id": "KAT-FACHANWENDUNG-KONFIGURATION-SELECT",
|
||||
"title": "Fachanwendung – Konfiguration",
|
||||
"text": "Auswahlziel: Fachanwendungen und Microsoft Office \u003e Fachanwendung – Konfiguration. Primär zuständiges Team: Fachanwendungen. Diese Kategorie ist auszuwählen, wenn Parameter, Vorlagen, Masken, Stammdaten, Nummernkreise, Workflows oder organisatorische Einstellungen einer Fachanwendung angepasst werden sollen. Typische Ticketformulierungen sind: „Neue Vorlage hinterlegen“; „Workflow anpassen“; „Stammdaten konfigurieren“; „Nummernkreis ändern“. Nicht auswählen, wenn nur ein einzelner Benutzer eine lokale Einstellung benötigt, eine neue umfangreiche Funktion gefordert wird oder die technische Serverplattform geändert werden muss. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Größere funktionale Erweiterungen gehören zu Neue Anforderung; technische Plattformparameter zu Infrastruktur und Backend.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Fachanwendungen und Microsoft Office \u003e Fachanwendung – Konfiguration“ zuzuordnen. Primär zuständig ist „Fachanwendungen“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Fachanwendungen und Microsoft Office \u003e Fachanwendung – Konfiguration"
|
||||
],
|
||||
"keywords": [
|
||||
"Konfiguration",
|
||||
"Parameter",
|
||||
"Vorlage",
|
||||
"Stammdaten",
|
||||
"Workflow",
|
||||
"Maske anpassen",
|
||||
"Nummernkreis",
|
||||
"Einstellung Fachanwendung",
|
||||
"Fachanwendung – Konfiguration",
|
||||
"Fachanwendungen und Microsoft Office"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/fachanwendungen-und-microsoft-office/fachanwendung-konfiguration",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
26
knowledge/04_lizenzverwaltung.json
Normal file
26
knowledge/04_lizenzverwaltung.json
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"id": "KAT-LIZENZVERWALTUNG-SELECT",
|
||||
"title": "Lizenzverwaltung",
|
||||
"text": "Auswahlziel: Beschaffung, Verträge und Lizenzen \u003e Lizenzverwaltung. Primär zuständiges Team: Leitung und Finanzen / Beschaffung. Diese Kategorie ist auszuwählen, wenn Lizenzbestände, Zuordnungen, Nutzungsrechte, Laufzeiten, Compliance oder verfügbare Kontingente dokumentiert und geprüft werden sollen. Typische Ticketformulierungen sind: „Lizenzbestand prüfen“; „Lizenz einem Benutzer zuordnen“; „Unterlizenzierung bewerten“; „Laufzeiten auswerten“. Nicht auswählen, wenn neue Lizenzen konkret bestellt oder eine technische Aktivierungsstörung behoben werden muss. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Technische Zuweisung kann durch Fachteam erfolgen; kaufmännischer Bestand bleibt bei Beschaffung.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Beschaffung, Verträge und Lizenzen \u003e Lizenzverwaltung“ zuzuordnen. Primär zuständig ist „Leitung und Finanzen / Beschaffung“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Beschaffung, Verträge und Lizenzen \u003e Lizenzverwaltung"
|
||||
],
|
||||
"keywords": [
|
||||
"Lizenzverwaltung",
|
||||
"Lizenzbestand",
|
||||
"Compliance",
|
||||
"Nutzungsrecht",
|
||||
"Lizenzzuordnung",
|
||||
"Kontingent",
|
||||
"Ablaufdatum",
|
||||
"Asset Management",
|
||||
"Beschaffung, Verträge und Lizenzen"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/beschaffung-vertrage-und-lizenzen/lizenzverwaltung",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
29
knowledge/04_mobile-endgerate.json
Normal file
29
knowledge/04_mobile-endgerate.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"id": "KAT-MOBILE-ENDGERATE-SELECT",
|
||||
"title": "Mobile Endgeräte",
|
||||
"text": "Auswahlziel: Arbeitsplatz und Endgeräte \u003e Mobile Endgeräte. Primär zuständiges Team: Support und Telekommunikation. Diese Kategorie ist auszuwählen, wenn ein dienstliches Smartphone oder Tablet eingerichtet, zurückgesetzt, ausgetauscht oder bei einem Geräte-, App-, Synchronisations- oder lokalen Bedienproblem unterstützt werden muss. Typische Ticketformulierungen sind: „Diensthandy lässt sich nicht entsperren“; „Tablet synchronisiert nicht“; „Smartphone einrichten“; „Mobiles Gerät zurücksetzen“. Nicht auswählen, wenn es um Mobilfunktarif, SIM-Karte oder Rufnummer geht; wenn MFA lediglich auf ein neues Gerät übertragen werden muss; wenn das Gerät neu beschafft werden soll. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: SIM- und Vertragsfragen gehören zu Telefonie und Kommunikation \u003e Mobilfunk. Sicherheitsrelevanter Verlust ist zusätzlich als Sicherheitsvorfall zu behandeln.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Arbeitsplatz und Endgeräte \u003e Mobile Endgeräte“ zuzuordnen. Primär zuständig ist „Support und Telekommunikation“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Arbeitsplatz und Endgeräte \u003e Mobile Endgeräte"
|
||||
],
|
||||
"keywords": [
|
||||
"Smartphone",
|
||||
"Diensthandy",
|
||||
"Tablet",
|
||||
"Mobilgerät",
|
||||
"iPhone",
|
||||
"Android",
|
||||
"iPad",
|
||||
"Synchronisation",
|
||||
"Geräteeinrichtung",
|
||||
"Zurücksetzen",
|
||||
"Mobile Endgeräte",
|
||||
"Arbeitsplatz und Endgeräte"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/arbeitsplatz-und-endgerate/mobile-endgerate",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
28
knowledge/04_mobilfunk.json
Normal file
28
knowledge/04_mobilfunk.json
Normal file
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"id": "KAT-MOBILFUNK-SELECT",
|
||||
"title": "Mobilfunk",
|
||||
"text": "Auswahlziel: Telefonie und Kommunikation \u003e Mobilfunk. Primär zuständiges Team: Support und Telekommunikation. Diese Kategorie ist auszuwählen, wenn SIM-Karte, Mobilfunktarif, Mobilfunkvertrag, Empfang, Roaming, mobile Daten oder eine dienstliche Mobilfunkrufnummer betroffen sind. Typische Ticketformulierungen sind: „SIM-Karte gesperrt“; „Kein Mobilfunkempfang“; „Roaming freischalten“; „Mobilfunktarif ändern“; „Neue eSIM“. Nicht auswählen, wenn das Smartphone selbst defekt ist, MFA übertragen werden soll oder eine reine App-/Geräteeinrichtung ohne Mobilfunkbezug vorliegt. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Kaufmännische Vertragsänderungen erfolgen in Abstimmung mit Beschaffung.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Telefonie und Kommunikation \u003e Mobilfunk“ zuzuordnen. Primär zuständig ist „Support und Telekommunikation“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Telefonie und Kommunikation \u003e Mobilfunk"
|
||||
],
|
||||
"keywords": [
|
||||
"Mobilfunk",
|
||||
"SIM-Karte",
|
||||
"eSIM",
|
||||
"Roaming",
|
||||
"mobile Daten",
|
||||
"Mobilfunkvertrag",
|
||||
"Empfang",
|
||||
"PIN",
|
||||
"PUK",
|
||||
"Handynummer",
|
||||
"Telefonie und Kommunikation"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/telefonie-und-kommunikation/mobilfunk",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
26
knowledge/04_scanner.json
Normal file
26
knowledge/04_scanner.json
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"id": "KAT-SCANNER-SELECT",
|
||||
"title": "Scanner",
|
||||
"text": "Auswahlziel: Drucken, Scannen und Kopieren \u003e Scanner. Primär zuständiges Team: Support und Telekommunikation. Diese Kategorie ist auszuwählen, wenn ein Arbeitsplatz- oder Dokumentenscanner nicht erkannt wird, nicht scannt, Einzugsprobleme zeigt oder die lokale Scansoftware fehlerhaft ist. Typische Ticketformulierungen sind: „Scanner wird nicht erkannt“; „Dokumenteneinzug fehlerhaft“; „Scanprogramm startet nicht“; „Scandatei wird nicht erzeugt“. Nicht auswählen, wenn die zentrale Übertragung per Scan-to-Mail oder Scan-to-Folder scheitert oder ein Multifunktionsgerät insgesamt betroffen ist. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Übertragungsziele und zentrale Dienste werden in Scan-to-Mail und Scan-to-Folder erfasst.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Drucken, Scannen und Kopieren \u003e Scanner“ zuzuordnen. Primär zuständig ist „Support und Telekommunikation“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Drucken, Scannen und Kopieren \u003e Scanner"
|
||||
],
|
||||
"keywords": [
|
||||
"Scanner",
|
||||
"Scannen",
|
||||
"Dokumentenscanner",
|
||||
"Einzug",
|
||||
"Scanprogramm",
|
||||
"TWAIN",
|
||||
"WIA",
|
||||
"Scanfehler",
|
||||
"Drucken, Scannen und Kopieren"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/drucken-scannen-und-kopieren/scanner",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
26
knowledge/04_schwachstelle.json
Normal file
26
knowledge/04_schwachstelle.json
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"id": "KAT-SCHWACHSTELLE-SELECT",
|
||||
"title": "Schwachstelle",
|
||||
"text": "Auswahlziel: IT-Sicherheit und Datensicherung \u003e Schwachstelle. Primär zuständiges Team: Infrastruktur und Backend. Diese Kategorie ist auszuwählen, wenn eine bekannte oder vermutete Sicherheitslücke, unsichere Konfiguration, CVE, offene Angriffsfläche oder fehlende Härtung gemeldet, bewertet oder behoben werden soll. Typische Ticketformulierungen sind: „CVE betrifft Server“; „Unsichere TLS-Konfiguration“; „Offener Dienst entdeckt“; „System muss gehärtet werden“. Nicht auswählen, wenn bereits ein Angriff oder Datenabfluss stattgefunden hat, nur ein normales Update geplant ist oder Malware gefunden wurde. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Bei aktiver Ausnutzung wird daraus ein Sicherheitsvorfall; bei reinem Patchbedarf kann Sicherheitsupdate ergänzend passen.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „IT-Sicherheit und Datensicherung \u003e Schwachstelle“ zuzuordnen. Primär zuständig ist „Infrastruktur und Backend“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"IT-Sicherheit und Datensicherung \u003e Schwachstelle"
|
||||
],
|
||||
"keywords": [
|
||||
"Schwachstelle",
|
||||
"CVE",
|
||||
"Vulnerability",
|
||||
"Sicherheitslücke",
|
||||
"Härtung",
|
||||
"Hardening",
|
||||
"unsichere Konfiguration",
|
||||
"Exposure",
|
||||
"IT-Sicherheit und Datensicherung"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/it-sicherheit-und-datensicherung/schwachstelle",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
27
knowledge/04_serverbetrieb.json
Normal file
27
knowledge/04_serverbetrieb.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"id": "KAT-SERVERBETRIEB-SELECT",
|
||||
"title": "Serverbetrieb",
|
||||
"text": "Auswahlziel: Server, Backend und Plattformen \u003e Serverbetrieb. Primär zuständiges Team: Infrastruktur und Backend. Diese Kategorie ist auszuwählen, wenn ein Windows- oder Linux-Server als Betriebssystemplattform ausfällt, gewartet, gepatcht, konfiguriert oder analysiert werden muss. Typische Ticketformulierungen sind: „Server nicht erreichbar“; „Linux-Dienst startet nicht“; „Windows Server patchen“; „Serverleistung analysieren“. Nicht auswählen, wenn ausschließlich eine darauf laufende Fachanwendung, virtuelle Maschine, Datenbank, Containerplattform oder ein Arbeitsplatz-PC betroffen ist. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Die konkrete Anwendungsebene wird getrennt klassifiziert; diese Kategorie betrifft die Serverplattform selbst.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Server, Backend und Plattformen \u003e Serverbetrieb“ zuzuordnen. Primär zuständig ist „Infrastruktur und Backend“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Server, Backend und Plattformen \u003e Serverbetrieb"
|
||||
],
|
||||
"keywords": [
|
||||
"Server",
|
||||
"Windows Server",
|
||||
"Linux Server",
|
||||
"Dienst",
|
||||
"Systemdienst",
|
||||
"Patchen",
|
||||
"Serverausfall",
|
||||
"Betriebssystem Server",
|
||||
"Serverbetrieb",
|
||||
"Server, Backend und Plattformen"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/server-backend-und-plattformen/serverbetrieb",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
27
knowledge/04_standortanbindung.json
Normal file
27
knowledge/04_standortanbindung.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"id": "KAT-STANDORTANBINDUNG-SELECT",
|
||||
"title": "Standortanbindung",
|
||||
"text": "Auswahlziel: Netzwerk und Verbindungen \u003e Standortanbindung. Primär zuständiges Team: Infrastruktur und Backend. Diese Kategorie ist auszuwählen, wenn eine Außenstelle, Schule, Verwaltungsstelle oder ein gesamtes Gebäude keine Verbindung zum kommunalen Netz oder Rechenzentrum hat beziehungsweise eine neue Standortverbindung benötigt. Typische Ticketformulierungen sind: „Außenstelle nicht erreichbar“; „Standortverbindung ausgefallen“; „Neue Liegenschaft anbinden“; „Gesamte Schule ohne Verwaltungsnetz“. Nicht auswählen, wenn nur ein einzelner Arbeitsplatz oder eine einzelne Netzwerkdose betroffen ist. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Standortausfälle betreffen meist mehrere Nutzer und sind höher zu priorisieren als Einzelplatzprobleme.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Netzwerk und Verbindungen \u003e Standortanbindung“ zuzuordnen. Primär zuständig ist „Infrastruktur und Backend“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Netzwerk und Verbindungen \u003e Standortanbindung"
|
||||
],
|
||||
"keywords": [
|
||||
"Standortanbindung",
|
||||
"Außenstelle",
|
||||
"Liegenschaft",
|
||||
"Gebäude offline",
|
||||
"Standleitung",
|
||||
"WAN",
|
||||
"Standortverbindung",
|
||||
"MPLS",
|
||||
"Glasfaser",
|
||||
"Netzwerk und Verbindungen"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/netzwerk-und-verbindungen/standortanbindung",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
26
knowledge/04_standorteroffnung-und-umzug.json
Normal file
26
knowledge/04_standorteroffnung-und-umzug.json
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"id": "KAT-STANDORTEROFFNUNG-UND-UMZUG-SELECT",
|
||||
"title": "Standorteröffnung und Umzug",
|
||||
"text": "Auswahlziel: Projekte, Änderungen und neue Anforderungen \u003e Standorteröffnung und Umzug. Primär zuständiges Team: Leitung und Finanzen / Beschaffung. Diese Kategorie ist auszuwählen, wenn eine neue Liegenschaft, Außenstelle, Schule oder ein größerer Gebäudebereich IT-seitig ausgestattet, angebunden oder vollständig umgezogen werden soll. Typische Ticketformulierungen sind: „Neue Außenstelle ausstatten“; „Verwaltungsbereich zieht um“; „Neues Gebäude ans Netz anbinden“; „Kompletter Standortwechsel“. Nicht auswählen, wenn nur ein einzelner Arbeitsplatz innerhalb eines Gebäudes umgesetzt oder eine bestehende Standortleitung gestört ist. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Die Leitung koordiniert; Infrastruktur, Support, Fachanwendungen, Telekommunikation und Beschaffung liefern Teilaufgaben.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Projekte, Änderungen und neue Anforderungen \u003e Standorteröffnung und Umzug“ zuzuordnen. Primär zuständig ist „Leitung und Finanzen / Beschaffung“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Projekte, Änderungen und neue Anforderungen \u003e Standorteröffnung und Umzug"
|
||||
],
|
||||
"keywords": [
|
||||
"Standorteröffnung",
|
||||
"Standortumzug",
|
||||
"neue Liegenschaft",
|
||||
"Außenstelle",
|
||||
"Gebäudeumzug",
|
||||
"IT-Ausstattung Standort",
|
||||
"Umzugsprojekt",
|
||||
"Standorteröffnung und Umzug",
|
||||
"Projekte, Änderungen und neue Anforderungen"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/projekte-anderungen-und-neue-anforderungen/standorteroffnung-und-umzug",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
25
knowledge/05_dienstliches-smartphone.json
Normal file
25
knowledge/05_dienstliches-smartphone.json
Normal file
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"id": "KAT-DIENSTLICHES-SMARTPHONE-SELECT",
|
||||
"title": "Dienstliches Smartphone",
|
||||
"text": "Auswahlziel: Telefonie und Kommunikation \u003e Dienstliches Smartphone. Primär zuständiges Team: Support und Telekommunikation. Diese Kategorie ist auszuwählen, wenn ein dienstliches Smartphone als Telekommunikationsgerät neu eingerichtet, getauscht, repariert oder für Telefonie, Kontakte und dienstliche Kommunikation konfiguriert werden muss. Typische Ticketformulierungen sind: „Diensthandy einrichten“; „Smartphone austauschen“; „Kontakte synchronisieren“; „Telefon-App funktioniert nicht“. Nicht auswählen, wenn ausschließlich SIM, Tarif oder Roaming betroffen ist; wenn ein Tablet ohne Telefoniefunktion oder ein MFA-Token im Mittelpunkt steht. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Allgemeine mobile Endgeräteprobleme können zunächst beim Support bleiben; Mobilfunkvertrag und SIM sind separat.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Telefonie und Kommunikation \u003e Dienstliches Smartphone“ zuzuordnen. Primär zuständig ist „Support und Telekommunikation“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Telefonie und Kommunikation \u003e Dienstliches Smartphone"
|
||||
],
|
||||
"keywords": [
|
||||
"Dienstliches Smartphone",
|
||||
"Diensthandy",
|
||||
"Telefon-App",
|
||||
"Kontakte",
|
||||
"Smartphone einrichten",
|
||||
"Handytausch",
|
||||
"Mobiltelefon",
|
||||
"Telefonie und Kommunikation"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/telefonie-und-kommunikation/dienstliches-smartphone",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
25
knowledge/05_digitalisierungsvorhaben.json
Normal file
25
knowledge/05_digitalisierungsvorhaben.json
Normal file
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"id": "KAT-DIGITALISIERUNGSVORHABEN-SELECT",
|
||||
"title": "Digitalisierungsvorhaben",
|
||||
"text": "Auswahlziel: Projekte, Änderungen und neue Anforderungen \u003e Digitalisierungsvorhaben. Primär zuständiges Team: Leitung und Finanzen / Beschaffung. Diese Kategorie ist auszuwählen, wenn ein Verwaltungsprozess grundlegend digitalisiert, medienbruchfrei gestaltet oder durch mehrere IT-Komponenten neu unterstützt werden soll. Typische Ticketformulierungen sind: „Papierprozess digitalisieren“; „Digitalen Antrag einführen“; „Medienbruch beseitigen“; „End-to-End-Prozess neu gestalten“. Nicht auswählen, wenn lediglich eine kleine Funktion in einer bestehenden Anwendung ergänzt oder ein einzelnes Gerät beschafft wird. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Fachanwendungen übernimmt fachnahe Umsetzung; Leitung priorisiert und koordiniert organisationsübergreifend.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Projekte, Änderungen und neue Anforderungen \u003e Digitalisierungsvorhaben“ zuzuordnen. Primär zuständig ist „Leitung und Finanzen / Beschaffung“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Projekte, Änderungen und neue Anforderungen \u003e Digitalisierungsvorhaben"
|
||||
],
|
||||
"keywords": [
|
||||
"Digitalisierungsvorhaben",
|
||||
"digitaler Prozess",
|
||||
"Online-Antrag",
|
||||
"medienbruchfrei",
|
||||
"Prozessdigitalisierung",
|
||||
"E-Government",
|
||||
"Workflow",
|
||||
"Projekte, Änderungen und neue Anforderungen"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/projekte-anderungen-und-neue-anforderungen/digitalisierungsvorhaben",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
25
knowledge/05_druckertreiber.json
Normal file
25
knowledge/05_druckertreiber.json
Normal file
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"id": "KAT-DRUCKERTREIBER-SELECT",
|
||||
"title": "Druckertreiber",
|
||||
"text": "Auswahlziel: Drucken, Scannen und Kopieren \u003e Druckertreiber. Primär zuständiges Team: Support und Telekommunikation. Diese Kategorie ist auszuwählen, wenn ein Druckertreiber fehlt, fehlerhaft ist, aktualisiert werden muss oder falsche Papierfächer, Formate und Gerätefunktionen bereitstellt. Typische Ticketformulierungen sind: „Treiber lässt sich nicht installieren“; „Falsches Papierformat“; „Duplexoption fehlt“; „Druckertreiber aktualisieren“. Nicht auswählen, wenn der Drucker physisch defekt, das Netzwerk ausgefallen oder eine zentrale Druckserverplattform gestört ist. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Zentrale Treiberpakete können eine Abstimmung mit Infrastruktur und Backend erfordern.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Drucken, Scannen und Kopieren \u003e Druckertreiber“ zuzuordnen. Primär zuständig ist „Support und Telekommunikation“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Drucken, Scannen und Kopieren \u003e Druckertreiber"
|
||||
],
|
||||
"keywords": [
|
||||
"Druckertreiber",
|
||||
"Treiber",
|
||||
"Printer Driver",
|
||||
"Duplex",
|
||||
"Papierfach",
|
||||
"Druckerinstallation",
|
||||
"Treiberfehler",
|
||||
"Drucken, Scannen und Kopieren"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/drucken-scannen-und-kopieren/druckertreiber",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"id": "KAT-FACHANWENDUNG-SCHNITTSTELLE-UND-DATENAUSTAUSCH-SELECT",
|
||||
"title": "Fachanwendung – Schnittstelle und Datenaustausch",
|
||||
"text": "Auswahlziel: Fachanwendungen und Microsoft Office \u003e Fachanwendung – Schnittstelle und Datenaustausch. Primär zuständiges Team: Fachanwendungen. Diese Kategorie ist auszuwählen, wenn Import, Export, Webservice, Dateiübergabe oder Datenaustausch zwischen einer Fachanwendung und einem anderen System fehlschlägt oder neu eingerichtet werden soll. Typische Ticketformulierungen sind: „Importdatei wird abgewiesen“; „Export kommt nicht im Zielsystem an“; „Schnittstelle liefert Fehler“; „Datenaustausch einrichten“. Nicht auswählen, wenn nur die Netzwerkverbindung eines Standorts gestört ist, ein allgemeiner Dateiablagefehler vorliegt oder eine rein manuelle Auswertung benötigt wird. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Bei Firewall- oder Netzwerkfreischaltungen arbeitet Fachanwendungen mit Infrastruktur und Backend zusammen; fachliche Datenformate bleiben bei Fachanwendungen.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Fachanwendungen und Microsoft Office \u003e Fachanwendung – Schnittstelle und Datenaustausch“ zuzuordnen. Primär zuständig ist „Fachanwendungen“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Fachanwendungen und Microsoft Office \u003e Fachanwendung – Schnittstelle und Datenaustausch"
|
||||
],
|
||||
"keywords": [
|
||||
"Schnittstelle",
|
||||
"Datenaustausch",
|
||||
"Import",
|
||||
"Export",
|
||||
"Webservice",
|
||||
"API",
|
||||
"Dateiübergabe",
|
||||
"Interface",
|
||||
"Übertragung",
|
||||
"Fremdsystem",
|
||||
"Fachanwendung – Schnittstelle und Datenaustausch",
|
||||
"Fachanwendungen und Microsoft Office"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/fachanwendungen-und-microsoft-office/fachanwendung-schnittstelle-und-datenaustausch",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
27
knowledge/05_hypervisor.json
Normal file
27
knowledge/05_hypervisor.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"id": "KAT-HYPERVISOR-SELECT",
|
||||
"title": "Hypervisor",
|
||||
"text": "Auswahlziel: Server, Backend und Plattformen \u003e Hypervisor. Primär zuständiges Team: Infrastruktur und Backend. Diese Kategorie ist auszuwählen, wenn die Virtualisierungsplattform, Hosts, Cluster, Ressourcenverwaltung oder zentrale Hypervisor-Funktionen gestört, erweitert oder gewartet werden müssen. Typische Ticketformulierungen sind: „VMware-Host gestört“; „Hyper-V-Cluster meldet Fehler“; „Virtualisierungshost warten“; „Clusterressourcen knapp“. Nicht auswählen, wenn nur eine einzelne virtuelle Maschine betroffen ist oder ein Container- beziehungsweise Kubernetes-Problem vorliegt. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Einzelne VMs werden unter Virtuelle Maschinen erfasst; die Trägerschicht unter Hypervisor.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Server, Backend und Plattformen \u003e Hypervisor“ zuzuordnen. Primär zuständig ist „Infrastruktur und Backend“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Server, Backend und Plattformen \u003e Hypervisor"
|
||||
],
|
||||
"keywords": [
|
||||
"Hypervisor",
|
||||
"VMware",
|
||||
"vSphere",
|
||||
"ESXi",
|
||||
"Hyper-V",
|
||||
"Virtualisierung",
|
||||
"Host",
|
||||
"Cluster",
|
||||
"Proxmox",
|
||||
"Server, Backend und Plattformen"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/server-backend-und-plattformen/hypervisor",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
28
knowledge/05_remotezugriff-und-vpn.json
Normal file
28
knowledge/05_remotezugriff-und-vpn.json
Normal file
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"id": "KAT-REMOTEZUGRIFF-UND-VPN-SELECT",
|
||||
"title": "Remotezugriff und VPN",
|
||||
"text": "Auswahlziel: Benutzerkonten und Berechtigungen \u003e Remotezugriff und VPN. Primär zuständiges Team: Infrastruktur und Backend. Diese Kategorie ist auszuwählen, wenn ein neuer oder geänderter Fernzugriff auf interne Systeme benötigt wird, ein VPN-Zugang beantragt werden soll oder Zugriffsrechte für Homeoffice, Bereitschaft oder externe Administration eingerichtet werden müssen. Typische Ticketformulierungen sind: „VPN-Zugang beantragen“; „Homeoffice-Zugriff freischalten“; „Remotezugriff für Bereitschaft“; „Externer Dienstleister benötigt zeitlich begrenzten Zugang“. Nicht auswählen, wenn ein bereits eingerichteter VPN-Tunnel technisch nicht verbindet; dafür ist die Kategorie Netzwerk und Verbindungen \u003e VPN vorgesehen. Ein allgemeines Kennwortproblem gehört zu Kennwort zurücksetzen. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Diese Kategorie beschreibt die Berechtigung beziehungsweise Bereitstellung. Technische Verbindungsstörungen eines vorhandenen VPN werden unter Netzwerk \u003e VPN erfasst.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Benutzerkonten und Berechtigungen \u003e Remotezugriff und VPN“ zuzuordnen. Primär zuständig ist „Infrastruktur und Backend“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Benutzerkonten und Berechtigungen \u003e Remotezugriff und VPN"
|
||||
],
|
||||
"keywords": [
|
||||
"Remotezugriff",
|
||||
"Fernzugriff",
|
||||
"VPN-Zugang",
|
||||
"Homeoffice",
|
||||
"Remote Access",
|
||||
"Zugriff von außen",
|
||||
"Bereitschaft",
|
||||
"externer Zugriff",
|
||||
"Freischaltung VPN",
|
||||
"Remotezugriff und VPN",
|
||||
"Benutzerkonten und Berechtigungen"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/benutzerkonten-und-berechtigungen/remotezugriff-und-vpn",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
26
knowledge/05_schuler-und-lehrkraftekonten.json
Normal file
26
knowledge/05_schuler-und-lehrkraftekonten.json
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"id": "KAT-SCHULER-UND-LEHRKRAFTEKONTEN-SELECT",
|
||||
"title": "Schüler- und Lehrkräftekonten",
|
||||
"text": "Auswahlziel: Schulspezifische IT-Systeme \u003e Schüler- und Lehrkräftekonten. Primär zuständiges Team: Schulen. Diese Kategorie ist auszuwählen, wenn Konten für Schüler, Lehrkräfte oder schulische Gruppen angelegt, geändert, zurückgesetzt, synchronisiert oder deaktiviert werden müssen. Typische Ticketformulierungen sind: „Schülerpasswort zurücksetzen“; „Lehrkraftkonto anlegen“; „Klassenwechsel synchronisieren“; „Schülerkonto deaktivieren“. Nicht auswählen, wenn es um kommunale Verwaltungsaccounts, reine Fachanwendungsrollen oder Konten externer Anbieter ohne Schulbezug geht. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Bei zentralem AD- oder Identitätsplattformproblem arbeitet Team Schulen mit Infrastruktur und Backend zusammen.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Schulspezifische IT-Systeme \u003e Schüler- und Lehrkräftekonten“ zuzuordnen. Primär zuständig ist „Schulen“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Schulspezifische IT-Systeme \u003e Schüler- und Lehrkräftekonten"
|
||||
],
|
||||
"keywords": [
|
||||
"Schülerkonto",
|
||||
"Lehrerkonto",
|
||||
"Lehrkräftekonto",
|
||||
"Schulaccount",
|
||||
"Klassenkonto",
|
||||
"Passwort Schule",
|
||||
"Kontensynchronisation",
|
||||
"Schüler- und Lehrkräftekonten",
|
||||
"Schulspezifische IT-Systeme"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/schulspezifische-it-systeme/schuler-und-lehrkraftekonten",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
28
knowledge/05_softwareinstallation-am-arbeitsplatz.json
Normal file
28
knowledge/05_softwareinstallation-am-arbeitsplatz.json
Normal file
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"id": "KAT-SOFTWAREINSTALLATION-AM-ARBEITSPLATZ-SELECT",
|
||||
"title": "Softwareinstallation am Arbeitsplatz",
|
||||
"text": "Auswahlziel: Arbeitsplatz und Endgeräte \u003e Softwareinstallation am Arbeitsplatz. Primär zuständiges Team: Support und Telekommunikation. Diese Kategorie ist auszuwählen, wenn freigegebene Standardsoftware auf einem einzelnen Arbeitsplatz installiert, aktualisiert, repariert oder deinstalliert werden soll und keine zentrale Plattformänderung erforderlich ist. Typische Ticketformulierungen sind: „PDF-Programm installieren“; „Freigegebene Software fehlt“; „Client-Anwendung neu installieren“; „Programm deinstallieren“. Nicht auswählen, wenn eine neue, bisher nicht freigegebene Software beschafft oder fachlich eingeführt werden soll; wenn ein Server, Container oder eine größere Clientverteilung betroffen ist. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Neue oder lizenzpflichtige Software wird zunächst über Beschaffung beziehungsweise Fachanwendungen geprüft.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Arbeitsplatz und Endgeräte \u003e Softwareinstallation am Arbeitsplatz“ zuzuordnen. Primär zuständig ist „Support und Telekommunikation“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Arbeitsplatz und Endgeräte \u003e Softwareinstallation am Arbeitsplatz"
|
||||
],
|
||||
"keywords": [
|
||||
"Softwareinstallation",
|
||||
"Programm installieren",
|
||||
"Anwendung installieren",
|
||||
"Client",
|
||||
"Setup",
|
||||
"Deinstallation",
|
||||
"Standardsoftware",
|
||||
"Software fehlt",
|
||||
"Neuinstallation",
|
||||
"Softwareinstallation am Arbeitsplatz",
|
||||
"Arbeitsplatz und Endgeräte"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/arbeitsplatz-und-endgerate/softwareinstallation-am-arbeitsplatz",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
25
knowledge/05_telekommunikationsvertrag.json
Normal file
25
knowledge/05_telekommunikationsvertrag.json
Normal file
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"id": "KAT-TELEKOMMUNIKATIONSVERTRAG-SELECT",
|
||||
"title": "Telekommunikationsvertrag",
|
||||
"text": "Auswahlziel: Beschaffung, Verträge und Lizenzen \u003e Telekommunikationsvertrag. Primär zuständiges Team: Leitung und Finanzen / Beschaffung. Diese Kategorie ist auszuwählen, wenn Mobilfunk-, Festnetz-, Datenleitungs- oder sonstige Telekommunikationsverträge neu abgeschlossen, verlängert, angepasst oder gekündigt werden sollen. Typische Ticketformulierungen sind: „Mobilfunkvertrag verlängern“; „Festnetzvertrag kündigen“; „Datentarif anpassen“; „Providerangebot prüfen“. Nicht auswählen, wenn eine technische Telefonstörung, SIM-Sperre oder Rufumleitung betroffen ist. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Technische Bedarfe werden mit Support und Infrastruktur abgestimmt.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Beschaffung, Verträge und Lizenzen \u003e Telekommunikationsvertrag“ zuzuordnen. Primär zuständig ist „Leitung und Finanzen / Beschaffung“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Beschaffung, Verträge und Lizenzen \u003e Telekommunikationsvertrag"
|
||||
],
|
||||
"keywords": [
|
||||
"Telekommunikationsvertrag",
|
||||
"Mobilfunkvertrag",
|
||||
"Festnetzvertrag",
|
||||
"Providervertrag",
|
||||
"Tarif",
|
||||
"Vertragsverlängerung",
|
||||
"Kündigung",
|
||||
"Beschaffung, Verträge und Lizenzen"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/beschaffung-vertrage-und-lizenzen/telekommunikationsvertrag",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
28
knowledge/05_virenschutz.json
Normal file
28
knowledge/05_virenschutz.json
Normal file
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"id": "KAT-VIRENSCHUTZ-SELECT",
|
||||
"title": "Virenschutz",
|
||||
"text": "Auswahlziel: IT-Sicherheit und Datensicherung \u003e Virenschutz. Primär zuständiges Team: Infrastruktur und Backend. Diese Kategorie ist auszuwählen, wenn Virenscanner oder EDR-Agent nicht läuft, Signaturen veraltet sind, Richtlinien nicht greifen, ein Agent fehlt oder Quarantäne- und Ausnahmeregeln administriert werden müssen. Typische Ticketformulierungen sind: „Virenscanner nicht aktiv“; „Signaturen veraltet“; „EDR-Agent offline“; „Ausnahme prüfen“; „Quarantäne verwalten“. Nicht auswählen, wenn bereits Malware gefunden wurde oder ein allgemeines Betriebssystemupdate betroffen ist. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Ein konkreter Schadsoftwarefund wird unter Schadsoftware und Virenfund klassifiziert.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „IT-Sicherheit und Datensicherung \u003e Virenschutz“ zuzuordnen. Primär zuständig ist „Infrastruktur und Backend“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"IT-Sicherheit und Datensicherung \u003e Virenschutz"
|
||||
],
|
||||
"keywords": [
|
||||
"Virenscanner",
|
||||
"Antivirus",
|
||||
"EDR",
|
||||
"Signatur",
|
||||
"Agent",
|
||||
"Quarantäne",
|
||||
"Ausnahme",
|
||||
"Schutzstatus",
|
||||
"Defender",
|
||||
"Virenschutz",
|
||||
"IT-Sicherheit und Datensicherung"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/it-sicherheit-und-datensicherung/virenschutz",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
26
knowledge/05_vpn.json
Normal file
26
knowledge/05_vpn.json
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"id": "KAT-VPN-SELECT",
|
||||
"title": "VPN",
|
||||
"text": "Auswahlziel: Netzwerk und Verbindungen \u003e VPN. Primär zuständiges Team: Infrastruktur und Backend. Diese Kategorie ist auszuwählen, wenn ein bereits eingerichteter VPN-Tunnel technisch nicht aufgebaut wird, abbricht, keine internen Ziele erreicht oder eine Client- beziehungsweise Gateway-Fehlermeldung zeigt. Typische Ticketformulierungen sind: „VPN verbindet nicht“; „Tunnel bricht ab“; „Interne Laufwerke über VPN nicht erreichbar“; „VPN-Client meldet Fehler“. Nicht auswählen, wenn der VPN-Zugang erstmals beantragt oder berechtigt werden soll; dafür ist Benutzerkonten und Berechtigungen \u003e Remotezugriff und VPN vorgesehen. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Berechtigungsfragen und technische Störungen sind bewusst getrennt, um Fehlzuordnungen zu vermeiden.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Netzwerk und Verbindungen \u003e VPN“ zuzuordnen. Primär zuständig ist „Infrastruktur und Backend“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Netzwerk und Verbindungen \u003e VPN"
|
||||
],
|
||||
"keywords": [
|
||||
"VPN",
|
||||
"Tunnel",
|
||||
"VPN-Client",
|
||||
"Remote Access",
|
||||
"Verbindung von außen",
|
||||
"Gateway",
|
||||
"VPN Fehler",
|
||||
"Homeoffice Verbindung",
|
||||
"Netzwerk und Verbindungen"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/netzwerk-und-verbindungen/vpn",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
28
knowledge/06_betriebssystem-am-arbeitsplatz.json
Normal file
28
knowledge/06_betriebssystem-am-arbeitsplatz.json
Normal file
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"id": "KAT-BETRIEBSSYSTEM-AM-ARBEITSPLATZ-SELECT",
|
||||
"title": "Betriebssystem am Arbeitsplatz",
|
||||
"text": "Auswahlziel: Arbeitsplatz und Endgeräte \u003e Betriebssystem am Arbeitsplatz. Primär zuständiges Team: Support und Telekommunikation. Diese Kategorie ist auszuwählen, wenn Windows oder ein anderes Client-Betriebssystem an einem einzelnen Arbeitsplatz lokale Fehler zeigt, Updates scheitern, Anmeldung am Gerät fehlerhaft ist oder Systemeinstellungen repariert werden müssen. Typische Ticketformulierungen sind: „Windows-Update schlägt fehl“; „Benutzerprofil defekt“; „Startmenü funktioniert nicht“; „Lokale Anmeldung fehlerhaft“. Nicht auswählen, wenn die Ursache eine zentrale Gruppenrichtlinie, das Active Directory, eine flächige Update-Störung oder ein Serverbetriebssystem ist. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Zentrale Richtlinien und mehrere gleichzeitig betroffene Clients werden an Infrastruktur und Backend übergeben.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Arbeitsplatz und Endgeräte \u003e Betriebssystem am Arbeitsplatz“ zuzuordnen. Primär zuständig ist „Support und Telekommunikation“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Arbeitsplatz und Endgeräte \u003e Betriebssystem am Arbeitsplatz"
|
||||
],
|
||||
"keywords": [
|
||||
"Windows",
|
||||
"Betriebssystem",
|
||||
"Client",
|
||||
"Windows Update",
|
||||
"Benutzerprofil",
|
||||
"Startmenü",
|
||||
"lokale Anmeldung",
|
||||
"Systemfehler",
|
||||
"Treiberproblem",
|
||||
"Betriebssystem am Arbeitsplatz",
|
||||
"Arbeitsplatz und Endgeräte"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/arbeitsplatz-und-endgerate/betriebssystem-am-arbeitsplatz",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
29
knowledge/06_dns-und-dhcp.json
Normal file
29
knowledge/06_dns-und-dhcp.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"id": "KAT-DNS-UND-DHCP-SELECT",
|
||||
"title": "DNS und DHCP",
|
||||
"text": "Auswahlziel: Netzwerk und Verbindungen \u003e DNS und DHCP. Primär zuständiges Team: Infrastruktur und Backend. Diese Kategorie ist auszuwählen, wenn Namensauflösung, DNS-Einträge, IP-Adressvergabe, DHCP-Leases, Reservierungen oder damit verbundene zentrale Netzwerkfunktionen fehlerhaft sind oder geändert werden sollen. Typische Ticketformulierungen sind: „Hostname wird nicht aufgelöst“; „Falsche IP-Adresse“; „DHCP-Reservierung anlegen“; „DNS-Eintrag ändern“. Nicht auswählen, wenn lediglich ein Benutzer keine Internetverbindung hat, eine Firewallfreigabe benötigt wird oder eine Fachanwendung einen eigenen Namensfehler meldet. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Einzelne Symptome ohne technische Hinweise sollten zunächst unter LAN, WLAN oder Internetzugang eingeordnet werden.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Netzwerk und Verbindungen \u003e DNS und DHCP“ zuzuordnen. Primär zuständig ist „Infrastruktur und Backend“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Netzwerk und Verbindungen \u003e DNS und DHCP"
|
||||
],
|
||||
"keywords": [
|
||||
"DNS",
|
||||
"DHCP",
|
||||
"Namensauflösung",
|
||||
"IP-Adresse",
|
||||
"Lease",
|
||||
"Reservierung",
|
||||
"Hostname",
|
||||
"A-Record",
|
||||
"CNAME",
|
||||
"IP-Vergabe",
|
||||
"DNS und DHCP",
|
||||
"Netzwerk und Verbindungen"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/netzwerk-und-verbindungen/dns-und-dhcp",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
28
knowledge/06_fachanwendung-bericht-und-auswertung.json
Normal file
28
knowledge/06_fachanwendung-bericht-und-auswertung.json
Normal file
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"id": "KAT-FACHANWENDUNG-BERICHT-UND-AUSWERTUNG-SELECT",
|
||||
"title": "Fachanwendung – Bericht und Auswertung",
|
||||
"text": "Auswahlziel: Fachanwendungen und Microsoft Office \u003e Fachanwendung – Bericht und Auswertung. Primär zuständiges Team: Fachanwendungen. Diese Kategorie ist auszuwählen, wenn ein vorhandener Bericht, eine Liste, Statistik, Druckausgabe oder fachliche Auswertung fehlerhaft ist, angepasst oder bereitgestellt werden soll. Typische Ticketformulierungen sind: „Bericht zeigt falsche Spalten“; „Statistik fehlt“; „Auswertung anpassen“; „Druckausgabe aus Fachverfahren fehlerhaft“. Nicht auswählen, wenn eine allgemeine Excel-Auswertung ohne Fachanwendungsbezug gemeint ist, ein Drucker physisch nicht druckt oder eine komplett neue Fachfunktion benötigt wird. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Dateninhalt und Filterlogik gehören zu Fachanwendungen; physische Druckprobleme zum Support.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Fachanwendungen und Microsoft Office \u003e Fachanwendung – Bericht und Auswertung“ zuzuordnen. Primär zuständig ist „Fachanwendungen“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Fachanwendungen und Microsoft Office \u003e Fachanwendung – Bericht und Auswertung"
|
||||
],
|
||||
"keywords": [
|
||||
"Bericht",
|
||||
"Auswertung",
|
||||
"Statistik",
|
||||
"Liste",
|
||||
"Reporting",
|
||||
"Druckausgabe",
|
||||
"Abfrage",
|
||||
"Kennzahl",
|
||||
"Fachanwendung Bericht",
|
||||
"Fachanwendung – Bericht und Auswertung",
|
||||
"Fachanwendungen und Microsoft Office"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/fachanwendungen-und-microsoft-office/fachanwendung-bericht-und-auswertung",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
26
knowledge/06_mobile-schulgerate.json
Normal file
26
knowledge/06_mobile-schulgerate.json
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"id": "KAT-MOBILE-SCHULGERATE-SELECT",
|
||||
"title": "Mobile Schulgeräte",
|
||||
"text": "Auswahlziel: Schulspezifische IT-Systeme \u003e Mobile Schulgeräte. Primär zuständiges Team: Schulen. Diese Kategorie ist auszuwählen, wenn schulische Tablets, Notebooks, Leihgeräte oder Gerätekoffer eingerichtet, ausgegeben, zurückgenommen, repariert oder im Unterricht unterstützt werden müssen. Typische Ticketformulierungen sind: „Schüler-iPad defekt“; „Tablet-Koffer einrichten“; „Leihgerät zurücknehmen“; „Schulnotebook startet nicht“. Nicht auswählen, wenn ausschließlich das zentrale MDM, ein privates Gerät oder ein allgemeines Verwaltungs-Smartphone betroffen ist. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: MDM-Profil- und Plattformprobleme werden in Mobile-Device-Management für Schulen erfasst.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Schulspezifische IT-Systeme \u003e Mobile Schulgeräte“ zuzuordnen. Primär zuständig ist „Schulen“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Schulspezifische IT-Systeme \u003e Mobile Schulgeräte"
|
||||
],
|
||||
"keywords": [
|
||||
"Schultablet",
|
||||
"Schul-iPad",
|
||||
"Leihgerät",
|
||||
"Tablet-Koffer",
|
||||
"Schulnotebook",
|
||||
"mobiles Schulgerät",
|
||||
"Schülergerät",
|
||||
"Mobile Schulgeräte",
|
||||
"Schulspezifische IT-Systeme"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/schulspezifische-it-systeme/mobile-schulgerate",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
26
knowledge/06_scan-to-mail-und-scan-to-folder.json
Normal file
26
knowledge/06_scan-to-mail-und-scan-to-folder.json
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"id": "KAT-SCAN-TO-MAIL-UND-SCAN-TO-FOLDER-SELECT",
|
||||
"title": "Scan-to-Mail und Scan-to-Folder",
|
||||
"text": "Auswahlziel: Drucken, Scannen und Kopieren \u003e Scan-to-Mail und Scan-to-Folder. Primär zuständiges Team: Support und Telekommunikation. Diese Kategorie ist auszuwählen, wenn ein Scanner oder Multifunktionsgerät Scans nicht per E-Mail versendet oder nicht in einen zentralen Ordner ablegt, obwohl das Scannen selbst funktioniert. Typische Ticketformulierungen sind: „Scan kommt nicht per Mail an“; „Scan-to-Folder schlägt fehl“; „Zielordner nicht erreichbar“; „SMTP-Fehler am Kopierer“. Nicht auswählen, wenn das Gerät generell nicht scannt, das E-Mail-System organisationsweit ausfällt oder eine allgemeine Dateifreigabe gestört ist. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Support übernimmt Erstprüfung; Mail-, Netzwerk- und Dateidienste werden bei zentraler Ursache an Infrastruktur übergeben.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Drucken, Scannen und Kopieren \u003e Scan-to-Mail und Scan-to-Folder“ zuzuordnen. Primär zuständig ist „Support und Telekommunikation“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Drucken, Scannen und Kopieren \u003e Scan-to-Mail und Scan-to-Folder"
|
||||
],
|
||||
"keywords": [
|
||||
"Scan-to-Mail",
|
||||
"Scan-to-Folder",
|
||||
"SMTP",
|
||||
"Zielordner",
|
||||
"Scanversand",
|
||||
"Netzwerkordner",
|
||||
"Scannen per E-Mail",
|
||||
"Scan-to-Mail und Scan-to-Folder",
|
||||
"Drucken, Scannen und Kopieren"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/drucken-scannen-und-kopieren/scan-to-mail-und-scan-to-folder",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
26
knowledge/06_sicherheitsupdate.json
Normal file
26
knowledge/06_sicherheitsupdate.json
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"id": "KAT-SICHERHEITSUPDATE-SELECT",
|
||||
"title": "Sicherheitsupdate",
|
||||
"text": "Auswahlziel: IT-Sicherheit und Datensicherung \u003e Sicherheitsupdate. Primär zuständiges Team: Infrastruktur und Backend. Diese Kategorie ist auszuwählen, wenn ein sicherheitskritischer Patch, Herstellerhinweis oder dringendes Update bewertet, getestet und zeitnah auf Servern, Plattformen oder zentralen Komponenten ausgerollt werden soll. Typische Ticketformulierungen sind: „Kritischen Patch einspielen“; „Hersteller meldet Security Update“; „Zero-Day-Patch planen“; „Sicherheitsaktualisierung verteilen“. Nicht auswählen, wenn es um ein reguläres Fachanwendungsrelease, ein einzelnes Clientupdate ohne Sicherheitsbezug oder eine bereits ausgenutzte Schwachstelle geht. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Bei bestätigter aktiver Ausnutzung zusätzlich Sicherheitsvorfall wählen.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „IT-Sicherheit und Datensicherung \u003e Sicherheitsupdate“ zuzuordnen. Primär zuständig ist „Infrastruktur und Backend“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"IT-Sicherheit und Datensicherung \u003e Sicherheitsupdate"
|
||||
],
|
||||
"keywords": [
|
||||
"Sicherheitsupdate",
|
||||
"Security Patch",
|
||||
"kritischer Patch",
|
||||
"Zero Day",
|
||||
"CVE Patch",
|
||||
"Update",
|
||||
"Herstellerwarnung",
|
||||
"Patchmanagement",
|
||||
"IT-Sicherheit und Datensicherung"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/it-sicherheit-und-datensicherung/sicherheitsupdate",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
27
knowledge/06_videokonferenz.json
Normal file
27
knowledge/06_videokonferenz.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"id": "KAT-VIDEOKONFERENZ-SELECT",
|
||||
"title": "Videokonferenz",
|
||||
"text": "Auswahlziel: Telefonie und Kommunikation \u003e Videokonferenz. Primär zuständiges Team: Support und Telekommunikation. Diese Kategorie ist auszuwählen, wenn Teilnahme, Kamera, Mikrofon, Lautsprecher, Bildschirmfreigabe oder Bedienung bei einer Videokonferenz am Arbeitsplatz nicht funktioniert. Typische Ticketformulierungen sind: „Kamera in Besprechung nicht verfügbar“; „Mikrofon wird nicht erkannt“; „Keine Tonwiedergabe in Videokonferenz“; „Bildschirmfreigabe klappt nicht“. Nicht auswählen, wenn ein zentrales Konferenzsystem, Netzwerkstandort oder eine Fachanwendung ohne Konferenzbezug betroffen ist. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Bei vielen gleichzeitig Betroffenen oder zentralem Dienstausfall an Infrastruktur beziehungsweise zuständige Plattformbetreuung übergeben.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Telefonie und Kommunikation \u003e Videokonferenz“ zuzuordnen. Primär zuständig ist „Support und Telekommunikation“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Telefonie und Kommunikation \u003e Videokonferenz"
|
||||
],
|
||||
"keywords": [
|
||||
"Videokonferenz",
|
||||
"Kamera",
|
||||
"Mikrofon",
|
||||
"Besprechung",
|
||||
"Meeting",
|
||||
"Bildschirmfreigabe",
|
||||
"Teams-Konferenz",
|
||||
"Webex",
|
||||
"Zoom",
|
||||
"Telefonie und Kommunikation"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/telefonie-und-kommunikation/videokonferenz",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
27
knowledge/06_virtuelle-maschinen.json
Normal file
27
knowledge/06_virtuelle-maschinen.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"id": "KAT-VIRTUELLE-MASCHINEN-SELECT",
|
||||
"title": "Virtuelle Maschinen",
|
||||
"text": "Auswahlziel: Server, Backend und Plattformen \u003e Virtuelle Maschinen. Primär zuständiges Team: Infrastruktur und Backend. Diese Kategorie ist auszuwählen, wenn eine konkrete virtuelle Maschine neu bereitgestellt, geändert, vergrößert, geklont, gestartet, wiederhergestellt oder bei einem VM-spezifischen Fehler bearbeitet werden soll. Typische Ticketformulierungen sind: „Neue VM bereitstellen“; „Virtuelle Maschine startet nicht“; „RAM oder CPU erhöhen“; „VM klonen“. Nicht auswählen, wenn der gesamte Hypervisor-Cluster betroffen ist, nur die Anwendung in der VM fehlerhaft ist oder ein Container benötigt wird. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Betriebssystem- und Anwendungsprobleme innerhalb der VM sind getrennt zu betrachten.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Server, Backend und Plattformen \u003e Virtuelle Maschinen“ zuzuordnen. Primär zuständig ist „Infrastruktur und Backend“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Server, Backend und Plattformen \u003e Virtuelle Maschinen"
|
||||
],
|
||||
"keywords": [
|
||||
"virtuelle Maschine",
|
||||
"VM",
|
||||
"vCPU",
|
||||
"virtueller Server",
|
||||
"VM bereitstellen",
|
||||
"VM startet nicht",
|
||||
"Snapshot",
|
||||
"Ressourcen erhöhen",
|
||||
"Virtuelle Maschinen",
|
||||
"Server, Backend und Plattformen"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/server-backend-und-plattformen/virtuelle-maschinen",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
27
knowledge/06_wartungs-und-supportvertrag.json
Normal file
27
knowledge/06_wartungs-und-supportvertrag.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"id": "KAT-WARTUNGS-UND-SUPPORTVERTRAG-SELECT",
|
||||
"title": "Wartungs- und Supportvertrag",
|
||||
"text": "Auswahlziel: Beschaffung, Verträge und Lizenzen \u003e Wartungs- und Supportvertrag. Primär zuständiges Team: Leitung und Finanzen / Beschaffung. Diese Kategorie ist auszuwählen, wenn Wartungs-, Pflege-, Hersteller- oder Supportverträge abgeschlossen, verlängert, angepasst, geprüft oder gekündigt werden sollen. Typische Ticketformulierungen sind: „Wartungsvertrag verlängern“; „Herstellersupport beauftragen“; „Pflegevertrag prüfen“; „Supportvertrag kündigen“. Nicht auswählen, wenn ein konkreter technischer Supportfall beim Hersteller eröffnet oder eine Rechnung ohne Vertragsänderung geprüft wird. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Leistungsumfang, Laufzeit, Kündigungsfrist und zuständiges Fachteam sind zu dokumentieren.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Beschaffung, Verträge und Lizenzen \u003e Wartungs- und Supportvertrag“ zuzuordnen. Primär zuständig ist „Leitung und Finanzen / Beschaffung“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Beschaffung, Verträge und Lizenzen \u003e Wartungs- und Supportvertrag"
|
||||
],
|
||||
"keywords": [
|
||||
"Wartungsvertrag",
|
||||
"Supportvertrag",
|
||||
"Pflegevertrag",
|
||||
"Herstellersupport",
|
||||
"Verlängerung",
|
||||
"Kündigung",
|
||||
"SLA",
|
||||
"Maintenance",
|
||||
"Wartungs- und Supportvertrag",
|
||||
"Beschaffung, Verträge und Lizenzen"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/beschaffung-vertrage-und-lizenzen/wartungs-und-supportvertrag",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
26
knowledge/07_angebot-und-wirtschaftlichkeitsprufung.json
Normal file
26
knowledge/07_angebot-und-wirtschaftlichkeitsprufung.json
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"id": "KAT-ANGEBOT-UND-WIRTSCHAFTLICHKEITSPRUFUNG-SELECT",
|
||||
"title": "Angebot und Wirtschaftlichkeitsprüfung",
|
||||
"text": "Auswahlziel: Beschaffung, Verträge und Lizenzen \u003e Angebot und Wirtschaftlichkeitsprüfung. Primär zuständiges Team: Leitung und Finanzen / Beschaffung. Diese Kategorie ist auszuwählen, wenn Angebote eingeholt, Preise verglichen, Wirtschaftlichkeit bewertet, Vergabevermerke vorbereitet oder Beschaffungsvarianten kaufmännisch geprüft werden sollen. Typische Ticketformulierungen sind: „Drei Angebote vergleichen“; „Wirtschaftlichkeitsbetrachtung erstellen“; „Vergabe vorbereiten“; „Kostenvarianten bewerten“. Nicht auswählen, wenn die technische Produktauswahl allein im Vordergrund steht oder bereits eine Rechnung zur Zahlung vorliegt. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Technische Bewertung erfolgt durch das zuständige Fachteam; kaufmännische und vergaberechtliche Bewertung durch Beschaffung.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „Beschaffung, Verträge und Lizenzen \u003e Angebot und Wirtschaftlichkeitsprüfung“ zuzuordnen. Primär zuständig ist „Leitung und Finanzen / Beschaffung“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"Beschaffung, Verträge und Lizenzen \u003e Angebot und Wirtschaftlichkeitsprüfung"
|
||||
],
|
||||
"keywords": [
|
||||
"Angebot",
|
||||
"Preisvergleich",
|
||||
"Wirtschaftlichkeit",
|
||||
"Vergabe",
|
||||
"Vergabevermerk",
|
||||
"Kostenvergleich",
|
||||
"Markterkundung",
|
||||
"Angebot und Wirtschaftlichkeitsprüfung",
|
||||
"Beschaffung, Verträge und Lizenzen"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/beschaffung-vertrage-und-lizenzen/angebot-und-wirtschaftlichkeitsprufung",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
26
knowledge/07_datensicherung.json
Normal file
26
knowledge/07_datensicherung.json
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"id": "KAT-DATENSICHERUNG-SELECT",
|
||||
"title": "Datensicherung",
|
||||
"text": "Auswahlziel: IT-Sicherheit und Datensicherung \u003e Datensicherung. Primär zuständiges Team: Infrastruktur und Backend. Diese Kategorie ist auszuwählen, wenn Backup-Jobs fehlschlagen, Sicherungspläne, Aufbewahrung, Sicherungsziele, Kapazitäten oder Backup-Konzepte eingerichtet, geändert oder geprüft werden müssen. Typische Ticketformulierungen sind: „Backup fehlgeschlagen“; „Sicherungsjob rot“; „Aufbewahrung ändern“; „Neues System in Datensicherung aufnehmen“. Nicht auswählen, wenn konkrete Daten wiederhergestellt werden sollen oder eine Fachanwendung lediglich keine Exportdatei erzeugt. Für die Klassifizierung sind der konkret betroffene Dienst oder Gegenstand, die Fehlermeldung, die Anzahl betroffener Personen, der Standort sowie die Unterscheidung zwischen Störung, Berechtigung, Bestellung und Änderungswunsch besonders wichtig. Einzelne unspezifische Wörter wie „geht nicht“, „Problem“ oder „dringend“ reichen ohne Sachbezug nicht für diese Zuordnung aus. Abgrenzungsregel: Wiederherstellungsanforderungen werden getrennt unter Datenwiederherstellung erfasst.",
|
||||
"answer": "Interne Klassifizierung: Das Ticket ist der Kategorie „IT-Sicherheit und Datensicherung \u003e Datensicherung“ zuzuordnen. Primär zuständig ist „Infrastruktur und Backend“. Vor der endgültigen Zuweisung sind die genannten Ausschlusskriterien und Schnittstellen zu prüfen.",
|
||||
"auto_reply": false,
|
||||
"min_score": 0.7,
|
||||
"categories": [
|
||||
"IT-Sicherheit und Datensicherung \u003e Datensicherung"
|
||||
],
|
||||
"keywords": [
|
||||
"Datensicherung",
|
||||
"Backup",
|
||||
"Sicherungsjob",
|
||||
"Aufbewahrung",
|
||||
"Retention",
|
||||
"Backupziel",
|
||||
"Sicherungskonzept",
|
||||
"Backup fehlgeschlagen",
|
||||
"IT-Sicherheit und Datensicherung"
|
||||
],
|
||||
"source": "internal-category",
|
||||
"source_uri": "kb://internal-kb/glpi-kategorien/it-sicherheit-und-datensicherung/datensicherung",
|
||||
"language": "de-DE",
|
||||
"communication_style": "formal"
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user