jacobinwwey_obsidian-NotEMD/README_el.md
Jacobinwwey b553ecd138 fix(readme): align all 29 i18n README version lines to 1.8.3
- Fixed '**Version:** 1.8.1' → '1.8.3' across all locale files
- Issue: earlier sed matched 'v1.8.1' but non-English version lines
  use bare '1.8.1' without 'v' prefix
- All 121 README alignment tests pass
- Examples: Phiên bản (vi), Έκδοση (el), Version (de),
  الإصدار (ar), バージョン (ja), 버전 (ko), Версия (ru), etc.
2026-05-02 06:02:43 -05:00

689 lines
120 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

![GitHub Release](https://img.shields.io/github/v/release/Jacobinwwey/obsidian-NotEMD?label=Version&link=https%3A%2F%2Fgithub.com%2Jacobinwwey%2Fobsidian-NotEMD%2Freleases%2Flatest) ![GitHub Downloads](https://img.shields.io/github/downloads/Jacobinwwey/obsidian-NotEMD/total?logo=Obsidian&label=Downloads&labelColor=%237C3AED&color=%235b5b5b&link=https%3A%2F%2Fgithub.com%2Jacobinwwey%2Fobsidian-NotEMD%2Freleases%2Flatest)
![Obsidian Downloads](https://img.shields.io/badge/dynamic/json?logo=obsidian&color=%23483699&label=Downloads&query=%24%5B%22notemd%22%5D.downloads&url=https%3A%2F%2Fraw.githubusercontent.com%2Fobsidianmd%2Fobsidian-releases%2Fmaster%2Fcommunity-plugin-stats.json) ![GitHub Repo stars](https://img.shields.io/github/stars/Jacobinwwey/obsidian-NotEMD?style=social)
# Πρόσθετο Notemd για το Obsidian
[English](./README.md) | [简体中文](./README_zh.md) | [Español](./README_es.md) | [Français](./README_fr.md) | [Deutsch](./README_de.md) | [Italiano](./README_it.md) | [Português](./README_pt.md) | [繁體中文](./README_zh_Hant.md) | [日本語](./README_ja.md) | [한국어](./README_ko.md) | [Русский](./README_ru.md) | [العربية](./README_ar.md) | [हिन्दी](./README_hi.md) | [বাংলা](./README_bn.md) | [Nederlands](./README_nl.md) | [Svenska](./README_sv.md) | [Suomi](./README_fi.md) | [Dansk](./README_da.md) | [Norsk](./README_no.md) | [Polski](./README_pl.md) | [Türkçe](./README_tr.md) | [עברית](./README_he.md) | [ไทย](./README_th.md) | [Ελληνικά](./README_el.md) | [Čeština](./README_cs.md) | [Magyar](./README_hu.md) | [Română](./README_ro.md) | [Українська](./README_uk.md) | [Tiếng Việt](./README_vi.md) | [Bahasa Indonesia](./README_id.md) | [Bahasa Melayu](./README_ms.md)
Διαβάστε την τεκμηρίωση και σε άλλες γλώσσες: [Κέντρο Γλωσσών](./docs/i18n/README.md)
```
==================================================
_ _ _ _ ___ __ __ ___
| \ | | ___ | |_| |___| | \/ |___ \
| \| |/ _ \| __| |___| | |\/| | | |
| |\ | (_) | |_| |___ | | | |___| |
|_| \_|\___/ \__|_|___| | | | |____/
==================================================
Πολυγλωσσική ενίσχυση γνώσης με τεχνητή νοημοσύνη
==================================================
```
Ένας εύκολος τρόπος να δημιουργήσετε τη δική σας βάση γνώσης.
Το Notemd βελτιώνει τη ροή εργασίας σας στο Obsidian ενσωματώνοντας διάφορα Μεγάλα Γλωσσικά Μοντέλα (LLMs) για την επεξεργασία πολύγλωσσων σημειώσεων, την αυτόματη δημιουργία wiki-links για βασικές έννοιες, τη δημιουργία αντίστοιχων concept notes, την εκτέλεση έρευνας στον ιστό και τη βοήθεια στην οικοδόμηση ισχυρών γραφημάτων γνώσης και πολλά ακόμη.
**Έκδοση:** 1.8.3
<img width="1853" height="1080" alt="show" src="https://github.com/user-attachments/assets/b9f9292b-a9d8-48a3-9acf-1b6f00413966" />
<img width="1853" height="1080" alt="multi-langu" src="https://github.com/user-attachments/assets/d9a0a4fb-1c00-425a-ac1d-0134a013a381" />
<img width="1657" height="1000" alt="NEW FEATURE" src="https://github.com/user-attachments/assets/3099bf73-97d1-482b-ba97-c28b113b623e" />
## Πίνακας περιεχομένων
- [Γρήγορη εκκίνηση](#γρήγορη-εκκίνηση)
- [Υποστήριξη γλωσσών](#υποστήριξη-γλωσσών)
- [Δυνατότητες](#δυνατότητες)
- [Εγκατάσταση](#εγκατάσταση)
- [Διαμόρφωση](#διαμόρφωση)
- [Οδηγός χρήσης](#οδηγός-χρήσης)
- [Υποστηριζόμενοι πάροχοι LLM](#υποστηριζόμενοι-πάροχοι-llm)
- [Χρήση δικτύου και διαχείριση δεδομένων](#χρήση-δικτύου-και-διαχείριση-δεδομένων)
- [Αντιμετώπιση προβλημάτων](#αντιμετώπιση-προβλημάτων)
- [Συνεισφορά](#συνεισφορά)
- [Τεκμηρίωση συντηρητών](#τεκμηρίωση-συντηρητών)
- [Άδεια](#άδεια)
## Γρήγορη εκκίνηση
1. **Εγκατάσταση και ενεργοποίηση**: αποκτήστε το πρόσθετο από το Obsidian Marketplace.
2. **Διαμόρφωση LLM**: μεταβείτε στο `Settings -> Notemd`, επιλέξτε τον πάροχο LLM που θέλετε να χρησιμοποιήσετε (όπως OpenAI ή κάποιον τοπικό, όπως Ollama) και εισαγάγετε το API κλειδί ή το URL σας.
3. **Άνοιγμα πλευρικής στήλης**: κάντε κλικ στο εικονίδιο του ραβδιού Notemd στην αριστερή κορδέλα για να ανοίξετε την πλευρική στήλη.
4. **Επεξεργασία σημείωσης**: ανοίξτε οποιαδήποτε σημείωση και κάντε κλικ στο **"Process File (Add Links)"** στην πλευρική στήλη για να προστεθούν αυτόματα `[[wiki-links]]` σε βασικές έννοιες.
5. **Εκτέλεση γρήγορης ροής εργασίας**: χρησιμοποιήστε το προεπιλεγμένο κουμπί **"One-Click Extract"** για να αλυσιδώσετε επεξεργασία, μαζική παραγωγή και καθαρισμό Mermaid από ένα μόνο σημείο.
Αυτό ήταν. Εξερευνήστε τις ρυθμίσεις για να ξεκλειδώσετε περισσότερες δυνατότητες, όπως έρευνα ιστού, μετάφραση και δημιουργία περιεχομένου.
## Υποστήριξη γλωσσών
### Συμβόλαιο γλωσσικής συμπεριφοράς
| Πτυχή | Εμβέλεια | Προεπιλογή | Σημειώσεις |
|---|---|---|---|
| `Γλώσσα διεπαφής` | Μόνο το κείμενο του UI του πρόσθετου (ρυθμίσεις, πλευρική στήλη, ειδοποιήσεις, διάλογοι) | `auto` | Ακολουθεί τη γλώσσα του Obsidian. Οι τρέχοντες κατάλογοι UI είναι `en`, `ar`, `de`, `es`, `fa`, `fr`, `id`, `it`, `ja`, `ko`, `nl`, `pl`, `pt`, `pt-BR`, `ru`, `th`, `tr`, `uk`, `vi`, `zh-CN`, `zh-TW`. |
| `Γλώσσα εξόδου εργασιών` | Έξοδος εργασιών που παράγεται από LLM (σύνδεσμοι, περιλήψεις, παραγωγή, εξαγωγή, γλώσσα στόχος μετάφρασης) | `en` | Μπορεί να είναι καθολική ή ανά εργασία όταν το `Χρήση διαφορετικών γλωσσών για εργασίες` είναι ενεργοποιημένο. |
| `Απενεργοποίηση αυτόματης μετάφρασης` | Οι εργασίες εκτός `Translate` διατηρούν το πλαίσιο της γλώσσας προέλευσης | `false` | Οι ρητές εργασίες `Translate` εξακολουθούν να επιβάλλουν τη ρυθμισμένη γλώσσα στόχο. |
| Εφεδρική τοπικοποίηση | Επίλυση ελλιπών κλειδιών UI | locale -> `en` | Διατηρεί σταθερό το UI όταν ορισμένα κλειδιά δεν έχουν μεταφραστεί ακόμη. |
- Τα συντηρούμενα έγγραφα πηγής είναι τα Αγγλικά και τα Απλοποιημένα Κινεζικά, και οι δημοσιευμένες μεταφράσεις README συνδέονται στην κεφαλίδα παραπάνω.
- Η κάλυψη των UI locale μέσα στην εφαρμογή αντιστοιχεί πλέον ακριβώς στον ρητό κατάλογο του κώδικα: `en`, `ar`, `de`, `es`, `fa`, `fr`, `id`, `it`, `ja`, `ko`, `nl`, `pl`, `pt`, `pt-BR`, `ru`, `th`, `tr`, `uk`, `vi`, `zh-CN`, `zh-TW`.
- Το αγγλικό fallback παραμένει δίχτυ ασφαλείας της υλοποίησης, αλλά οι υποστηριζόμενες ορατές επιφάνειες καλύπτονται από regression tests και δεν θα πρέπει να επιστρέφουν σιωπηρά στα Αγγλικά κατά την κανονική χρήση.
- Περισσότερες λεπτομέρειες και οδηγίες συνεισφοράς παρακολουθούνται στο [Κέντρο Γλωσσών](./docs/i18n/README.md).
## Δυνατότητες
### Επεξεργασία εγγράφων με τεχνητή νοημοσύνη
- **Υποστήριξη Multi-LLM**: συνδεθείτε με διάφορους παρόχους LLM cloud και τοπικούς (δείτε [Υποστηριζόμενοι πάροχοι LLM](#υποστηριζόμενοι-πάροχοι-llm)).
- **Έξυπνος τεμαχισμός**: χωρίζει αυτόματα τα μεγάλα έγγραφα σε διαχειρίσιμα τμήματα με βάση τον αριθμό λέξεων για επεξεργασία.
- **Διατήρηση περιεχομένου**: στοχεύει στη διατήρηση της αρχικής μορφοποίησης ενώ προσθέτει δομή και συνδέσμους.
- **Παρακολούθηση προόδου**: ενημερώσεις σε πραγματικό χρόνο μέσω της πλευρικής στήλης Notemd ή ενός παραθύρου προόδου.
- **Ακυρώσιμες λειτουργίες**: ακυρώστε οποιαδήποτε εργασία επεξεργασίας (μεμονωμένη ή μαζική) που ξεκίνησε από την πλευρική στήλη μέσω του ειδικού κουμπιού ακύρωσης. Οι λειτουργίες από την παλέτα εντολών χρησιμοποιούν ένα modal που μπορεί επίσης να ακυρωθεί.
- **Διαμόρφωση πολλαπλών μοντέλων**: χρησιμοποιήστε διαφορετικούς παρόχους LLM *και* συγκεκριμένα μοντέλα για διαφορετικές εργασίες (Add Links, Research, Generate Title, Translate) ή χρησιμοποιήστε έναν πάροχο για όλα.
- **Stable API Calls (Retry Logic)**: ενεργοποιήστε προαιρετικά αυτόματες επαναλήψεις για αποτυχημένες κλήσεις API LLM με ρυθμιζόμενο διάστημα και όρια προσπαθειών.
- **Ανθεκτικά τεστ σύνδεσης παρόχων**: αν το πρώτο τεστ παρόχου συναντήσει μια παροδική αποσύνδεση δικτύου, το Notemd περνά τώρα στην ακολουθία σταθερής επανάληψης πριν αποτύχει, καλύπτοντας μεταφορές OpenAI-compatible, Anthropic, Google, Azure OpenAI και Ollama.
- **Εναλλακτική μεταφορά ανάλογα με το περιβάλλον εκτέλεσης**: όταν ένα αίτημα μεγάλης διάρκειας προς πάροχο διακόπτεται από το `requestUrl` με παροδικά σφάλματα δικτύου όπως `ERR_CONNECTION_CLOSED`, το Notemd επαναλαμβάνει τώρα την ίδια προσπάθεια μέσω μεταφοράς εφεδρείας ειδικής για το περιβάλλον πριν εισέλθει στον διαμορφωμένο βρόχο επαναλήψεων: οι desktop build εκδόσεις χρησιμοποιούν Node `http/https`, ενώ τα μη desktop περιβάλλοντα χρησιμοποιούν browser `fetch`. Αυτό μειώνει τις ψευδείς αποτυχίες σε αργά gateway και reverse proxy.
- **Σκλήρυνση σταθερής αλυσίδας μεγάλων αιτημάτων για OpenAI-compatible**: στη σταθερή λειτουργία, οι κλήσεις OpenAI-compatible χρησιμοποιούν τώρα μια ρητή σειρά 3 σταδίων για κάθε προσπάθεια: πρωτεύουσα άμεση streaming μεταφορά, στη συνέχεια άμεση μη streaming μεταφορά, και τέλος εφεδρεία `requestUrl` (που μπορεί να αναβαθμιστεί σε stream parsing όταν χρειάζεται). Αυτό μειώνει τα ψευδώς αρνητικά όταν οι πάροχοι ολοκληρώνουν buffered απαντήσεις αλλά οι σωλήνες streaming είναι ασταθείς.
- **Εναλλακτική ροή με επίγνωση πρωτοκόλλου σε όλα τα LLM API**: οι εναλλακτικές προσπάθειες μεγάλης διάρκειας αναβαθμίζονται τώρα σε stream parsing με επίγνωση πρωτοκόλλου σε κάθε ενσωματωμένη διαδρομή LLM, όχι μόνο στα OpenAI-compatible endpoint. Το Notemd χειρίζεται τώρα OpenAI/Azure-style SSE, Anthropic Messages streaming, Google Gemini SSE responses και Ollama NDJSON streams τόσο σε desktop `http/https` όσο και σε non-desktop `fetch`, και τα υπόλοιπα direct OpenAI-style provider entrypoints επαναχρησιμοποιούν την ίδια κοινή fallback διαδρομή.
- **Έτοιμα presets παρόχων για Κίνα**: τα ενσωματωμένα presets καλύπτουν πλέον τα `Qwen`, `Qwen Code`, `Doubao`, `Moonshot`, `GLM`, `Z AI`, `MiniMax`, `Huawei Cloud MaaS`, `Baidu Qianfan` και `SiliconFlow`, πέρα από τους υπάρχοντες παγκόσμιους και τοπικούς παρόχους.
- **Αξιόπιστη μαζική επεξεργασία**: η βελτιωμένη λογική ταυτόχρονης επεξεργασίας με **κλιμακωτές κλήσεις API** βοηθά στην αποφυγή σφαλμάτων rate-limit και διασφαλίζει σταθερή απόδοση σε μεγάλες μαζικές εργασίες. Η νέα υλοποίηση εξασφαλίζει ότι οι εργασίες ξεκινούν σε διαφορετικά διαστήματα και όχι όλες ταυτόχρονα.
- **Ακριβής αναφορά προόδου**: διορθώθηκε ένα σφάλμα όπου η μπάρα προόδου μπορούσε να κολλήσει, εξασφαλίζοντας ότι το UI αντικατοπτρίζει πάντα την πραγματική κατάσταση της λειτουργίας.
- **Ανθεκτική παράλληλη μαζική επεξεργασία**: επιλύθηκε ένα ζήτημα όπου οι παράλληλες μαζικές λειτουργίες σταματούσαν πρόωρα, εξασφαλίζοντας ότι όλα τα αρχεία επεξεργάζονται αξιόπιστα και αποδοτικά.
- **Ακρίβεια μπάρας προόδου**: διορθώθηκε ένα σφάλμα όπου η μπάρα προόδου της εντολής "Create Wiki-Link & Generate Note" κολλούσε στο 95%, εξασφαλίζοντας ότι πλέον δείχνει σωστά 100% κατά την ολοκλήρωση.
- **Βελτιωμένη αποσφαλμάτωση API**: το "API Error Debugging Mode" καταγράφει πλέον ολόκληρα σώματα απόκρισης από παρόχους LLM και υπηρεσίες αναζήτησης (Tavily/DuckDuckGo), και επίσης κρατά χρονογραμμή μεταφοράς ανά προσπάθεια με καθαρισμένα request URLs, διάρκεια, response headers, μερικά response bodies, μερικώς αναλυμένο περιεχόμενο stream και ίχνη στοίβας για καλύτερη αντιμετώπιση προβλημάτων σε fallback διαδρομές OpenAI-compatible, Anthropic, Google, Azure OpenAI και Ollama.
- **Πίνακας Developer Mode**: οι ρυθμίσεις περιλαμβάνουν πλέον έναν αφιερωμένο πίνακα διαγνωστικών μόνο για προγραμματιστές, που παραμένει κρυφός έως ότου ενεργοποιηθεί το "Developer mode". Υποστηρίζει επιλογή διαδρομών διαγνωστικής κλήσης και επαναλαμβανόμενες δοκιμές σταθερότητας για τον επιλεγμένο τρόπο.
- **Επανασχεδιασμένη πλευρική στήλη**: οι ενσωματωμένες ενέργειες ομαδοποιούνται σε πιο εστιασμένες ενότητες με σαφέστερες ετικέτες, ζωντανή κατάσταση, ακυρώσιμη πρόοδο και αντιγράψιμα logs, ώστε να μειωθεί η ακαταστασία της πλευρικής στήλης. Το footer προόδου/log παραμένει ορατό ακόμη και όταν όλες οι ενότητες είναι ανοικτές, ενώ η κατάσταση ετοιμότητας χρησιμοποιεί πιο σαφή standby progress track.
- **Βελτιώσεις αλληλεπίδρασης και αναγνωσιμότητας της πλευρικής στήλης**: τα κουμπιά της πλευρικής στήλης παρέχουν πλέον καθαρότερη ανάδραση σε hover/press/focus, και τα πολύχρωμα κουμπιά CTA, συμπεριλαμβανομένων των `One-Click Extract` και `Batch generate from titles`, χρησιμοποιούν ισχυρότερη αντίθεση κειμένου για καλύτερη αναγνωσιμότητα σε διαφορετικά θέματα.
- **Χαρτογράφηση CTA μόνο για ενέργειες ενός αρχείου**: η πολύχρωμη CTA εμφάνιση διατηρείται πλέον αποκλειστικά για ενέργειες πάνω σε ένα μόνο αρχείο. Οι μαζικές/σε επίπεδο φακέλου ενέργειες και οι μικτές ροές εργασίας χρησιμοποιούν μη CTA εμφάνιση για να μειώνονται τα λάθη από λανθασμένη εκτίμηση του εύρους δράσης.
- **Προσαρμοσμένες one-click ροές εργασίας**: μετατρέψτε τα ενσωματωμένα εργαλεία της πλευρικής στήλης σε επαναχρησιμοποιήσιμα προσαρμοσμένα κουμπιά με ονόματα ορισμένα από τον χρήστη και συναρμολογημένες αλυσίδες ενεργειών. Μια προεπιλεγμένη ροή `One-Click Extract` περιλαμβάνεται από την αρχή.
### Ενίσχυση γραφήματος γνώσης
- **Αυτόματη δημιουργία wiki-links**: εντοπίζει και προσθέτει `[[wiki-links]]` σε βασικές έννοιες μέσα στις επεξεργασμένες σημειώσεις σας με βάση την έξοδο του LLM.
- **Δημιουργία concept notes (προαιρετική και παραμετροποιήσιμη)**: δημιουργεί αυτόματα νέες σημειώσεις για έννοιες που ανακαλύπτονται σε συγκεκριμένο φάκελο του vault.
- **Προσαρμόσιμες διαδρομές εξόδου**: διαμορφώστε ξεχωριστές σχετικές διαδρομές μέσα στο vault για την αποθήκευση επεξεργασμένων αρχείων και νεοδημιουργημένων concept notes.
- **Προσαρμόσιμα ονόματα αρχείων εξόδου (Add Links)**: προαιρετικά **αντικαθιστά το αρχικό αρχείο** ή χρησιμοποιεί προσαρμοσμένο suffix/string αντικατάστασης αντί του προεπιλεγμένου `_processed.md` κατά την επεξεργασία αρχείων για συνδέσμους.
- **Συντήρηση ακεραιότητας συνδέσμων**: βασικός χειρισμός για ενημέρωση συνδέσμων όταν οι σημειώσεις μετονομάζονται ή διαγράφονται μέσα στο vault.
- **Καθαρή εξαγωγή εννοιών**: εξάγει έννοιες και δημιουργεί αντίστοιχα concept notes χωρίς να τροποποιεί το αρχικό έγγραφο. Είναι ιδανικό για γρήγορη τροφοδότηση μιας βάσης γνώσης από υπάρχοντα έγγραφα χωρίς αλλοίωσή τους. Η δυνατότητα αυτή περιλαμβάνει παραμετροποιήσιμες επιλογές για ελάχιστα concept notes και backlinks.
### Μετάφραση
- **Μετάφραση με τεχνητή νοημοσύνη**:
- Μεταφράστε το περιεχόμενο των σημειώσεων χρησιμοποιώντας το διαμορφωμένο LLM.
- **Υποστήριξη μεγάλων αρχείων**: χωρίζει αυτόματα μεγάλα αρχεία σε μικρότερα τμήματα βάσει της ρύθμισης `Chunk word count` πριν τα στείλει στο LLM. Τα μεταφρασμένα τμήματα επανενώνονται έπειτα σε ένα ενιαίο έγγραφο χωρίς κενά.
- Υποστηρίζει μετάφραση μεταξύ πολλών γλωσσών.
- Η γλώσσα στόχος μπορεί να προσαρμοστεί από τις ρυθμίσεις ή από το UI.
- Ανοίγει αυτόματα το μεταφρασμένο κείμενο στη δεξιά πλευρά του αρχικού κειμένου για εύκολη ανάγνωση.
- **Μαζική μετάφραση**:
- Μεταφράζει όλα τα αρχεία μέσα σε έναν επιλεγμένο φάκελο.
- Υποστηρίζει παράλληλη επεξεργασία όταν είναι ενεργό το "Enable Batch Parallelism".
- Χρησιμοποιεί προσαρμοσμένα prompts για μετάφραση αν έχουν ρυθμιστεί.
- Προσθέτει επιλογή "Batch translate this folder" στο μενού περιβάλλοντος του file explorer.
- **Απενεργοποίηση αυτόματης μετάφρασης**: όταν αυτή η επιλογή είναι ενεργοποιημένη, οι εργασίες εκτός `Translate` δεν αναγκάζουν πλέον τα αποτελέσματα σε συγκεκριμένη γλώσσα, διατηρώντας το αρχικό γλωσσικό πλαίσιο. Η ρητή εργασία "Translate" εξακολουθεί να εκτελεί μετάφραση όπως έχει ρυθμιστεί.
### Έρευνα ιστού και δημιουργία περιεχομένου
- **Έρευνα ιστού και σύνοψη**:
- Εκτελεί αναζητήσεις ιστού χρησιμοποιώντας Tavily (απαιτεί API key) ή DuckDuckGo (πειραματικό).
- **Βελτιωμένη ανθεκτικότητα αναζήτησης**: η αναζήτηση DuckDuckGo διαθέτει πλέον βελτιωμένη λογική ανάλυσης (DOMParser με Regex fallback) για να διαχειρίζεται αλλαγές διάταξης και να εξασφαλίζει αξιόπιστα αποτελέσματα.
- Συνοψίζει τα αποτελέσματα της αναζήτησης χρησιμοποιώντας το διαμορφωμένο LLM.
- Η γλώσσα εξόδου της σύνοψης μπορεί να προσαρμοστεί από τις ρυθμίσεις.
- Προσθέτει τις συνόψεις στην τρέχουσα σημείωση.
- Ρυθμιζόμενο όριο token για το ερευνητικό περιεχόμενο που αποστέλλεται στο LLM.
- **Δημιουργία περιεχομένου από τίτλο**:
- Χρησιμοποιεί τον τίτλο της σημείωσης για να δημιουργήσει αρχικό περιεχόμενο μέσω του LLM, αντικαθιστώντας το υπάρχον περιεχόμενο.
- **Προαιρετική έρευνα**: ρυθμίστε αν θα εκτελείται έρευνα ιστού (με τον επιλεγμένο πάροχο) ώστε να παρέχεται συμφραζόμενο στη δημιουργία περιεχομένου.
- **Μαζική δημιουργία περιεχομένου από τίτλους**: δημιουργεί περιεχόμενο για όλες τις σημειώσεις μέσα σε επιλεγμένο φάκελο με βάση τους τίτλους τους (λαμβάνει υπόψη τη ρύθμιση προαιρετικής έρευνας). Τα επιτυχώς επεξεργασμένα αρχεία μετακινούνται σε **παραμετροποιήσιμο "complete" υποφάκελο** (π.χ. `[foldername]_complete` ή προσαρμοσμένο όνομα) για να αποφεύγεται η επανεπεξεργασία.
- **Σύζευξη Mermaid Auto-Fix**: όταν η αυτόματη επιδιόρθωση Mermaid είναι ενεργοποιημένη, οι ροές εργασίας που σχετίζονται με Mermaid επιδιορθώνουν αυτόματα τα παραγόμενα αρχεία ή τους φακέλους εξόδου μετά την επεξεργασία. Αυτό καλύπτει τις ροές Process, Generate from Title, Batch Generate from Titles, Research & Summarize, Summarise as Mermaid και Translate.
### Βοηθητικές λειτουργίες
- **Συνοψίστε ως διάγραμμα Mermaid**:
- Αυτή η δυνατότητα σας επιτρέπει να συνοψίζετε το περιεχόμενο μιας σημείωσης σε διάγραμμα Mermaid.
- Η γλώσσα εξόδου του διαγράμματος Mermaid μπορεί να προσαρμοστεί από τις ρυθμίσεις.
- **Mermaid Output Folder**: ρυθμίστε τον φάκελο στον οποίο θα αποθηκεύονται τα παραγόμενα αρχεία διαγραμμάτων Mermaid.
- **Translate Summarize to Mermaid Output**: προαιρετικά μεταφράζει το παραγόμενο περιεχόμενο του διαγράμματος Mermaid στη διαμορφωμένη γλώσσα στόχο.
-
<img width="596" height="239" alt="SUMM" src="https://github.com/user-attachments/assets/08f44a41-9ec0-472c-91ee-19c8477ec639" />
- **Απλή διόρθωση μορφοποίησης τύπων**:
- Διορθώνει γρήγορα μαθηματικούς τύπους μίας γραμμής που περικλείονται από μονό `$` σε κανονικά blocks με διπλό `$$`.
- **Single File**: επεξεργάζεται το τρέχον αρχείο μέσω κουμπιού της πλευρικής στήλης ή της παλέτας εντολών.
- **Batch Fix**: επεξεργάζεται όλα τα αρχεία μέσα σε επιλεγμένο φάκελο μέσω κουμπιού της πλευρικής στήλης ή της παλέτας εντολών.
- **Έλεγχος για διπλότυπα στο τρέχον αρχείο**: αυτή η εντολή βοηθά στον εντοπισμό πιθανών διπλότυπων όρων μέσα στο ενεργό αρχείο.
- **Ανίχνευση διπλοτύπων**: βασικός έλεγχος για διπλές λέξεις μέσα στο περιεχόμενο του αρχείου που επεξεργάζεται εκείνη τη στιγμή (τα αποτελέσματα καταγράφονται στην κονσόλα).
- **Check and Remove Duplicate Concept Notes**: εντοπίζει πιθανές διπλές σημειώσεις μέσα στον διαμορφωμένο **Concept Note Folder** βάσει ακριβούς ταύτισης ονόματος, πληθυντικών, κανονικοποίησης και περιεκτικότητας μονολέκτων, σε σύγκριση με σημειώσεις εκτός φακέλου. Το εύρος σύγκρισης (δηλαδή ποιες σημειώσεις εκτός του concept folder ελέγχονται) μπορεί να ρυθμιστεί σε **ολόκληρο το vault**, **συγκεκριμένους συμπεριλαμβανόμενους φακέλους** ή **όλους τους φακέλους εκτός από συγκεκριμένους**. Παρουσιάζει αναλυτική λίστα με λόγους και συγκρουόμενα αρχεία, και στη συνέχεια ζητά επιβεβαίωση πριν μεταφέρει τα αναγνωρισμένα διπλότυπα στον κάδο του συστήματος. Εμφανίζει πρόοδο κατά τη διαγραφή.
- **Batch Mermaid Fix**: εφαρμόζει διορθώσεις σύνταξης Mermaid και LaTeX σε όλα τα αρχεία Markdown μέσα σε φάκελο που επιλέγει ο χρήστης.
- **Workflow Ready**: μπορεί να χρησιμοποιηθεί ως αυτόνομο βοηθητικό εργαλείο ή ως βήμα μέσα σε προσαρμοσμένο κουμπί one-click ροής εργασίας.
- **Error Reporting**: παράγει αναφορά `mermaid_error_{foldername}.md` που απαριθμεί τα αρχεία που εξακολουθούν να περιέχουν πιθανές Mermaid αστοχίες μετά την επεξεργασία.
- **Move Error Files**: μετακινεί προαιρετικά τα αρχεία με ανιχνευμένα σφάλματα σε καθορισμένο φάκελο για χειροκίνητο έλεγχο.
- **Smart Detection**: τώρα ελέγχει έξυπνα τα αρχεία για συντακτικά σφάλματα χρησιμοποιώντας `mermaid.parse` πριν επιχειρήσει διορθώσεις, εξοικονομώντας χρόνο επεξεργασίας και αποφεύγοντας άσκοπες αλλαγές.
- **Safe Processing**: διασφαλίζει ότι οι διορθώσεις σύνταξης εφαρμόζονται αποκλειστικά σε Mermaid code blocks, αποτρέποντας τυχαία τροποποίηση πινάκων Markdown ή άλλου περιεχομένου. Περιλαμβάνει ισχυρές ασφαλιστικές δικλίδες για προστασία της σύνταξης πινάκων (π.χ. `| :--- |`) από επιθετικές debug διορθώσεις.
- **Deep Debug Mode**: αν τα σφάλματα παραμένουν μετά την αρχική διόρθωση, ενεργοποιείται ένα προηγμένο deep debug mode. Αυτή η λειτουργία χειρίζεται σύνθετες ακραίες περιπτώσεις, όπως:
- **Comment Integration**: ενσωματώνει αυτόματα τα τελικά σχόλια (που ξεκινούν με `%`) στην ετικέτα της ακμής (π.χ. `A -- Label --> B; % Comment` γίνεται `A -- "Label(Comment)" --> B;`).
- **Malformed Arrows**: διορθώνει βέλη που έχουν απορροφηθεί μέσα σε εισαγωγικά (π.χ. `A -- "Label -->" B` γίνεται `A -- "Label" --> B`).
- **Inline Subgraphs**: μετατρέπει inline ετικέτες υπογραφημάτων σε ετικέτες ακμών.
- **Reverse Arrow Fix**: διορθώνει τα μη τυπικά βέλη `X <-- Y` σε `Y --> X`.
- **Direction Keyword Fix**: διασφαλίζει ότι η λέξη-κλειδί `direction` είναι πεζή μέσα στα subgraphs (π.χ. `Direction TB` -> `direction TB`).
- **Comment Conversion**: μετατρέπει τα σχόλια `//` σε ετικέτες ακμών (π.χ. `A --> B; // Comment` -> `A -- "Comment" --> B;`).
- **Duplicate Label Fix**: απλοποιεί επαναλαμβανόμενες ετικέτες σε αγκύλες (π.χ. `Node["Label"]["Label"]` -> `Node["Label"]`).
- **Invalid Arrow Fix**: μετατρέπει την άκυρη σύνταξη βέλους `--|>` στο τυπικό `-->`.
- **Robust Label & Note Handling**: βελτιωμένος χειρισμός για ετικέτες με ειδικούς χαρακτήρες (όπως `/`) και καλύτερη υποστήριξη για προσαρμοσμένη σύνταξη σημειώσεων (`note for ...`), διασφαλίζοντας ότι τα κατάλοιπα όπως περιττές αγκύλες αφαιρούνται καθαρά.
- **Advanced Fix Mode**: περιλαμβάνει ισχυρές διορθώσεις για ετικέτες κόμβων χωρίς εισαγωγικά που περιέχουν κενά, ειδικούς χαρακτήρες ή εμφωλευμένες αγκύλες (π.χ. `Node[Label [Text]]` -> `Node["Label [Text]"]`), διασφαλίζοντας συμβατότητα με σύνθετα διαγράμματα όπως μονοπάτια Stellar Evolution. Επίσης διορθώνει κακοσχηματισμένες ετικέτες ακμών (π.χ. `--["Label["-->` σε `-- "Label" -->`). Επιπλέον μετατρέπει inline σχόλια (`Consensus --> Adaptive; # Some advanced consensus` σε `Consensus -- "Some advanced consensus" --> Adaptive`) και διορθώνει ατελή εισαγωγικά στο τέλος γραμμών (το `;"` στο τέλος αντικαθίσταται με `"]`).
- **Note Conversion**: μετατρέπει αυτόματα τα `note right/left of` και τα αυτόνομα `note :` σχόλια σε τυπικούς Mermaid ορισμούς κόμβων και συνδέσεις (π.χ. `note right of A: text` γίνεται `NoteA["Note: text"]` συνδεδεμένο με το `A`), αποτρέποντας συντακτικά σφάλματα και βελτιώνοντας τη διάταξη. Υποστηρίζει πλέον τόσο συνδέσεις με βέλος (`-->`) όσο και συμπαγείς συνδέσεις (`---`).
- **Extended Note Support**: μετατρέπει αυτόματα τα `note for Node "Content"` και `note of Node "Content"` σε τυπικούς συνδεδεμένους note κόμβους (π.χ. `NoteNode[" Content"]` συνδεδεμένο με `Node`), εξασφαλίζοντας συμβατότητα με συντακτικό που έχει επεκταθεί από τον χρήστη.
- **Enhanced Note Correction**: μετονομάζει αυτόματα note κόμβους με σειριακή αρίθμηση (π.χ. `Note1`, `Note2`) ώστε να αποτρέπεται η σύγχυση ψευδωνύμων όταν υπάρχουν πολλές σημειώσεις. - **Parallelogram/Shape Fix**: διορθώνει κακοσχηματισμένα σχήματα κόμβων όπως `[/["Label["/]` στο τυπικό `["Label"]`, διασφαλίζοντας συμβατότητα με το παραγόμενο περιεχόμενο.
- **Standardize Pipe Labels**: διορθώνει και τυποποιεί αυτόματα ετικέτες ακμών που περιέχουν pipes, διασφαλίζοντας ότι περιβάλλονται σωστά από εισαγωγικά (π.χ. `-->|Text|` γίνεται `-->|"Text"|` και `-->|Math|^2|` γίνεται `-->|"Math|^2"|`).
- **Misplaced Pipe Fix**: διορθώνει ετικέτες ακμών που εμφανίζονται λανθασμένα πριν από το βέλος (π.χ. `>|"Label"| A --> B` γίνεται `A -->|"Label"| B`).
- **Merge Double Labels**: ανιχνεύει και συγχωνεύει σύνθετες διπλές ετικέτες στην ίδια ακμή (π.χ. `A -- Label1 -- Label2 --> B` ή `A -- Label1 -- Label2 --- B`) σε μία καθαρή ετικέτα με αλλαγές γραμμής (`A -- "Label1<br>Label2" --> B`).
- **Unquoted Label Fix**: βάζει αυτόματα σε εισαγωγικά ετικέτες κόμβων που περιέχουν δυνητικά προβληματικούς χαρακτήρες (π.χ. εισαγωγικά, σύμβολα ίσον, μαθηματικούς τελεστές) αλλά δεν έχουν εξωτερικά εισαγωγικά (π.χ. `Plot[Plot "A"]` γίνεται `Plot["Plot "A""]`), αποτρέποντας σφάλματα απόδοσης.
- **Intermediate Node Fix**: χωρίζει ακμές που περιέχουν ορισμό ενδιάμεσου κόμβου σε δύο ξεχωριστές ακμές (π.χ. `A -- B[...] --> C` γίνεται `A --> B[...]` και `B[...] --> C`), εξασφαλίζοντας έγκυρη σύνταξη Mermaid.
- **Concatenated Label Fix**: διορθώνει με ανθεκτικό τρόπο ορισμούς κόμβων όπου το ID είναι συγκολλημένο με την ετικέτα (π.χ. `SubdivideSubdivide...` γίνεται `Subdivide["Subdivide..."]`), ακόμη και όταν προηγούνται pipe labels ή όταν η επανάληψη δεν είναι ακριβής, μέσω επικύρωσης με γνωστά node IDs.
- **Extract Specific Original Text**: - Ορίστε μια λίστα ερωτήσεων στις ρυθμίσεις.
- Εξάγει κατά λέξη τμήματα κειμένου από την ενεργή σημείωση που απαντούν σε αυτές τις ερωτήσεις.
- **Merged Query Mode**: επιλογή επεξεργασίας όλων των ερωτήσεων σε μία μόνο κλήση API για μεγαλύτερη αποδοτικότητα.
- **Translation**: επιλογή να συμπεριληφθούν μεταφράσεις του εξαγμένου κειμένου στην έξοδο.
- **Custom Output**: ρυθμιζόμενη διαδρομή αποθήκευσης και suffix ονόματος αρχείου για το εξαγμένο αρχείο κειμένου.- **LLM Connection Test**: επαληθεύει τις ρυθμίσεις API για τον ενεργό πάροχο.
## Εγκατάσταση
<img width="819" height="733" alt="Install" src="https://github.com/user-attachments/assets/f1733532-68fd-4c47-86b4-6fcc185e3f66" />
### Από το Obsidian Marketplace (προτείνεται)
1. Ανοίξτε στο Obsidian το **Settings** -> **Community plugins**.
2. Βεβαιωθείτε ότι το "Restricted mode" είναι **απενεργοποιημένο**.
3. Κάντε κλικ στο **Browse** για τα community plugins και αναζητήστε το "Notemd".
4. Κάντε κλικ στο **Install**.
5. Μόλις εγκατασταθεί, κάντε κλικ στο **Enable**.
### Χειροκίνητη εγκατάσταση
1. Κατεβάστε τα πιο πρόσφατα release assets από τη [σελίδα GitHub Releases](https://github.com/Jacobinwwey/obsidian-NotEMD/releases). Κάθε release περιλαμβάνει επίσης το `README.md` για αναφορά μέσα στο πακέτο, αλλά για χειροκίνητη εγκατάσταση απαιτούνται μόνο τα `main.js`, `styles.css` και `manifest.json`.
2. Μεταβείτε στον φάκελο ρυθμίσεων του Obsidian vault σας: `<YourVault>/.obsidian/plugins/`.
3. Δημιουργήστε έναν νέο φάκελο με όνομα `notemd`.
4. Αντιγράψτε τα `main.js`, `styles.css` και `manifest.json` μέσα στον φάκελο `notemd`.
5. Επανεκκινήστε το Obsidian.
6. Μεταβείτε στο **Settings** -> **Community plugins** και ενεργοποιήστε το "Notemd".
## Διαμόρφωση
Η πρόσβαση στις ρυθμίσεις του πρόσθετου γίνεται μέσω:
**Settings** -> **Community Plugins** -> **Notemd** (κάντε κλικ στο εικονίδιο με το γρανάζι).
### Διαμόρφωση παρόχου LLM
1. **Ενεργός πάροχος**: επιλέξτε τον πάροχο LLM που θέλετε να χρησιμοποιήσετε από το αναπτυσσόμενο μενού.
2. **Ρυθμίσεις παρόχου**: διαμορφώστε τις συγκεκριμένες ρυθμίσεις για τον επιλεγμένο πάροχο:
* **API Key**: απαιτείται για τους περισσότερους παρόχους cloud (π.χ. OpenAI, Anthropic, DeepSeek, Qwen, Qwen Code, Doubao, Moonshot, GLM, Z AI, MiniMax, Huawei Cloud MaaS, Baidu Qianfan, SiliconFlow, Google, Mistral, Azure OpenAI, OpenRouter, xAI, Groq, Together, Fireworks, Requesty). Δεν απαιτείται για Ollama. Είναι προαιρετικό για LM Studio και για το γενικό preset `OpenAI Compatible` όταν το endpoint σας δέχεται ανώνυμη ή placeholder πρόσβαση.
* **Base URL / Endpoint**: το API endpoint της υπηρεσίας. Παρέχονται προεπιλεγμένες τιμές, αλλά ίσως χρειαστεί να το αλλάξετε για τοπικά μοντέλα (LMStudio, Ollama), gateway (OpenRouter, Requesty, OpenAI Compatible) ή συγκεκριμένα Azure deployments. **Απαιτείται για Azure OpenAI.**
* **Model**: το συγκεκριμένο όνομα/ID μοντέλου που θα χρησιμοποιηθεί (π.χ. `gpt-4o`, `claude-3-5-sonnet-20240620`, `google/gemini-flash-1.5`, `grok-4`, `moonshotai/kimi-k2-instruct-0905`, `accounts/fireworks/models/kimi-k2p5`, `anthropic/claude-3-7-sonnet-latest`). Βεβαιωθείτε ότι το μοντέλο είναι διαθέσιμο στο endpoint ή στον πάροχό σας.
* **Temperature**: ελέγχει την τυχαιότητα της εξόδου του LLM (0 = ντετερμινιστικό, 1 = μέγιστη δημιουργικότητα). Οι χαμηλότερες τιμές (π.χ. 0.2-0.5) είναι συνήθως καλύτερες για δομημένες εργασίες.
* **API Version (Azure Only)**: απαιτείται για Azure OpenAI deployments (π.χ. `2024-02-15-preview`).
3. **Έλεγχος σύνδεσης**: χρησιμοποιήστε το κουμπί "Έλεγχος σύνδεσης" για τον ενεργό πάροχο ώστε να επαληθεύσετε τις ρυθμίσεις σας. Οι OpenAI-compatible πάροχοι χρησιμοποιούν πλέον ελέγχους με επίγνωση παρόχου: endpoint όπως `Qwen`, `Qwen Code`, `Doubao`, `Moonshot`, `GLM`, `Z AI`, `MiniMax`, `Huawei Cloud MaaS`, `Baidu Qianfan`, `SiliconFlow`, `Groq`, `Together`, `Fireworks`, `LMStudio` και `OpenAI Compatible` δοκιμάζουν απευθείας το `chat/completions`, ενώ πάροχοι με αξιόπιστο `/models` endpoint μπορούν ακόμη να χρησιμοποιούν αρχικά λίστα μοντέλων. Αν η πρώτη δοκιμή αποτύχει με παροδική αποσύνδεση δικτύου όπως `ERR_CONNECTION_CLOSED`, το Notemd μεταπίπτει αυτόματα στην ακολουθία σταθερής επανάληψης αντί να αποτύχει αμέσως.
4. **Διαχείριση ρυθμίσεων παρόχων**: χρησιμοποιήστε τα κουμπιά "Export Providers" και "Import Providers" για να αποθηκεύσετε/φορτώσετε τις ρυθμίσεις παρόχων LLM σε/από αρχείο `notemd-providers.json` μέσα στον κατάλογο ρυθμίσεων του πρόσθετου. Αυτό επιτρέπει εύκολο backup και κοινή χρήση.
5. **Κάλυψη προρυθμίσεων**: εκτός από τους αρχικούς παρόχους, το Notemd περιλαμβάνει πλέον προκαθορισμένες εγγραφές για `Qwen`, `Qwen Code`, `Doubao`, `Moonshot`, `GLM`, `Z AI`, `MiniMax`, `Huawei Cloud MaaS`, `Baidu Qianfan`, `SiliconFlow`, `xAI`, `Groq`, `Together`, `Fireworks`, `Requesty`, καθώς και έναν γενικό στόχο `OpenAI Compatible` για LiteLLM, vLLM, Perplexity, Vercel AI Gateway ή προσαρμοσμένα proxy.
<img width="804" height="506" alt="LLM" src="https://github.com/user-attachments/assets/8caf42e3-43ad-456d-8b96-b63e7914e45f" />
### Διαμόρφωση πολλαπλών μοντέλων
- **Χρησιμοποιήστε διαφορετικούς παρόχους για εργασίες**:
* **Απενεργοποιημένο (προεπιλογή)**: χρησιμοποιεί τον μοναδικό "ενεργό πάροχο" (που επιλέξατε παραπάνω) για όλες τις εργασίες.
* **Ενεργοποιημένο**: σας επιτρέπει να επιλέξετε συγκεκριμένο πάροχο *και* προαιρετικά να παρακάμψετε το όνομα μοντέλου για κάθε εργασία ("Add Links", "Research & Summarize", "Generate from Title", "Translate", "Extract Concepts"). Αν το πεδίο παράκαμψης μοντέλου για μια εργασία μείνει κενό, θα χρησιμοποιηθεί το προεπιλεγμένο μοντέλο του παρόχου που έχει επιλεγεί για αυτήν την εργασία.
- **Επιλέξτε διαφορετικές γλώσσες για διαφορετικές εργασίες**:
* **Απενεργοποιημένο (προεπιλογή)**: χρησιμοποιεί μία ενιαία "γλώσσα εξόδου" για όλες τις εργασίες.
* **Ενεργοποιημένο**: σας επιτρέπει να επιλέξετε συγκεκριμένη γλώσσα για κάθε εργασία ("Add Links", "Research & Summarize", "Generate from Title", "Summarise as Mermaid diagram", "Extract Concepts").
<img width="817" height="428" alt="Multi-model" src="https://github.com/user-attachments/assets/85e6b854-c0ca-45cc-a55e-24638dceb120" />
### Αρχιτεκτονική γλώσσας (γλώσσα διεπαφής και γλώσσα εξόδου εργασιών)
- Το **γλώσσα διεπαφής** ελέγχει μόνο το κείμενο του UI του πρόσθετου (ετικέτες ρυθμίσεων, κουμπιά πλευρικής στήλης, ειδοποιήσεις και διαλόγους). Η προεπιλεγμένη λειτουργία `auto` ακολουθεί την τρέχουσα γλώσσα UI του Obsidian.
- Οι περιφερειακές και οι γραφικές παραλλαγές αντιστοιχίζονται πλέον στον πλησιέστερο δημοσιευμένο κατάλογο αντί να πέφτουν κατευθείαν στα αγγλικά. Για παράδειγμα, το `fr-CA` χρησιμοποιεί γαλλικά, το `es-419` ισπανικά, το `pt-PT` πορτογαλικά, το `zh-Hans` απλοποιημένα κινεζικά και το `zh-Hant-HK` παραδοσιακά κινεζικά.
- Το **γλώσσα εξόδου εργασιών** ελέγχει την έξοδο που παράγεται από το μοντέλο για εργασίες (σύνδεσμοι, περιλήψεις, παραγωγή τίτλων, σύνοψη Mermaid, εξαγωγή εννοιών, γλώσσα στόχος μετάφρασης).
- Το **Per-task language mode** επιτρέπει σε κάθε εργασία να επιλύει τη δική της γλώσσα εξόδου από ένα ενιαίο επίπεδο πολιτικής αντί για διάσπαρτες παρακάμψεις ανά module.
- Το **Απενεργοποίηση αυτόματης μετάφρασης** διατηρεί τις εργασίες εκτός `Translate` στο πλαίσιο της γλώσσας προέλευσης, ενώ οι ρητές εργασίες `Translate` εξακολουθούν να επιβάλλουν τη διαμορφωμένη γλώσσα στόχο.
- Οι διαδρομές παραγωγής που σχετίζονται με Mermaid ακολουθούν την ίδια γλωσσική πολιτική και μπορούν ακόμη να ενεργοποιούν το Mermaid auto-fix όταν είναι ενεργοποιημένο.
### Ρυθμίσεις σταθερών κλήσεων API
- **Ενεργοποιήστε σταθερές κλήσεις API (λογική επανάληψης)**:
* **Απενεργοποιημένο (προεπιλογή)**: μία μόνο αποτυχία κλήσης API θα σταματήσει την τρέχουσα εργασία.
* **Ενεργοποιημένο**: επαναλαμβάνει αυτόματα αποτυχημένες κλήσεις API LLM (χρήσιμο για διαλείπουσες δικτυακές αστοχίες ή rate limits).
* **Connection Test Fallback**: ακόμη κι όταν οι κανονικές κλήσεις δεν τρέχουν ήδη σε stable mode, τα τεστ σύνδεσης παρόχων περνούν τώρα στην ίδια ακολουθία επαναλήψεων μετά το πρώτο παροδικό σφάλμα δικτύου.
* **Runtime Transport Fallback (Environment-Aware)**: τα αιτήματα εργασιών μεγάλης διάρκειας που απορρίπτονται παροδικά από το `requestUrl` επαναλαμβάνουν τώρα πρώτα την ίδια προσπάθεια μέσω μιας εναλλακτικής μεταφοράς με επίγνωση περιβάλλοντος. Οι desktop build εκδόσεις χρησιμοποιούν Node `http/https`, ενώ τα μη desktop περιβάλλοντα χρησιμοποιούν browser `fetch`. Οι εναλλακτικές αυτές προσπάθειες χρησιμοποιούν πλέον stream parsing με επίγνωση πρωτοκόλλου σε όλες τις ενσωματωμένες LLM διαδρομές, καλύπτοντας OpenAI-compatible SSE, Azure OpenAI SSE, Anthropic Messages SSE, Google Gemini SSE και Ollama NDJSON output, ώστε τα αργά gateway να μπορούν να επιστρέφουν νωρίτερα τμήματα σώματος. Τα υπόλοιπα direct OpenAI-style provider entrypoints επαναχρησιμοποιούν την ίδια κοινή fallback διαδρομή.
* **OpenAI-Compatible Stable Order**: σε stable mode, κάθε OpenAI-compatible προσπάθεια ακολουθεί πλέον τη σειρά `direct streaming -> direct non-stream -> requestUrl (with streamed fallback when needed)` πριν μετρήσει ως αποτυχημένη προσπάθεια. Αυτό αποτρέπει υπερβολικά επιθετικές αποτυχίες όταν μόνο ένας τρόπος μεταφοράς είναι ασταθής.
- **Retry Interval (seconds)**: (ορατό μόνο όταν είναι ενεργοποιημένο) χρόνος αναμονής μεταξύ προσπαθειών επανάληψης (1-300 δευτερόλεπτα). Προεπιλογή: 5.
- **Maximum Retries**: (ορατό μόνο όταν είναι ενεργοποιημένο) μέγιστος αριθμός προσπαθειών επανάληψης (0-10). Προεπιλογή: 3.
- **Λειτουργία αποσφαλμάτωσης σφαλμάτων API**:
* **Απενεργοποιημένο (προεπιλογή)**: χρησιμοποιεί τυπική, συνοπτική αναφορά σφαλμάτων.
* **Ενεργοποιημένο**: ενεργοποιεί λεπτομερή καταγραφή σφαλμάτων (παρόμοια με το verbose output του DeepSeek) για όλους τους παρόχους και όλες τις εργασίες (συμπεριλαμβανομένων των Translate, Search και Connection Tests). Αυτό περιλαμβάνει HTTP status codes, raw response text, request transport timelines, καθαρισμένα request URLs και headers, διάρκειες προσπαθειών, response headers, partial response bodies, parsed partial stream output και ίχνη στοίβας, κάτι κρίσιμο για αντιμετώπιση προβλημάτων σύνδεσης API και reset σε upstream gateway.
- **Developer Mode**:
* **Απενεργοποιημένο (προεπιλογή)**: αποκρύπτει όλα τα διαγνωστικά στοιχεία μόνο για προγραμματιστές από τους κανονικούς χρήστες.
* **Ενεργοποιημένο**: εμφανίζει αφιερωμένο πίνακα διαγνωστικών προγραμματιστή στις Settings.
- **Developer Provider Diagnostic (Long Request)**:
* **Diagnostic Call Mode**: επιλέξτε τη διαδρομή εκτέλεσης ανά δοκιμή. Οι OpenAI-compatible πάροχοι υποστηρίζουν επιπλέον forced modes (`direct streaming`, `direct buffered`, `requestUrl-only`) πέρα από τα runtime modes.
* **Run Diagnostic**: εκτελεί μία δοκιμή μεγάλου αιτήματος με τον επιλεγμένο τρόπο κλήσης και γράφει `Notemd_Provider_Diagnostic_*.txt` στη ρίζα του vault.
* **Run Stability Test**: επαναλαμβάνει τη δοκιμή για διαμορφώσιμο αριθμό εκτελέσεων (1-10) χρησιμοποιώντας τον επιλεγμένο τρόπο κλήσης και αποθηκεύει συγκεντρωτική αναφορά σταθερότητας.
* **Diagnostic Timeout**: διαμορφώσιμο timeout ανά εκτέλεση (15-3600 δευτερόλεπτα).
* **Why Use It**: ταχύτερο από τη χειροκίνητη αναπαραγωγή όταν ένας πάροχος περνά το "Test connection" αλλά αποτυγχάνει σε πραγματικές μακρόχρονες εργασίες (για παράδειγμα, μετάφραση σε αργά gateway).
<img width="805" height="187" alt="stable API calls" src="https://github.com/user-attachments/assets/936454a7-b657-413c-8a2a-13d517f9c519" />
### Γενικές ρυθμίσεις
#### Έξοδος επεξεργασμένου αρχείου
- **Customize Processed File Save Path**:
* **Απενεργοποιημένο (προεπιλογή)**: τα επεξεργασμένα αρχεία (π.χ. `YourNote_processed.md`) αποθηκεύονται στον *ίδιο φάκελο* με την αρχική σημείωση.
* **Ενεργοποιημένο**: σας επιτρέπει να καθορίσετε προσαρμοσμένη τοποθεσία αποθήκευσης.
- **Processed File Folder Path**: (ορατό μόνο όταν η παραπάνω επιλογή είναι ενεργοποιημένη) εισαγάγετε μια *σχετική διαδρομή* μέσα στο vault σας (π.χ. `Processed Notes` ή `Output/LLM`) όπου θα αποθηκεύονται τα επεξεργασμένα αρχεία. Οι φάκελοι θα δημιουργηθούν αν δεν υπάρχουν. **Μην χρησιμοποιείτε απόλυτες διαδρομές (όπως C:\...) ή μη έγκυρους χαρακτήρες.**
- **Use Custom Output Filename for 'Add Links'**:
* **Απενεργοποιημένο (προεπιλογή)**: τα επεξεργασμένα αρχεία που δημιουργούνται από την εντολή 'Add Links' χρησιμοποιούν το προεπιλεγμένο suffix `_processed.md` (π.χ. `YourNote_processed.md`).
* **Ενεργοποιημένο**: σας επιτρέπει να προσαρμόσετε το όνομα αρχείου εξόδου μέσω της παρακάτω ρύθμισης.
- **Custom Suffix/Replacement String**: (ορατό μόνο όταν η παραπάνω επιλογή είναι ενεργοποιημένη) εισαγάγετε το string που θα χρησιμοποιηθεί για το όνομα αρχείου εξόδου.
* Αν παραμείνει **κενό**, το αρχικό αρχείο θα **αντικατασταθεί** με το επεξεργασμένο περιεχόμενο.
* Αν εισαγάγετε ένα string (π.χ. `_linked`), θα προστεθεί στο αρχικό βασικό όνομα (π.χ. `YourNote_linked.md`). Βεβαιωθείτε ότι το suffix δεν περιέχει μη έγκυρους χαρακτήρες ονόματος αρχείου.
- **Remove Code Fences on Add Links**:
* **Απενεργοποιημένο (προεπιλογή)**: τα code fences **(\`\\\`\`)** διατηρούνται στο περιεχόμενο όταν προστίθενται σύνδεσμοι, και το **(\`\\\`markdown)** διαγράφεται αυτόματα.
* **Ενεργοποιημένο**: αφαιρεί τα code fences από το περιεχόμενο πριν από την προσθήκη συνδέσμων.
<img width="799" height="301" alt="Processed file output" src="https://github.com/user-attachments/assets/65d4e864-ff5f-402a-be90-e9c44b208903" />
#### Έξοδος σημειώματος εννοιών
- **Customize Concept Note Path**:
* **Απενεργοποιημένο (προεπιλογή)**: η αυτόματη δημιουργία σημειώσεων για `[[linked concepts]]` είναι απενεργοποιημένη.
* **Ενεργοποιημένο**: σας επιτρέπει να καθορίσετε φάκελο στον οποίο θα δημιουργούνται νέα concept notes.
- **Concept Note Folder Path**: (ορατό μόνο όταν η παραπάνω προσαρμογή είναι ενεργοποιημένη) εισαγάγετε μια *σχετική διαδρομή* μέσα στο vault σας (π.χ. `Concepts` ή `Generated/Topics`) όπου θα αποθηκεύονται τα νέα concept notes. Οι φάκελοι θα δημιουργηθούν αν δεν υπάρχουν. **Πρέπει να συμπληρωθεί αν η προσαρμογή είναι ενεργοποιημένη.** **Μην χρησιμοποιείτε απόλυτες διαδρομές ή μη έγκυρους χαρακτήρες.**
<img width="800" height="145" alt="concept note output" src="https://github.com/user-attachments/assets/d0338341-7d67-4472-964c-75a0992165b8" />
#### Έξοδος αρχείου καταγραφής εννοιών
- **Generate Concept Log File**:
* **Απενεργοποιημένο (προεπιλογή)**: δεν δημιουργείται αρχείο καταγραφής.
* **Ενεργοποιημένο**: δημιουργεί αρχείο καταγραφής που απαριθμεί τα νέα concept notes μετά την επεξεργασία. Η μορφή είναι:
```
δημιουργία xx αρχείων md εννοιών
1. concepts1
2. concepts2
...
n. conceptsn
```
- **Customize Log File Save Path**: (ορατό μόνο όταν το "Generate Concept Log File" είναι ενεργοποιημένο)
* **Απενεργοποιημένο (προεπιλογή)**: το αρχείο καταγραφής αποθηκεύεται στο **Concept Note Folder Path** (αν έχει οριστεί) ή αλλιώς στη ρίζα του vault.
* **Ενεργοποιημένο**: σας επιτρέπει να ορίσετε προσαρμοσμένο φάκελο για το αρχείο καταγραφής.
- **Concept Log Folder Path**: (ορατό μόνο όταν το "Customize Log File Save Path" είναι ενεργοποιημένο) εισαγάγετε μια *σχετική διαδρομή* μέσα στο vault σας (π.χ. `Logs/Notemd`) όπου θα αποθηκεύεται το αρχείο καταγραφής. **Πρέπει να συμπληρωθεί αν η προσαρμογή είναι ενεργοποιημένη.**
- **Customize Log File Name**: (ορατό μόνο όταν το "Generate Concept Log File" είναι ενεργοποιημένο)
* **Απενεργοποιημένο (προεπιλογή)**: το αρχείο καταγραφής ονομάζεται `Generate.log`.
* **Ενεργοποιημένο**: σας επιτρέπει να καθορίσετε προσαρμοσμένο όνομα για το αρχείο καταγραφής.
- **Concept Log File Name**: (ορατό μόνο όταν το "Customize Log File Name" είναι ενεργοποιημένο) εισαγάγετε το επιθυμητό όνομα αρχείου (π.χ. `ConceptCreation.log`). **Πρέπει να συμπληρωθεί αν η προσαρμογή είναι ενεργοποιημένη.**
<img width="809" height="281" alt="Concept log file output" src="https://github.com/user-attachments/assets/eef6f5d5-592d-4b8f-84b1-7404521a6e9b" />
#### Εργασία εξαγωγής εννοιών
- **Δημιουργία ελάχιστων σημειώσεων εννοιών**:
* **On (Default)**: τα νεοδημιουργημένα concept notes θα περιέχουν μόνο τον τίτλο (π.χ. `# Concept`).
* **Off**: τα concept notes μπορεί να περιλαμβάνουν πρόσθετο περιεχόμενο, όπως backlink "Linked From", εφόσον αυτό δεν έχει απενεργοποιηθεί από την παρακάτω ρύθμιση.
- **Add "Linked From" backlink**:
* **Off (Default)**: δεν προσθέτει backlink προς το αρχικό έγγραφο στο concept note κατά την εξαγωγή.
* **On**: προσθέτει ενότητα "Linked From" με backlink προς το αρχείο προέλευσης.
#### Εξαγωγή συγκεκριμένου πρωτότυπου κειμένου
- **Questions for extraction**: εισαγάγετε λίστα ερωτήσεων (μία ανά γραμμή) για τις οποίες θέλετε το AI να εξάγει κατά λέξη απαντήσεις από τις σημειώσεις σας.
- **Translate output to corresponding language**:
* **Off (Default)**: παράγει μόνο το εξαγμένο κείμενο στην αρχική του γλώσσα.
* **On**: προσθέτει μετάφραση του εξαγμένου κειμένου στη γλώσσα που έχει επιλεγεί για αυτήν την εργασία.
- **Merged query mode**:
* **Off**: επεξεργάζεται κάθε ερώτηση ξεχωριστά (μεγαλύτερη ακρίβεια αλλά περισσότερες κλήσεις API).
* **On**: στέλνει όλες τις ερωτήσεις σε ένα μόνο prompt (γρηγορότερα και με λιγότερες κλήσεις API).
- **Customise extracted text save path & filename**:
* **Off**: αποθηκεύει στον ίδιο φάκελο με το αρχικό αρχείο με suffix `_Extracted`.
* **On**: σας επιτρέπει να ορίσετε προσαρμοσμένο φάκελο εξόδου και suffix ονόματος αρχείου.
#### Μαζική διόρθωση Mermaid
- **Enable Mermaid Error Detection**:
* **Off (Default)**: η ανίχνευση σφαλμάτων παραλείπεται μετά την επεξεργασία.
* **On**: σαρώνει τα επεξεργασμένα αρχεία για εναπομείναντα συντακτικά σφάλματα Mermaid και δημιουργεί αναφορά `mermaid_error_{foldername}.md`.
- **Move files with Mermaid errors to specified folder**:
* **Off**: τα αρχεία με σφάλματα παραμένουν στη θέση τους.
* **On**: μετακινεί τα αρχεία που εξακολουθούν να περιέχουν συντακτικά σφάλματα Mermaid μετά την προσπάθεια διόρθωσης σε ειδικό φάκελο για χειροκίνητο έλεγχο.
- **Mermaid error folder path**: (ορατό αν το παραπάνω είναι ενεργοποιημένο) ο φάκελος στον οποίο μετακινούνται τα αρχεία με σφάλματα.
#### Παράμετροι επεξεργασίας
- **Enable Batch Parallelism**:
* **Απενεργοποιημένο (προεπιλογή)**: οι εργασίες μαζικής επεξεργασίας (όπως "Process Folder" ή "Batch Generate from Titles") επεξεργάζονται τα αρχεία ένα-ένα (σειριακά).
* **Ενεργοποιημένο**: επιτρέπει στο πρόσθετο να επεξεργάζεται πολλά αρχεία ταυτόχρονα, κάτι που μπορεί να επιταχύνει σημαντικά μεγάλες μαζικές εργασίες.
- **Batch Concurrency**: (ορατό μόνο όταν η παραλληλία είναι ενεργοποιημένη) καθορίζει τον μέγιστο αριθμό αρχείων που επεξεργάζονται παράλληλα. Μεγαλύτερος αριθμός μπορεί να είναι ταχύτερος, αλλά χρησιμοποιεί περισσότερους πόρους και μπορεί να προσκρούσει σε API rate limits. (Προεπιλογή: 1, Εύρος: 1-20)
- **Batch Size**: (ορατό μόνο όταν η παραλληλία είναι ενεργοποιημένη) ο αριθμός αρχείων που ομαδοποιούνται σε ένα μόνο batch. (Προεπιλογή: 50, Εύρος: 10-200)
- **Delay Between Batches (ms)**: (ορατό μόνο όταν η παραλληλία είναι ενεργοποιημένη) προαιρετική καθυστέρηση σε milliseconds μεταξύ της επεξεργασίας κάθε batch, που μπορεί να βοηθήσει στη διαχείριση API rate limits. (Προεπιλογή: 1000ms)
- **API Call Interval (ms)**: ελάχιστη καθυστέρηση σε milliseconds *πριν και μετά* από κάθε μεμονωμένη κλήση API του LLM. Κρίσιμο για API με χαμηλά όρια ή για αποφυγή σφαλμάτων 429. Θέστε το στο 0 αν δεν θέλετε τεχνητή καθυστέρηση. (Προεπιλογή: 500ms)
- **Chunk Word Count**: μέγιστος αριθμός λέξεων ανά τμήμα που αποστέλλεται στο LLM. Επηρεάζει τον αριθμό των API calls για μεγάλα αρχεία. (Προεπιλογή: 3000)
- **Enable Duplicate Detection**: ενεργοποιεί/απενεργοποιεί τον βασικό έλεγχο διπλών λέξεων στο επεξεργασμένο περιεχόμενο (αποτελέσματα στην κονσόλα). (Προεπιλογή: Ενεργό)
- **Max Tokens**: μέγιστος αριθμός token που θα πρέπει να δημιουργεί το LLM ανά τμήμα απόκρισης. Επηρεάζει το κόστος και τη λεπτομέρεια. (Προεπιλογή: 4096)
<img width="795" height="274" alt="Processing Parameters Language settings" src="https://github.com/user-attachments/assets/74e4af76-3333-48fc-bb86-0a3ee61825d1" />
#### Μετάφραση
- **Default Target Language**: επιλέξτε την προεπιλεγμένη γλώσσα στην οποία θέλετε να μεταφράζονται οι σημειώσεις σας. Αυτό μπορεί να παρακαμφθεί από το UI όταν εκτελείτε την εντολή μετάφρασης. (Προεπιλογή: English)
- **Customise Translation File Save Path**:
* **Απενεργοποιημένο (προεπιλογή)**: τα μεταφρασμένα αρχεία αποθηκεύονται στον *ίδιο φάκελο* με την αρχική σημείωση.
* **Ενεργοποιημένο**: σας επιτρέπει να ορίσετε *σχετική διαδρομή* μέσα στο vault σας (π.χ. `Translations`) όπου θα αποθηκεύονται τα μεταφρασμένα αρχεία. Οι φάκελοι θα δημιουργηθούν αν δεν υπάρχουν.
- **Use custom suffix for translated files**:
* **Απενεργοποιημένο (προεπιλογή)**: τα μεταφρασμένα αρχεία χρησιμοποιούν το προεπιλεγμένο suffix `_translated.md` (π.χ. `YourNote_translated.md`).
* **Ενεργοποιημένο**: σας επιτρέπει να ορίσετε προσαρμοσμένο suffix.
- **Custom Suffix**: (ορατό μόνο όταν η παραπάνω επιλογή είναι ενεργοποιημένη) εισαγάγετε το προσαρμοσμένο suffix που θα προστίθεται στα μεταφρασμένα ονόματα αρχείων (π.χ. `_es` ή `_fr`).
<img width="811" height="243" alt="translate" src="https://github.com/user-attachments/assets/57d21a72-e86c-4369-8be5-fd18cb734e2b" />
#### Δημιουργία περιεχομένου
- **Enable Research in "Generate from Title"**:
* **Απενεργοποιημένο (προεπιλογή)**: το "Generate from Title" χρησιμοποιεί μόνο τον τίτλο ως είσοδο.
* **Ενεργοποιημένο**: εκτελεί έρευνα ιστού χρησιμοποιώντας τον διαμορφωμένο **Web Research Provider** και συμπεριλαμβάνει τα ευρήματα ως συμφραζόμενο για το LLM κατά τη δημιουργία βάσει τίτλου.
- **Auto-run Mermaid Syntax Fix after Generation**:
* **Ενεργοποιημένο (προεπιλογή)**: εκτελεί αυτόματα ένα πέρασμα διόρθωσης σύνταξης Mermaid μετά από ροές εργασίας σχετικές με Mermaid, όπως Process, Generate from Title, Batch Generate from Titles, Research & Summarize, Summarise as Mermaid και Translate.
* **Απενεργοποιημένο**: αφήνει την παραγόμενη Mermaid έξοδο ανέγγιχτη εκτός αν εκτελέσετε χειροκίνητα το `Batch Mermaid Fix` ή το προσθέσετε σε προσαρμοσμένη ροή εργασίας.
- **Output Language**: (νέο) επιλέξτε την επιθυμητή γλώσσα εξόδου για τις εργασίες "Generate from Title" και "Batch Generate from Title".
* **English (Default)**: τα prompts επεξεργάζονται και η έξοδος παράγεται στα Αγγλικά.
* **Other Languages**: το LLM καθοδηγείται να σκέφτεται στα Αγγλικά αλλά να παράγει την τελική τεκμηρίωση στην επιλεγμένη γλώσσα (π.χ. Español, Français, 简体中文, 繁體中文, العربية, हिन्दी κ.λπ.).
- **Change Prompt Word**: (νέο)
* **Change Prompt Word**: σας επιτρέπει να αλλάξετε τη λέξη prompt για συγκεκριμένη εργασία.
* **Custom Prompt Word**: εισαγάγετε τη δική σας προσαρμοσμένη λέξη prompt για την εργασία.
- **Use Custom Output Folder for 'Generate from Title'**:
* **Απενεργοποιημένο (προεπιλογή)**: τα επιτυχώς παραγόμενα αρχεία μετακινούνται σε υποφάκελο με όνομα `[OriginalFolderName]_complete` σε σχέση με τον γονικό φάκελο του αρχικού φακέλου (ή `Vault_complete` αν ο αρχικός φάκελος ήταν η ρίζα).
* **Ενεργοποιημένο**: σας επιτρέπει να ορίσετε προσαρμοσμένο όνομα για τον υποφάκελο όπου μετακινούνται τα ολοκληρωμένα αρχεία.
- **Custom Output Folder Name**: (ορατό μόνο όταν η παραπάνω επιλογή είναι ενεργοποιημένη) εισαγάγετε το επιθυμητό όνομα για τον υποφάκελο (π.χ. `Generated Content`, `_complete`). Δεν επιτρέπονται μη έγκυροι χαρακτήρες. Από προεπιλογή είναι `_complete` αν μείνει κενό. Αυτός ο φάκελος δημιουργείται σε σχέση με τον γονικό κατάλογο του αρχικού φακέλου.
#### Κουμπιά ροής εργασίας με ένα κλικ
- **Visual Workflow Builder**: δημιουργήστε προσαρμοσμένα κουμπιά ροής εργασίας από ενσωματωμένες ενέργειες χωρίς να γράφετε το DSL με το χέρι.
- **Custom Workflow Buttons DSL**: οι προχωρημένοι χρήστες μπορούν να επεξεργαστούν απευθείας το κείμενο ορισμού της ροής εργασίας. Μη έγκυρο DSL επαναφέρει με ασφάλεια την προεπιλεγμένη ροή εργασίας και εμφανίζει προειδοποίηση στο UI της πλευρικής στήλης/ρυθμίσεων.
- **Workflow Error Strategy**:
* **Stop on Error (Default)**: σταματά αμέσως τη ροή εργασίας όταν αποτυγχάνει ένα βήμα.
* **Continue on Error**: συνεχίζει να εκτελεί τα επόμενα βήματα και αναφέρει στο τέλος τον αριθμό των αποτυχημένων ενεργειών.
- **Default Workflow Included**: το `One-Click Extract` αλυσιδώνει τις `Process File (Add Links)`, `Batch Generate from Titles` και `Batch Mermaid Fix`.
#### Ρυθμίσεις προσαρμοσμένων προτροπών
Αυτή η δυνατότητα σας επιτρέπει να παρακάμπτετε τις προεπιλεγμένες οδηγίες (prompts) που αποστέλλονται στο LLM για συγκεκριμένες εργασίες, δίνοντάς σας λεπτομερή έλεγχο πάνω στο αποτέλεσμα.
- **Enable Custom Prompts for Specific Tasks**:
* **Απενεργοποιημένο (προεπιλογή)**: το πρόσθετο χρησιμοποιεί τα ενσωματωμένα προεπιλεγμένα prompts για όλες τις λειτουργίες.
* **Ενεργοποιημένο**: ενεργοποιεί τη δυνατότητα ρύθμισης προσαρμοσμένων prompts για τις εργασίες που αναφέρονται παρακάτω. Αυτός είναι ο κύριος διακόπτης της δυνατότητας.
- **Use Custom Prompt for [Task Name]**: (ορατό μόνο όταν η παραπάνω επιλογή είναι ενεργοποιημένη)
* Για κάθε υποστηριζόμενη εργασία ("Add Links", "Generate from Title", "Research & Summarize", "Extract Concepts"), μπορείτε να ενεργοποιείτε ή να απενεργοποιείτε ξεχωριστά το προσαρμοσμένο prompt σας.
* **Disabled**: αυτή η συγκεκριμένη εργασία θα χρησιμοποιεί το προεπιλεγμένο prompt.
* **Ενεργοποιημένο**: αυτή η εργασία θα χρησιμοποιεί το κείμενο που παρέχετε στο αντίστοιχο πεδίο "Custom Prompt" παρακάτω.
- **Custom Prompt Text Area**: (ορατό μόνο όταν το προσαρμοσμένο prompt μιας εργασίας είναι ενεργοποιημένο)
* **Default Prompt Display**: για αναφορά, το πρόσθετο εμφανίζει το προεπιλεγμένο prompt που θα χρησιμοποιούσε κανονικά για την εργασία. Μπορείτε να χρησιμοποιήσετε το κουμπί **"Copy Default Prompt"** για να αντιγράψετε αυτό το κείμενο ως αφετηρία για το δικό σας προσαρμοσμένο prompt.
* **Custom Prompt Input**: εδώ γράφετε τις δικές σας οδηγίες για το LLM.
* **Placeholders**: μπορείτε (και πρέπει) να χρησιμοποιείτε ειδικά placeholders στο prompt σας, τα οποία το πρόσθετο θα αντικαταστήσει με πραγματικό περιεχόμενο πριν στείλει το αίτημα στο LLM. Ανατρέξτε στο προεπιλεγμένο prompt για να δείτε ποια placeholders είναι διαθέσιμα για κάθε εργασία. Τα συνήθη placeholders περιλαμβάνουν:
* `{TITLE}`: ο τίτλος της τρέχουσας σημείωσης.
* `{RESEARCH_CONTEXT_SECTION}`: το περιεχόμενο που συλλέχθηκε από την έρευνα ιστού.
* `{USER_PROMPT}`: το περιεχόμενο της σημείωσης που επεξεργάζεται.
<img width="794" height="174" alt="Content generation output" src="https://github.com/user-attachments/assets/76d93942-980d-49ad-b9d4-1c73ea013d17" />
<img width="866" height="646" alt="Duplicate check scope Custom prompt settings" src="https://github.com/user-attachments/assets/1b37a523-ef00-4e40-94a0-43bbe0c78572" />
#### Πεδίο ελέγχου διπλοτύπων
- **Duplicate Check Scope Mode**: ελέγχει ποια αρχεία συγκρίνονται με τις σημειώσεις στον Concept Note Folder για πιθανά διπλότυπα.
* **Entire Vault (Default)**: συγκρίνει τα concept notes με όλες τις άλλες σημειώσεις στο vault (εξαιρείται το ίδιο το Concept Note Folder).
* **Include Specific Folders Only**: συγκρίνει τα concept notes μόνο με τις σημειώσεις που βρίσκονται στους φακέλους που παρατίθενται παρακάτω.
* **Exclude Specific Folders**: συγκρίνει τα concept notes με όλες τις σημειώσεις *εκτός* από εκείνες μέσα στους φακέλους που παρατίθενται παρακάτω (και επίσης εξαιρώντας το Concept Note Folder).
* **Concept Folder Only**: συγκρίνει τα concept notes μόνο με *άλλες σημειώσεις μέσα στο Concept Note Folder*. Αυτό βοηθά στον εντοπισμό διπλοτύπων αποκλειστικά μέσα στις παραγόμενες έννοιες.
- **Include/Exclude Folders**: (ορατό μόνο αν η λειτουργία είναι `Include` ή `Exclude`) εισαγάγετε τις *σχετικές διαδρομές* των φακέλων που θέλετε να συμπεριλάβετε ή να εξαιρέσετε, **μία διαδρομή ανά γραμμή**. Οι διαδρομές είναι ευαίσθητες σε πεζά/κεφαλαία και χρησιμοποιούν `/` ως διαχωριστικό (π.χ. `Reference Material/Papers` ή `Daily Notes`). Αυτοί οι φάκελοι δεν μπορούν να είναι ίδιοι ή να βρίσκονται μέσα στο Concept Note Folder.
#### Πάροχος έρευνας ιστού
- **Search Provider**: επιλέξτε μεταξύ `Tavily` (απαιτεί API key, προτείνεται) και `DuckDuckGo` (πειραματικό, συχνά μπλοκάρεται από τη μηχανή αναζήτησης σε αυτοματοποιημένα αιτήματα). Χρησιμοποιείται για το "Research & Summarize Topic" και προαιρετικά για το "Generate from Title".
- **Tavily API Key**: (ορατό μόνο αν έχει επιλεγεί Tavily) εισαγάγετε το API key σας από το [tavily.com](https://tavily.com/).
- **Tavily Max Results**: (ορατό μόνο αν έχει επιλεγεί Tavily) ο μέγιστος αριθμός αποτελεσμάτων που πρέπει να επιστρέψει το Tavily (1-20). Προεπιλογή: 5.
- **Tavily Search Depth**: (ορατό μόνο αν έχει επιλεγεί Tavily) επιλέξτε `basic` (προεπιλογή) ή `advanced`. Σημείωση: το `advanced` δίνει καλύτερα αποτελέσματα αλλά κοστίζει 2 API credits ανά αναζήτηση αντί για 1.
- **DuckDuckGo Max Results**: (ορατό μόνο αν έχει επιλεγεί DuckDuckGo) ο μέγιστος αριθμός αποτελεσμάτων αναζήτησης προς ανάλυση (1-10). Προεπιλογή: 5.
- **DuckDuckGo Content Fetch Timeout**: (ορατό μόνο αν έχει επιλεγεί DuckDuckGo) μέγιστος αριθμός δευτερολέπτων αναμονής όταν γίνεται προσπάθεια λήψης περιεχομένου από κάθε URL αποτελέσματος του DuckDuckGo. Προεπιλογή: 15.
- **Max Research Content Tokens**: κατά προσέγγιση μέγιστος αριθμός token από τα συνδυασμένα αποτελέσματα έρευνας ιστού (snippets/ανακτημένο περιεχόμενο) που θα συμπεριληφθούν στο prompt σύνοψης. Βοηθά στη διαχείριση του μεγέθους του παραθύρου συμφραζομένων και του κόστους. (Προεπιλογή: 3000)
<img width="810" height="278" alt="Web research provider" src="https://github.com/user-attachments/assets/be0280eb-bb4e-4db0-bf69-91da3f0fd3c0" />
#### Εστιασμένο πεδίο μάθησης
- **Enable Focused Learning Domain**:
* **Απενεργοποιημένο (προεπιλογή)**: τα prompts που αποστέλλονται στο LLM χρησιμοποιούν τις τυπικές, γενικού σκοπού οδηγίες.
* **Ενεργοποιημένο**: σας επιτρέπει να καθορίσετε ένα ή περισσότερα πεδία μελέτης για να βελτιώσετε την κατανόηση του συμφραζομένου από το LLM.
- **Learning Domain**: (ορατό μόνο όταν η παραπάνω επιλογή είναι ενεργοποιημένη) εισαγάγετε το συγκεκριμένο πεδίο ή πεδία σας, π.χ. 'Materials Science', 'Polymer Physics', 'Machine Learning'. Αυτό θα προσθέσει μία γραμμή "Relevant Fields: [...]" στην αρχή των prompts, βοηθώντας το LLM να δημιουργεί πιο ακριβείς και πιο σχετικούς συνδέσμους και περιεχόμενο για το συγκεκριμένο πεδίο μελέτης σας.
<img width="595" height="143" alt="focused learning domain" src="https://github.com/user-attachments/assets/1bcc9707-5c10-4944-a61b-65fde0cd0404" />
## Οδηγός χρήσης
### Γρήγορες ροές εργασίας και πλευρική στήλη
- Ανοίξτε την πλευρική στήλη Notemd για να αποκτήσετε πρόσβαση σε ομαδοποιημένες ενότητες ενεργειών για βασική επεξεργασία, δημιουργία, μετάφραση, γνώση και βοηθητικά εργαλεία.
- Χρησιμοποιήστε την περιοχή **Γρήγορες ροές εργασίας** στην κορυφή της πλευρικής στήλης για να εκκινείτε προσαρμοσμένα κουμπιά πολλαπλών βημάτων.
- Η προεπιλεγμένη ροή **One-Click Extract** εκτελεί `Process File (Add Links)` -> `Batch Generate from Titles` -> `Batch Mermaid Fix`.
- Η πρόοδος της ροής εργασίας, τα logs ανά βήμα και οι αποτυχίες εμφανίζονται στην πλευρική στήλη, με pinned footer που προστατεύει τη μπάρα προόδου και την περιοχή log από το να συμπιεστούν όταν επεκτείνονται οι ενότητες.
- Η κάρτα προόδου διατηρεί ευανάγνωστα με μια ματιά το κείμενο κατάστασης, το ειδικό ποσοστό και τον υπολειπόμενο χρόνο, ενώ οι ίδιες προσαρμοσμένες ροές εργασίας μπορούν να επαναδιαμορφωθούν από τις ρυθμίσεις.
### Αρχική επεξεργασία (προσθήκη wiki-links)
Αυτή είναι η βασική λειτουργικότητα που εστιάζει στον εντοπισμό εννοιών και την προσθήκη `[[wiki-links]]`.
**Σημαντικό:** αυτή η διαδικασία λειτουργεί μόνο σε αρχεία `.md` ή `.txt`. Μπορείτε να μετατρέψετε δωρεάν PDF αρχεία σε MD χρησιμοποιώντας το [Mineru](https://github.com/opendatalab/MinerU) πριν από την περαιτέρω επεξεργασία.
1. **Χρήση της πλευρικής στήλης**:
* Ανοίξτε την πλευρική στήλη Notemd (εικονίδιο ραβδιού ή παλέτα εντολών).
* Ανοίξτε το αρχείο `.md` ή `.txt`.
* Κάντε κλικ στο **"Process File (Add Links)"**.
* Για επεξεργασία φακέλου: κάντε κλικ στο **"Process Folder (Add Links)"**, επιλέξτε τον φάκελο και κάντε κλικ στο "Process".
* Η πρόοδος εμφανίζεται στην πλευρική στήλη. Μπορείτε να ακυρώσετε την εργασία χρησιμοποιώντας το κουμπί "Cancel Processing" στην πλευρική στήλη.
* *Σημείωση για επεξεργασία φακέλου:* τα αρχεία επεξεργάζονται στο παρασκήνιο χωρίς να ανοίγουν στον editor.
<img width="618" height="154" alt="image" src="https://github.com/user-attachments/assets/fcfbcc9e-3c80-4e84-b9bb-e3a5cd66acaa" />
2. **Χρήση της παλέτας εντολών** (`Ctrl+P` ή `Cmd+P`):
* **Single File**: ανοίξτε το αρχείο και εκτελέστε το `Notemd: Process Current File`.
* **Folder**: εκτελέστε το `Notemd: Process Folder`, μετά επιλέξτε τον φάκελο. Τα αρχεία επεξεργάζονται στο παρασκήνιο χωρίς να ανοίγουν στον editor.
* Για ενέργειες από την παλέτα εντολών εμφανίζεται modal προόδου, το οποίο περιλαμβάνει και κουμπί ακύρωσης.
* *Σημείωση:* το πρόσθετο αφαιρεί αυτόματα τυχόν αρχικές γραμμές `\boxed{` και τελικές γραμμές `}` από το τελικό επεξεργασμένο περιεχόμενο πριν από την αποθήκευση.
### Νέες δυνατότητες
1. **Συνοψίστε ως διάγραμμα Mermaid**:
* Ανοίξτε τη σημείωση που θέλετε να συνοψίσετε.
* Εκτελέστε την εντολή `Notemd: Summarise as Mermaid diagram` (μέσω παλέτας εντολών ή κουμπιού στην πλευρική στήλη).
* Το πρόσθετο θα δημιουργήσει νέα σημείωση με το διάγραμμα Mermaid.
2. **Translate Note/Selection**:
* Επιλέξτε κείμενο σε μια σημείωση για να μεταφράσετε μόνο το επιλεγμένο τμήμα, ή καλέστε την εντολή χωρίς επιλογή για να μεταφράσετε ολόκληρη τη σημείωση.
* Εκτελέστε την εντολή `Notemd: Translate Note/Selection` (μέσω παλέτας εντολών ή κουμπιού στην πλευρική στήλη).
* Θα εμφανιστεί modal που σας επιτρέπει να επιβεβαιώσετε ή να αλλάξετε το **Target Language** (με προεπιλογή την τιμή που ορίζεται στη Διαμόρφωση).
* Το πρόσθετο χρησιμοποιεί τον διαμορφωμένο **LLM Provider** (με βάση τις ρυθμίσεις Multi-Model) για να εκτελέσει τη μετάφραση.
* Το μεταφρασμένο περιεχόμενο αποθηκεύεται στη διαμορφωμένη **Translation Save Path** με το κατάλληλο suffix και ανοίγει σε **νέο pane στα δεξιά** του αρχικού περιεχομένου για εύκολη σύγκριση.
* Μπορείτε να ακυρώσετε αυτή την εργασία από το κουμπί της πλευρικής στήλης ή το κουμπί ακύρωσης του modal.
3. **Μαζική μετάφραση**:
* Εκτελέστε την εντολή `Notemd: Batch Translate Folder` από την παλέτα εντολών και επιλέξτε φάκελο, ή κάντε δεξί κλικ σε φάκελο στον file explorer και επιλέξτε "Batch translate this folder".
* Το πρόσθετο θα μεταφράσει όλα τα Markdown αρχεία στον επιλεγμένο φάκελο.
* Τα μεταφρασμένα αρχεία αποθηκεύονται στη διαμορφωμένη translation path αλλά δεν ανοίγουν αυτόματα.
* Αυτή η διαδικασία μπορεί να ακυρωθεί μέσω του modal προόδου.
<img width="1081" height="1214" alt="image" src="https://github.com/user-attachments/assets/6b6fefbf-3692-4281-bdb1-11efdd6c88b5" />
3. **Research & Summarize Topic**:
* Επιλέξτε κείμενο σε μια σημείωση Ή βεβαιωθείτε ότι η σημείωση έχει τίτλο (αυτός θα είναι το θέμα αναζήτησης).
* Εκτελέστε την εντολή `Notemd: Research and Summarize Topic` (μέσω παλέτας εντολών ή κουμπιού στην πλευρική στήλη).
* Το πρόσθετο χρησιμοποιεί τον διαμορφωμένο **Search Provider** (Tavily/DuckDuckGo) και τον κατάλληλο **LLM Provider** (με βάση τις ρυθμίσεις Multi-Model) για να βρει και να συνοψίσει πληροφορίες.
* Η σύνοψη προστίθεται στην τρέχουσα σημείωση.
* Μπορείτε να ακυρώσετε αυτή την εργασία από το κουμπί της πλευρικής στήλης ή το κουμπί ακύρωσης του modal.
* *Σημείωση:* οι αναζητήσεις DuckDuckGo μπορεί να αποτύχουν λόγω ανίχνευσης bot. Συνιστάται Tavily.
<img width="239" height="63" alt="image" src="https://github.com/user-attachments/assets/afcd0497-3ee3-41f2-9281-8bfbb448372d" />
4. **Generate Content from Title**:
* Ανοίξτε μια σημείωση (μπορεί να είναι και κενή).
* Εκτελέστε την εντολή `Notemd: Generate Content from Title` (μέσω παλέτας εντολών ή κουμπιού στην πλευρική στήλη).
* Το πρόσθετο χρησιμοποιεί τον κατάλληλο **LLM Provider** (με βάση τις ρυθμίσεις Multi-Model) για να δημιουργήσει περιεχόμενο βάσει του τίτλου της σημείωσης, αντικαθιστώντας οποιοδήποτε υπάρχον περιεχόμενο.
* Αν η ρύθμιση **"Enable Research in 'Generate from Title'"** είναι ενεργοποιημένη, θα εκτελεστεί πρώτα έρευνα ιστού (με τον διαμορφωμένο **Web Research Provider**) και το σχετικό πλαίσιο θα συμπεριληφθεί στο prompt που αποστέλλεται στο LLM.
* Μπορείτε να ακυρώσετε αυτή την εργασία από το κουμπί της πλευρικής στήλης ή το κουμπί ακύρωσης του modal.
5. **Batch Generate Content from Titles**:
* Εκτελέστε την εντολή `Notemd: Batch Generate Content from Titles` (μέσω παλέτας εντολών ή κουμπιού στην πλευρική στήλη).
* Επιλέξτε τον φάκελο που περιέχει τις σημειώσεις που θέλετε να επεξεργαστείτε.
* Το πρόσθετο θα επαναλάβει κάθε αρχείο `.md` στον φάκελο (εξαιρώντας αρχεία `_processed.md` και αρχεία μέσα στον καθορισμένο "complete" φάκελο), δημιουργώντας περιεχόμενο βάσει του τίτλου της σημείωσης και αντικαθιστώντας το υπάρχον περιεχόμενο. Τα αρχεία επεξεργάζονται στο παρασκήνιο χωρίς να ανοίγουν στον editor.
* Τα επιτυχώς επεξεργασμένα αρχεία μετακινούνται στον διαμορφωμένο "complete" φάκελο.
* Η εντολή αυτή σέβεται τη ρύθμιση **"Enable Research in 'Generate from Title'"** για κάθε σημείωση που επεξεργάζεται.
* Μπορείτε να ακυρώσετε αυτή την εργασία από το κουμπί της πλευρικής στήλης ή το κουμπί ακύρωσης του modal.
* Η πρόοδος και τα αποτελέσματα (αριθμός αρχείων που τροποποιήθηκαν, σφάλματα) εμφανίζονται στο log της πλευρικής στήλης/modal.
<img width="477" height="76" alt="image" src="https://github.com/user-attachments/assets/8c762d0a-be60-4811-b3e0-9d86c6ddfa4e" />
6. **Check and Remove Duplicate Concept Notes**:
* Βεβαιωθείτε ότι το **Concept Note Folder Path** έχει ρυθμιστεί σωστά.
* Εκτελέστε το `Notemd: Check and Remove Duplicate Concept Notes` (μέσω παλέτας εντολών ή κουμπιού στην πλευρική στήλη).
* Το πρόσθετο σαρώνει τον φάκελο concept notes και συγκρίνει τα ονόματα αρχείων με σημειώσεις εκτός του φακέλου, χρησιμοποιώντας διάφορους κανόνες (ακριβής ταύτιση, πληθυντικοί, κανονικοποίηση, περιεκτικότητα).
* Αν βρεθούν πιθανά διπλότυπα, εμφανίζεται modal παράθυρο που παραθέτει τα αρχεία, τον λόγο επισήμανσης και τα συγκρουόμενα αρχεία.
* Ελέγξτε τη λίστα προσεκτικά. Κάντε κλικ στο **"Delete Files"** για να μετακινήσετε τα αρχεία στον κάδο του συστήματος ή στο **"Cancel"** για να μην εκτελεστεί καμία ενέργεια.
* Η πρόοδος και τα αποτελέσματα εμφανίζονται στο log της πλευρικής στήλης/modal.
7. **Extract Concepts (Pure Mode)**:
* Αυτή η δυνατότητα σας επιτρέπει να εξάγετε έννοιες από έγγραφο και να δημιουργείτε τα αντίστοιχα concept notes *χωρίς* να τροποποιείτε το αρχικό αρχείο. Είναι ιδανική για γρήγορο γέμισμα της βάσης γνώσης σας από ένα σύνολο εγγράφων.
* **Single File**: ανοίξτε ένα αρχείο και εκτελέστε την εντολή `Notemd: Extract concepts (create concept notes only)` από την παλέτα εντολών ή κάντε κλικ στο κουμπί **"Extract concepts (current file)"** στην πλευρική στήλη.
* **Folder**: εκτελέστε την εντολή `Notemd: Batch extract concepts from folder` από την παλέτα εντολών ή κάντε κλικ στο κουμπί **"Extract concepts (folder)"** στην πλευρική στήλη, και έπειτα επιλέξτε φάκελο για να επεξεργαστείτε όλες τις σημειώσεις του.
* Το πρόσθετο θα διαβάσει τα αρχεία, θα εντοπίσει έννοιες και θα δημιουργήσει νέες σημειώσεις για αυτές μέσα στον καθορισμένο **Concept Note Folder**, αφήνοντας τα αρχικά αρχεία ανέγγιχτα.
8. **Create Wiki-Link & Generate Note from Selection**:
* Αυτή η ισχυρή εντολή απλοποιεί τη διαδικασία δημιουργίας και συμπλήρωσης νέων concept notes.
* Επιλέξτε μια λέξη ή φράση στον editor.
* Εκτελέστε την εντολή `Notemd: Create Wiki-Link & Generate Note from Selection` (συνιστάται να της αναθέσετε συντόμευση, όπως `Cmd+Shift+W`).
* Το πρόσθετο θα:
1. Αντικαταστήσει το επιλεγμένο κείμενο με ένα `[[wiki-link]]`.
2. Ελέγξει αν υπάρχει ήδη σημείωση με αυτόν τον τίτλο μέσα στον **Concept Note Folder**.
3. Αν υπάρχει, θα προσθέσει backlink προς την τρέχουσα σημείωση.
4. Αν δεν υπάρχει, θα δημιουργήσει νέα, κενή σημείωση.
5. Έπειτα θα εκτελέσει αυτόματα την εντολή **"Generate Content from Title"** πάνω στη νέα ή υπάρχουσα σημείωση, γεμίζοντάς την με περιεχόμενο που έχει παραχθεί από AI.
9. **Extract Concepts and Generate Titles**:
* Αυτή η εντολή συνδέει δύο ισχυρές λειτουργίες σε μία απλοποιημένη ροή εργασίας.
* Εκτελέστε την εντολή `Notemd: Extract Concepts and Generate Titles` από την παλέτα εντολών (συνιστάται να της αναθέσετε συντόμευση).
* Το πρόσθετο θα:
1. Εκτελέσει πρώτα την εργασία **"Extract concepts (current file)"** πάνω στο τρέχον ενεργό αρχείο.
2. Στη συνέχεια θα εκτελέσει αυτόματα την εργασία **"Batch generate from titles"** στον φάκελο που έχετε ρυθμίσει στις ρυθμίσεις ως **Concept note folder path**.
* Αυτό σας επιτρέπει να γεμίσετε αρχικά τη βάση γνώσης σας με νέες έννοιες από ένα έγγραφο πηγής και αμέσως μετά να αναπτύξετε αυτά τα νέα concept notes με AI-generated περιεχόμενο σε ένα μόνο βήμα.
10. **Extract Specific Original Text**:
* Διαμορφώστε τις ερωτήσεις σας στις ρυθμίσεις, στην ενότητα "Extract Specific Original Text".
* Χρησιμοποιήστε το κουμπί "Extract Specific Original Text" στην πλευρική στήλη για να επεξεργαστείτε το ενεργό αρχείο.
* **Merged Mode**: επιτρέπει ταχύτερη επεξεργασία στέλνοντας όλες τις ερωτήσεις σε ένα prompt.
* **Translation**: μεταφράζει προαιρετικά το εξαγμένο κείμενο στη διαμορφωμένη γλώσσα σας.
* **Custom Output**: διαμορφώστε πού και πώς θα αποθηκεύεται το εξαγμένο αρχείο.
11. **Batch Mermaid Fix**:
* Χρησιμοποιήστε το κουμπί "Batch Mermaid Fix" στην πλευρική στήλη για να σαρώσετε έναν φάκελο και να διορθώσετε κοινά Mermaid syntax errors.
* Το πρόσθετο θα αναφέρει τυχόν αρχεία που εξακολουθούν να περιέχουν σφάλματα σε αρχείο `mermaid_error_{foldername}.md`.
* Προαιρετικά ρυθμίστε το πρόσθετο να μετακινεί αυτά τα προβληματικά αρχεία σε ξεχωριστό φάκελο για έλεγχο.
## Υποστηριζόμενοι πάροχοι LLM
| Πάροχος | Τύπος | Απαιτείται API Key | Σημειώσεις |
|-------------------|------------|------------------------|-----------------------------------------------------------------------|
| DeepSeek | Φιλοξενούμενο | Ναι | Native endpoint του DeepSeek με χειρισμό reasoning μοντέλων |
| Qwen | Φιλοξενούμενο | Ναι | DashScope compatible-mode preset για μοντέλα Qwen / QwQ |
| Qwen Code | Φιλοξενούμενο | Ναι | DashScope preset επικεντρωμένο σε coding για Qwen coder μοντέλα |
| Doubao | Φιλοξενούμενο | Ναι | Volcengine Ark preset. Συνήθως το πεδίο model ορίζεται στο endpoint ID σας |
| Moonshot | Φιλοξενούμενο | Ναι | Επίσημο endpoint Kimi / Moonshot |
| GLM | Φιλοξενούμενο | Ναι | Επίσημο endpoint Zhipu BigModel OpenAI-compatible |
| Z AI | Φιλοξενούμενο | Ναι | Διεθνές endpoint GLM/Zhipu OpenAI-compatible. Συμπληρώνει το `GLM` |
| MiniMax | Φιλοξενούμενο | Ναι | Επίσημο endpoint MiniMax chat-completions |
| Huawei Cloud MaaS | Φιλοξενούμενο | Ναι | Endpoint Huawei ModelArts MaaS OpenAI-compatible για hosted μοντέλα |
| Baidu Qianfan | Φιλοξενούμενο | Ναι | Επίσημο endpoint Qianfan OpenAI-compatible για μοντέλα ERNIE |
| SiliconFlow | Φιλοξενούμενο | Ναι | Επίσημο endpoint SiliconFlow OpenAI-compatible για hosted OSS μοντέλα |
| OpenAI | Φιλοξενούμενο | Ναι | Υποστηρίζει μοντέλα GPT και σειράς o |
| Anthropic | Φιλοξενούμενο | Ναι | Υποστηρίζει μοντέλα Claude |
| Google | Φιλοξενούμενο | Ναι | Υποστηρίζει μοντέλα Gemini |
| Mistral | Φιλοξενούμενο | Ναι | Υποστηρίζει τις οικογένειες Mistral και Codestral |
| Azure OpenAI | Φιλοξενούμενο | Ναι | Απαιτεί Endpoint, API Key, deployment name και API Version |
| OpenRouter | Πύλη | Ναι | Πρόσβαση σε πολλούς παρόχους μέσω IDs μοντέλων OpenRouter |
| xAI | Φιλοξενούμενο | Ναι | Native endpoint Grok |
| Groq | Φιλοξενούμενο | Ναι | Γρήγορο OpenAI-compatible inference για hosted OSS μοντέλα |
| Together | Φιλοξενούμενο | Ναι | OpenAI-compatible endpoint για hosted OSS μοντέλα |
| Fireworks | Φιλοξενούμενο | Ναι | OpenAI-compatible inference endpoint |
| Requesty | Πύλη | Ναι | Multi-provider router πίσω από ένα API key |
| OpenAI Compatible | Πύλη | Προαιρετικό | Γενικό preset για LiteLLM, vLLM, Perplexity, Vercel AI Gateway κ.λπ. |
| LMStudio | Τοπικός | Προαιρετικό (`EMPTY`) | Εκτελεί μοντέλα τοπικά μέσω του server του LM Studio |
| Ollama | Τοπικός | Όχι | Εκτελεί μοντέλα τοπικά μέσω του server του Ollama |
*Σημείωση: για τοπικούς παρόχους (LMStudio, Ollama), βεβαιωθείτε ότι η αντίστοιχη εφαρμογή server εκτελείται και είναι προσβάσιμη στο διαμορφωμένο Base URL.*
*Σημείωση: για OpenRouter και Requesty, χρησιμοποιήστε το πλήρες/provider-prefixed αναγνωριστικό μοντέλου που εμφανίζει το gateway (για παράδειγμα `google/gemini-flash-1.5` ή `anthropic/claude-3-7-sonnet-latest`).*
*Σημείωση: το `Doubao` συνήθως αναμένει Ark endpoint/deployment ID στο πεδίο model αντί για ακατέργαστο όνομα οικογένειας μοντέλου. Η οθόνη ρυθμίσεων προειδοποιεί πλέον όταν παραμένει η placeholder τιμή και μπλοκάρει τα connection tests μέχρι να την αντικαταστήσετε με πραγματικό endpoint ID.*
*Σημείωση: το `Z AI` στοχεύει τη διεθνή γραμμή `api.z.ai`, ενώ το `GLM` διατηρεί το ηπειρωτικό κινεζικό endpoint BigModel. Επιλέξτε το preset που ταιριάζει στην περιοχή του λογαριασμού σας.*
*Σημείωση: τα presets εστιασμένα στην Κίνα χρησιμοποιούν chat-first connection checks ώστε το τεστ να επικυρώνει το πραγματικά διαμορφωμένο μοντέλο/deployment και όχι απλώς την προσβασιμότητα του API key.*
*Σημείωση: το `OpenAI Compatible` προορίζεται για προσαρμοσμένα gateway και proxy. Ρυθμίστε Base URL, πολιτική API key και model ID σύμφωνα με την τεκμηρίωση του παρόχου σας.*
## Χρήση δικτύου και διαχείριση δεδομένων
Το Notemd εκτελείται τοπικά μέσα στο Obsidian, αλλά ορισμένες λειτουργίες αποστέλλουν εξερχόμενα αιτήματα.
### Κλήσεις προς παρόχους LLM (παραμετροποιήσιμες)
- Ενεργοποιητής: επεξεργασία αρχείων, δημιουργία, μετάφραση, σύνοψη έρευνας, σύνοψη Mermaid και ενέργειες σύνδεσης/διαγνωστικών.
- Endpoint: τα διαμορφωμένα provider base URL(s) σας στις ρυθμίσεις του Notemd.
- Δεδομένα που αποστέλλονται: το κείμενο του prompt και το περιεχόμενο της εργασίας που απαιτείται για την επεξεργασία.
- Σημείωση διαχείρισης δεδομένων: τα API keys διαμορφώνονται τοπικά στις ρυθμίσεις του πρόσθετου και χρησιμοποιούνται για την υπογραφή αιτημάτων από τη συσκευή σας.
### Κλήσεις έρευνας ιστού (προαιρετικές)
- Ενεργοποιητής: όταν η έρευνα ιστού είναι ενεργοποιημένη και έχει επιλεγεί πάροχος αναζήτησης.
- Endpoint: Tavily API ή DuckDuckGo endpoints.
- Δεδομένα που αποστέλλονται: το ερευνητικό query σας και τα απαραίτητα request metadata.
### Διαγνωστικά προγραμματιστών και αρχεία καταγραφής αποσφαλμάτωσης (προαιρετικά)
- Ενεργοποιητής: API debug mode και ενέργειες developer diagnostics.
- Αποθήκευση: τα diagnostic και error logs γράφονται στη ρίζα του vault σας (π.χ. `Notemd_Provider_Diagnostic_*.txt` και `Notemd_Error_Log_*.txt`).
- Σημείωση κινδύνου: τα logs μπορεί να περιέχουν αποσπάσματα request/response. Ελέγξτε τα logs πριν τα μοιραστείτε δημόσια.
### Τοπική αποθήκευση
- Η διαμόρφωση του πρόσθετου αποθηκεύεται στο `.obsidian/plugins/notemd/data.json`.
- Τα παραγόμενα αρχεία, οι αναφορές και τα προαιρετικά logs αποθηκεύονται στο vault σας σύμφωνα με τις ρυθμίσεις σας.
## Αντιμετώπιση προβλημάτων
### Συχνά ζητήματα
- **Το πρόσθετο δεν φορτώνει**: βεβαιωθείτε ότι τα `manifest.json`, `main.js`, `styles.css` βρίσκονται στον σωστό φάκελο (`<Vault>/.obsidian/plugins/notemd/`) και επανεκκινήστε το Obsidian. Ελέγξτε το Developer Console (`Ctrl+Shift+I` ή `Cmd+Option+I`) για σφάλματα κατά την εκκίνηση.
- **Αποτυχίες επεξεργασίας / API Errors**:
1. **Ελέγξτε τη μορφή αρχείου**: βεβαιωθείτε ότι το αρχείο που προσπαθείτε να επεξεργαστείτε ή να ελέγξετε έχει επέκταση `.md` ή `.txt`. Το Notemd υποστηρίζει προς το παρόν μόνο αυτές τις μορφές κειμένου.
2. Χρησιμοποιήστε την εντολή/το κουμπί "Test LLM Connection" για να επαληθεύσετε τις ρυθμίσεις του ενεργού παρόχου.
3. Ελέγξτε ξανά τα API Key, Base URL, Model Name και API Version (για Azure). Βεβαιωθείτε ότι το API key είναι σωστό και διαθέτει επαρκή credits/permissions.
4. Βεβαιωθείτε ότι ο τοπικός σας LLM server (LMStudio, Ollama) εκτελείται και ότι το Base URL είναι σωστό (π.χ. `http://localhost:1234/v1` για LMStudio).
5. Ελέγξτε τη σύνδεσή σας στο διαδίκτυο για cloud παρόχους.
6. **Για σφάλματα επεξεργασίας ενός αρχείου:** ελέγξτε το Developer Console για λεπτομερή μηνύματα σφάλματος. Αν χρειάζεται, αντιγράψτε τα μέσω του κουμπιού στο error modal.
7. **Για σφάλματα μαζικής επεξεργασίας:** ελέγξτε το αρχείο `error_processing_filename.log` στη ρίζα του vault για λεπτομερή μηνύματα σφάλματος για κάθε αποτυχημένο αρχείο. Το Developer Console ή το error modal μπορεί να εμφανίζουν μόνο σύνοψη ή γενικό batch error.
8. **Αυτόματα αρχεία καταγραφής σφαλμάτων:** αν μια διαδικασία αποτύχει, το πρόσθετο αποθηκεύει αυτόματα ένα λεπτομερές αρχείο log με όνομα `Notemd_Error_Log_[Timestamp].txt` στον ριζικό κατάλογο του vault. Αυτό το αρχείο περιέχει το μήνυμα σφάλματος, ίχνος στοίβας και logs συνεδρίας. Αν αντιμετωπίζετε επίμονα προβλήματα, ελέγξτε αυτό το αρχείο. Η ενεργοποίηση του "API Error Debugging Mode" στις ρυθμίσεις θα εμπλουτίσει αυτό το log με ακόμη πιο αναλυτικά API response δεδομένα.
9. **Διαγνωστικά μεγάλων αιτημάτων σε πραγματικό endpoint (Developer)**:
- Εντός πρόσθετου (συνιστάται πρώτο): χρησιμοποιήστε το **Settings -> Notemd -> Developer provider diagnostic (long request)** για να εκτελέσετε runtime probe στον ενεργό πάροχο και να παραχθεί `Notemd_Provider_Diagnostic_*.txt` στη ρίζα του vault.
- Διαδρομή CLI (εκτός Obsidian runtime): για αναπαραγώγιμη σύγκριση συμπεριφοράς buffered και streaming σε επίπεδο endpoint, χρησιμοποιήστε:
```bash
npm run diagnose:llm -- \
--transport openai-compatible \
--provider-name OpenRouter \
--base-url https://openrouter.ai/api/v1 \
--api-key "$OPENROUTER_API_KEY" \
--model anthropic/claude-3.7-sonnet \
--prompt-file ./tmp/prompt.txt \
--content-file ./tmp/content.txt \
--mode compare \
--timeout-ms 360000 \
--output ./tmp/openrouter-diagnostic.txt
```
Η παραγόμενη αναφορά περιέχει χρονισμούς ανά προσπάθεια (`First Byte`, `Duration`), καθαρισμένα request metadata, response headers, raw/partial body fragments, parsed stream fragments και transport-layer failure points.
- **Προβλήματα σύνδεσης LM Studio/Ollama**:
* **Η δοκιμή σύνδεσης αποτυγχάνει**: βεβαιωθείτε ότι ο τοπικός server (LM Studio ή Ollama) εκτελείται και ότι το σωστό μοντέλο είναι φορτωμένο/διαθέσιμο.
* **CORS Errors (Ollama σε Windows)**: αν συναντήσετε σφάλματα CORS (Cross-Origin Resource Sharing) όταν χρησιμοποιείτε Ollama σε Windows, ίσως χρειαστεί να ορίσετε τη μεταβλητή περιβάλλοντος `OLLAMA_ORIGINS`. Μπορείτε να το κάνετε εκτελώντας `set OLLAMA_ORIGINS=*` στο command prompt πριν ξεκινήσετε το Ollama. Αυτό επιτρέπει αιτήματα από οποιοδήποτε origin.
* **Enable CORS in LM Studio**: για το LM Studio μπορείτε να ενεργοποιήσετε το CORS απευθείας από τις ρυθμίσεις server, κάτι που μπορεί να είναι απαραίτητο αν το Obsidian τρέχει σε browser ή έχει αυστηρές πολιτικές origin.
- **Σφάλματα δημιουργίας φακέλων ("File name cannot contain...")**:
* Αυτό συνήθως σημαίνει ότι η διαδρομή που δόθηκε στις ρυθμίσεις (**Processed File Folder Path** ή **Concept Note Folder Path**) είναι άκυρη *για το Obsidian*.
* **Βεβαιωθείτε ότι χρησιμοποιείτε σχετικές διαδρομές** (π.χ. `Processed`, `Notes/Concepts`) και **όχι απόλυτες διαδρομές** (π.χ. `C:\Users\...`, `/Users/...`).
* Ελέγξτε για μη έγκυρους χαρακτήρες: `* " \ / < > : | ? # ^ [ ]`. Σημειώστε ότι το `\` είναι άκυρο ακόμη και στα Windows για διαδρομές του Obsidian. Χρησιμοποιήστε `/` ως διαχωριστικό διαδρομής.
- **Προβλήματα απόδοσης**: η επεξεργασία μεγάλων αρχείων ή πολλών αρχείων μπορεί να χρειαστεί χρόνο. Μειώστε τη ρύθμιση "Chunk Word Count" για πιθανώς ταχύτερες (αλλά περισσότερες) API calls. Δοκιμάστε διαφορετικό πάροχο LLM ή διαφορετικό μοντέλο.
- **Απρόσμενη διασύνδεση**: η ποιότητα της διασύνδεσης εξαρτάται σε μεγάλο βαθμό από το LLM και το prompt. Πειραματιστείτε με διαφορετικά μοντέλα ή ρυθμίσεις θερμοκρασίας.
## Συνεισφορά
Οι συνεισφορές είναι ευπρόσδεκτες. Παρακαλούμε ανατρέξτε στο αποθετήριο GitHub για οδηγίες: [https://github.com/Jacobinwwey/obsidian-NotEMD](https://github.com/Jacobinwwey/obsidian-NotEMD)
## Τεκμηρίωση συντηρητών
- [Ροή έκδοσης (Αγγλικά)](./docs/maintainer/release-workflow.md)
- [Ροή έκδοσης (Απλοποιημένα Κινεζικά)](./docs/maintainer/release-workflow.zh-CN.md)
## Άδεια
Άδεια MIT - δείτε το αρχείο [LICENSE](LICENSE) για λεπτομέρειες.
---
If you love using Notemd, please consider [⭐ Give a Star on GitHub](https://github.com/Jacobinwwey/obsidian-NotEMD) or [☕️ Buy Me a Coffee](https://ko-fi.com/jacobinwwey).
*Notemd v1.8.3 - Βελτιώστε το γράφημα γνώσης σας στο Obsidian με AI.*
![Star History Chart](https://api.star-history.com/svg?repos=Jacobinwwey/obsidian-NotEMD&type=Date)