docs: add MODULE.md + MODULE.de.md inline docs
Some checks failed
CI / Linux x86_64 (Forgejo) (push) Failing after 1s

Same shape as text-extract's docs commit. Audit-grade model-
provenance fields documented next to each output so the
operator sees the contract without leaving the Store sheet.

Signed-off-by: flemming-it <sf@flemming.it>
This commit is contained in:
flemming-it 2026-05-25 14:06:04 +02:00
parent a4c2c0e14e
commit 7c989f3d91
2 changed files with 188 additions and 0 deletions

94
MODULE.de.md Normal file
View file

@ -0,0 +1,94 @@
# text.translate
Ollama-basierte Übersetzung zwischen Sprachen. Sendet Quelltext
an einen konfigurierten LLM-Endpunkt mit einem
Übersetzungs-System-Prompt und liefert die Übersetzung plus
audit-taugliche Modell-Herkunfts-Felder.
## Capability
- `text.translate@0.1.0`
## Eingaben
| Name | Typ | Beschreibung |
| ----------------- | ---- | ------------------------------------------------------------------------- |
| `text` | text | Quelltext. |
| `target_language` | text | Zielsprache in einfachem Englisch (z.B. `German`, `French`, `ja-JP`). |
| `source_language` | text | Optionaler Hinweis auf die Ausgangssprache. Leer = Modell erkennt selbst. |
| `endpoint` | text | Ollama-förmiger `/api/chat`-Endpunkt. |
| `model` | text | Modell-ID am Endpunkt (z.B. `qwen2.5:14b`). |
| `api_key` | text | Optionaler Bearer-Token für Cloud-Endpunkte. |
## Ausgaben
| Name | Typ | Beschreibung |
| ----------------- | ---- | ------------------------------------------------------------------ |
| `translation` | text | Die Übersetzung. |
| `source_language` | text | Echo der Eingabe (oder erkannte Sprache bei Auto). |
| `target_language` | text | Echo der Eingabe. |
| `model_endpoint` | text | URL, gegen die übersetzt wurde. |
| `model_name` | text | Modell-ID wie an die LLM-API gesendet. |
| `model_digest` | text | SHA-256-Digest des bedienenden Ollama-Modells (wenn erreichbar). |
Die drei `model_*`-Ausgaben sind das Audit-Primitiv: jede
Übersetzung im Flow-Log lässt sich auch Monate später dem exakten
Modell-Hash zuordnen, der sie erzeugt hat.
## Berechtigungen
```yaml
permissions:
- "net: localhost"
- "net: 127.0.0.1"
- "net: api.openai.com"
- "net: api.anthropic.com"
```
Default-Policy erlaubt lokales Ollama und die zwei großen
Hosted-Anbieter. Mit privatem LLM-Endpunkt: Hostname in die
Operator-Policy-Ceiling aufnehmen; das Modul prüft seine
Berechtigungen gegen diese Ceiling bei der Installation.
## Für regulierte Umgebungen gebaut
Der Ollama-Endpunkt steht per Default auf einem lokalen Daemon
— Quelltext verlässt nie den Rechner. Cloud-Anbieter sind
Opt-in über die URL + Operator-Policy. Das `model_digest`-Feld
ist der kryptographische Vertrauensanker für die
Übersetzungs-Herkunft: zwei Ausgaben mit gleichem Digest
stammen vom selben Modell-Gewicht, Punkt.
## Grenzen in v0.1.0
- Single-Shot. Lange Dokumente mit Chunking + Überlapp-
Stitching folgt in v0.2.0.
- Keine Glossar-/Terminologie-Listen. Aktuell verlässt sich das
Modul auf das Allgemeinwissen des Modells; ein `glossary`-
Input ist auf der v0.2.0-Roadmap.
## Beispiel-Flow
```yaml
name: translate-to-german
inputs:
source: text
steps:
- id: translate
use: text.translate@^0
with:
text: $inputs.source
target_language: "German"
endpoint: "http://localhost:11434/api/chat"
model: "qwen2.5:14b"
outputs:
translation: $translate.translation
audit_model: $translate.model_digest
```
## Build
```bash
cargo build --release --target wasm32-wasip2
# Ausgabe: target/wasm32-wasip2/release/text_translate.wasm
```