Obsidian / AI eklentisinin veri yolu

Resmi materyaller ve sabit kaynaklarla onaylayın

Obsidian×AI eklentisinin mevcut konumu
Neler yapılabilir ve tehlikeli olabilir [2026]

Bu sayfa Japonca aslından makine çevirisiyle hazırlanmıştır. Japonca aslını okuyun

Notun hangi bölümü, hangi özellik üzerinden nereye aktarılıyor? Copilot, Smart Connections ve Text Generator için sabitlenen sürümleri inceleyip belgelerden öğrenilenlerle gerçek iletişimde doğrulanmamış noktaları karşılaştırıyoruz.

Seçmeden önce modele, bağlama, dizine ve ek işlevlere bakın

"Yerel destek" kelimesi tek başına tüm eklentinin hedefini belirlemez. Modele iletilen notların alıntıları, bir dizinin nerede yapılacağı, web arama ve belge dönüştürme hizmetleri ve teşhis ve güncelleme onayı ayrı ayrı kontrol edilir.

  1. Modelsağlayıcı・endpoint・agent
  2. Referans bağlamıSeçimler, alıntılar, şablonlar
  3. Dizin ve aramaYerel veya başka bir sunucu
  4. Ek işlevWeb, belge dönüştürme, teşhis, güncelleme

Bu diyagram resmi materyalleri okumak için bir organizasyondur. Bu gerçek bir iletişim kaydı değildir. Karşılaştırma, sabit malzemelerin ve kaynakların bir onayıdır ve yapılandırma ekranının çalışmasını veya gerçek taleplerin ve sağlayıcıların operasyon denetimini içermez.

İlk olarak, aşağıdaki tabloda kullandığınız fonksiyonun yolunu kontrol edin. Tablodaki "kaynak", koddan okunan sabitleri ve dalları ve "kaynak açıklaması", README ve kılavuzun açıklamasını temsil eder.

3'in sabit sürümünü hedef ve ayarlarla karşılaştırın

30 Eylül 2026'da elde edilen resmi belgeler. Bu, gerçek iletişimin bir sonuç tablosu değildir.
Sabit versiyonBelgede gösterilen rotaBağlam ve indeksTuşların ve ayarların onaylanmasıHenüz doğrulanmamış noktalar
Copilot
4.0.12
Sağlayıcının açıklaması:barındırılan Brevilabs ve kurumsal sağlayıcıdır. Cloud BYOK belirtilen sağlayıcı/uç noktadır ve Yerel BYOK yerel uç noktadır. Opencode, Claude ve Codex'in de kendi rotaları vardır. Q03Seçilen notlardan alıntılar model bağlamına gider. Miyo'nun dizini ve arama hedefi ayrı bir ortamda yerel/uzaktır. Web araması, belge dönüştürme ve proje bağlamı için ek rotayı kontrol edin. Q03/ Q05Kaynak: SecretStorage bulunup bulunmadığını kontrol eden getter; enableMiyo=false ve activeBackend=opencode gibi başlangıç sabitleri. Gerçek saklama davranışı ve güncel GUI doğrulanmadı. Q07 / Q08 / Q09Gerçek yük, dizin hedefi, terminal anahtar depolama ve şifreleme, arka uç tutma, öğrenme dışı politika ile uyumluluk. Kendi kendine seçilen tanılama ZIP yüklemesi genellikle istekten ayırt edilir.
Akıllı Bağlantılar
4.7.2
Sağlayıcının açıklaması: Yerleşik yerel gömme modeli için kılavuz. API anahtarını gerektirmeyen bir dizinin nasıl oluşturulacağını açıklar. Q10/Q11README, etkinleştirmeden sonra Vault için dizin oluşturulduğunu belirtir. Ayarların ve modelin bazı bölümleri dış bileşenlere bağlıdır. Tüm yapılandırmaların veri yollarını eksiksiz incelemedik.Kaynak: İlk kılavuza verilen bir GET to GitHub en son sürüm ve URL var. Yerel gömme açıklamasından, tam bir iletişim olmadığı belirlenemez. Q12/Q13Gerçek indeks, model edinimi, tüm bağımlılık, gerçek iletişim ve yük, alternatif model, anahtar depolama, genel telemetri/tutma.
Metin Oluşturucu
0.8.7
Kaynak başlangıç değeri:OpenAI Sohbet (Langchain), https://api.openai.com/v1, anahtar boş. Ollama sağlayıcısı set basePath'i alır. Q15/Q23/Q24includeClipboard=true ile bir değer alabilen bir dal. İlk şablon başlık・starredBlocks・tg_selection'dır. Gerçek istemde yer alan değerin ayrı olarak kontrol edilmesi gerekir. Q15/Q17Kaynak başlangıç değeri:encrypt_keys=false. Şifrelenemiyorsa/geçersizse, sabit bir önek + giriş anahtarı döndüren bir daldır. Düz anahtar alanı boş olsa bile, şifrelendiği belirlenemez. Q15 / Q19 / Q20 / Q21 / Q22Gerçek yük, güncel GUI, terminal şifreleme sonuçları, tam işlevli iletişim, faturalandırma ve yanıt kalitesi ve genel telemetri/tutma.

BYOK, kendi anahtarlarını ve uç noktalarını kullanan bir yöntemdir. " "Kendi anahtarınızı kullanın" ve "işlem sadece terminalde kalacak" farklı koşullardır.

Copilot: Bir model seçseniz bile, ek işlevlerin yolu ayrı kalacaktır

Kılavuzun sabit sürümü barındırılan, Cloud BYOK, Local BYOK, opencode, Claude ve Codex işleme hedeflerine ayrılmıştır. Örneğin, Yerel BYOK modeli yerel bir uç nokta olarak açıklansa bile, kullanılan beceri ve proje bağlamına bağlı olarak başka bir hizmet dahil olabilir. Q03

Ayrı not referansları ve Miyo dizinleri

Temsilcinin notu okuduğuna ve gerekli parçayı seçim modelinin istemine koyduğuna dair bir açıklama var. " "Sadece Temsilci Sohbetini açarak Vault'in tamamını yükleme" davranışı açıklanmadı. Miyo'nun yerel bir bağlantısı ve uzak bir sunucu bağlantısı vardır ve dizin ve arama hedefi ayrı ayrı seçilir. Aramada bulunan alıntı, modelin bağlamına da uyar. Sadece yerel dizini kullanarak, alıntının model sağlayıcısına geçmediği söylenemez. Q03/Q05

Belge işleme tek tip değildir. Belgeye göre, Ajan Sohbeti'nin Miyo işlemi yerel CLI tarafından yapılır, Hızlı Sohbet bağlantı hedefi Miyo hizmetini kullanır ve uzaksa o sunucu tarafından işlenir. Web, YouTube ve ikili dosyaları kullanan kaydedilmiş proje bağlamı, barındırılan proje hizmetini kullanabilir ve bu, Miyo'nun seçiminden farklı bir rotadır. Q03

Self-Host Modunun iletişimi engellemesi garanti edilmez

Kılavuz, Self-Host Mode içinde bile bulutun devre dışı kalmadığını açıkça belirtir. Seçilen Claude, Codex, bulut modeli veya arama sağlayıcısına veri gönderen yollar devam eder. Bu ayarlar, kullanmak istediğiniz her özelliğin veriyi kabul ettiğiniz bir yerde işleyip işlemediğini kontrol etmek içindir. Q04

Anahtar alıcı, başlangıç sabiti ve teşhis politikası kendi başlarına okunur

KeychainService confirmed'in kapsamı, app.secretStorage'in varlığını veya yokluğunu kontrol eden bir alıcıdır ve değilse bir hataya neden olur. Bu, anahtarı gerçekten kaydetmenin veya işletim sisteminin şifrelemesini doğrulama kaydının bir sonucu değildir. enableMiyo=false, enableMiyoSearchSkill=false, activeBackend=opencode, debugFullFrames=true kaynaktaki başlangıç değerleridir ve taşınan ayarların veya okuyucu GUI'sinin değerini göstermez. Q07 / Q08 / Q09

README, barındırılan isteğin rastgele UUID'sini ve okuyucunun yüklemeyi seçtiği tanılama ZIP'sini açıklar. ZIP'in 60 gün sonra silinmesi, geçici işlenmesi, saklanmaması ve barındırılan isteklerin öğrenilmemesi sağlayıcısı tarafından açıklanan politikadır. Burada arka ucun çalışmasını denetlemedik. Teşhis ZIP'inin yalnızca debugFullFrames=true'den otomatik olarak gönderileceğini belirlemek de imkansızdır. Q02

Smart Connections: Yerel gömme ve tüm iletişimlerin varlığı veya yokluğu açıklaması

README, yerleşik yerel modelin Vault için dizin oluşturduğunu ve API anahtarı gerektirmediğini belirtir. Bu, ilgili notları bulma mekanizmasının açıklaması olarak okunabilir; ancak bu karşılaştırmada modeli çalıştırmadık, gerçek dizin oluşturma sürecini veya ağ iletişimini gözlemlemedik. README’deki gizlilik, çevrimdışı çalışma ve mobil kullanım açıklamalarını da sağlayıcının beyanları olarak ele alıyoruz. Q10 / Q11

Buna karşılık, kendi src/main.js kodunda initialize sonrasındaki güncelleme kontrolü, GitHub latest-release adresine GET isteği zamanlar. İlk kullanıcının StoryModal bileşenine smartconnections.app içindeki URL aktarılır. Bu, ağ iletişimiyle ilgili kod yolunun incelemesidir. StoryModal uygulaması bağımlılık tarafındadır; URL öğesinin gerçekten yüklenip yüklenmediği veya hangi payload değerlerinin aktarıldığı doğrulanmadı. Q12 / Q13

Bazı modeller, ayarlar, HTTP vb. Akıllı Ortam/jsbrains ile ilgili harici paketlere atıfta bulunur. Tek başına bu aralıkta, "tüm işlevlerin terminalde olduğu", "telemetri olmadığı" ve "notların her zaman gönderileceği" belirlenemez. Yerel dizinin açıklamasını, güncelleme onay kodunu ve onaylanmamış bağımlılığı ve gerçek iletişimi ayırırsanız, incelenecek ek nesneyi görebilirsiniz. Q14

Metin Oluşturucu: Bağlam önerilerini ve anahtar depolama dallarını kontrol edin

Panoyu ve gerçek istemi alabilecek ayarlar farklıdır

Sabit sürümün başlangıç ayarı includeClipboard=true'e sahiptir ve bağlam oluşturucu, değer doğruysa panoyu alabilecek bir dalına sahiptir. Öte yandan, alıntılanan ilk şablondaki title, starredBlocks ve tg_selection pano yer tutucu değildir. Q15/ Q17

Çözümlenmiş değer şablona, ön maddeye, bağlam seçeneklerine ve seçime bağlı olarak değişir. Mevcut değerler listesini gerçek istekteki değerler olarak aynı şekilde ele almayın. Bu kod onayı "pano her zaman gönderilir" veya "tüm Vault her zaman gönderilir" sonucuna gelmez. Q17/Q18

Düz anahtar alanındaki boş karakterler şifreleme kanıtı değildir

Başlangıç değeri encrypt_keys=false'dir. Kaydetirken düz anahtar sütununu boşaltma işlemi ve sırla ilgili başka bir alan hazırlama işlemi vardır. Şifreleme kullanılamadığında veya encrypt_keys devre dışı bırakıldığında, getEncryptedKey sabit öneki ve giriş anahtarını birbirine bağlayan bir değer döndürür. Alan adı şifrelenmiş/karmalanmış içerse bile, tek başına şifrelenmiş baytlar olduğu belirlenemez. Q15 / Q19 / Q20 / Q21 / Q22

anahtarı girilmediğinden, bu terminalin gerçek depolama ve safeStorage işleminin içeriği doğrulanmadı. Anahtarlar içeren yapılandırma dosyalarını ve tanılama kayıtlarını paylaşmadan önce yalnızca düz sütuna değil, aynı zamanda kaydedilen diğer değerlere de bakmanız gerekir.

İlk sağlayıcıyı ve yerel yazışmayı ayrı ayrı seçin

Kaynağın ilk sağlayıcısı OpenAI Sohbet (Langchain) ve uç nokta https://api.openai.com/v1'dir. Ollama sağlayıcısının set basePath'i alan bir uygulaması vardır. Tek başına yerel uyumlu bir sağlayıcı olması, diğer işlevler için işlem hedefi veya tam iletişim olmadığını kanıtlamaz. Q15 / Q23 / Q24

Ekli istek, otomatik öneriler, eğik çizgi önerileri, JavaScript yürütme, alıntılanan başlangıç değerinde KAPALI. Bunlar aynı zamanda mevcut GUI'nin gerçek ölçümleri değildir. Lütfen kullanmak istediğiniz şablonu ve ortamınızdaki kayıtlı ayarları kontrol edin. Q15/Q16

Kullanımınıza göre kontrol etmeniz gereken ayarlara karar verin

Ne yapmak istiyorsunHedef onaylanacakSadece bu karşılaştırmayla anlayamadığınız şey
Notları bulut modeliyle işlemekmodel/sağlayıcı/uç nokta, seçim, alıntı, şablon, aracı/Kullanılacak beceriGerçek yük, sağlayıcı işlemi, faturalandırma, yanıt kalitesi
Yerel olarak bir dizin yapmak istiyorumgömme/indeks işleme hedefi, uzak sunucu ayarı, arka sahne modeli, model edinimi ve ek işlevlerTüm fonksiyonların iletişim durdurma, tüm bağımlı rotalar, terminaldeki gerçek dizin
Anahtarları kaydetme ve paylaşma kapsamını bilmek istiyorumKaydedilecek alanlar, şifrelenemeyen dallar ve günlüklerin/tanılamaların/ayarların nerede paylaşılacağıGerçek depolama baytlarına ve terminalin arka uçta saklanması ve silinmesine uygunluk

Ayarları değiştirdikten sonraki durum, bu tablodaki gerçek ölçümün sonucu değildir. Not defterinizi kullanmadan önce, hangi işlevleri kullanacağınıza ve hangi verilere geçeceğine karar vermek için bir okuma yöntemi olarak kullanın.

Sık sorulan sorular

Yerel bir model seçersem, herhangi bir eklenti iletişim kurmaz mı?
Modelin işlendiği yer ile dizin oluşturma, web araması, belge dönüştürme ve güncelleme kontrolü ayrı yollardır. Copilot belgeleri ek özelliklerin yollarını ayırır; Smart Connections kaynak kodunda GitHub güncelleme kontrolü için GET isteği bulunur. Bu belge incelemesiyle tüm özelliklerin ağ bağlantısı kurmadığını veya gerçekten ne gönderildiğini doğrulamadık.
Akıllı Bağlantılar dışarıya notlar gönderir mi?
README'nin sabit sürümü, gömme ve indekslemenin yerleşik bir yerel modelle oluşturulduğunu açıklar. Sağlayıcının açıklaması budur. Kendi kaynağında güncelleme onayı ve ilk rehberlik için bir URL vardır ve bazı modeller ve ayarlar harici olarak bağlıdır. Bu karşılaştırmada gerçek not iletiminin ve tam iletişimin varlığı veya yokluğu ölçülmemiştir.
Text Generator'da includeClipboard=true, panonun gönderilmesi gerektiği anlamına mı geliyor?
Kaynakta, ayar doğru olduğunda bağlam oluşturucunun panoyu alabileceği bir dal vardır. Öte yandan, yayınlanan ilk şablon başlık, starredBlocks ve tg_selection kullanır ve panoyu belirtmez. Mevcut değer, aslında toplanan isteğin içeriğinden farklıdır. Gerçek yük ölçülmez.
Kaydedilen verilerin api_key'i boşsa, anahtar şifrelenmiş mi?
Yalnızca boş anahtar alanları ile belirlenemez. Text Generator 0.8.7'de, düz anahtar alanını ve başka bir kaydetme alanını boşaltan bir kaydetme işlemi vardır ve şifreleme mevcut değilse veya encrypt_keys devre dışı bırakılmışsa, sabit bir önek ve giriş anahtarı döndüren bir dal vardır. Gerçek anahtar depolama veya platform şifreleme davranışını denemedim.
Bu makale AI yanıt kalitesini, ücretleri ve iPhone davranışını karşılaştırıyor mu?
Karşılaştırma, sabitlenen 3 sürümünün resmî belgeleri ve kodundaki veri yollarını ve ayarları kapsar. Eklenti kurulumu, ayar arayüzünün gerçek kullanımı, modelle içerik üretme, ödeme, gerçek ağ iletişimi, iPhone dahil cihaz davranışları veya sağlayıcının saklama ve eğitimde kullanmama politikalarına uyumu doğrulanmadı.

Temelin onaylanmış sürümü ve orijinal metni

Aşağıdaki, 30 Eylül 2026'da 14:25 UTC'de kaydedilen resmi sürüm ve sabit taahhüttür. " O sırada onaylanan sürümdür ve gelecekte en son sürümü garanti etmez. Minimum Obsidian manifesto değeridir. Gerçek terminalin çalışması Mobil uyumlu bayraktan çıkarılmamaktadır.

Resmi kayıt defteri de 2db5da29e67e7600176c8c9450fd1c36c3a6831b'i taahhüt etmek için düzeltildi. 24 teklifi, 14 dosyası ve 579 satırı için orijinal dosyanın bayt/SHA256, satır aralığı ve alıntısı ile eşleştiğini doğruladık. Materyalin sabit sürümünün tekrarlanabilirliğini doğrulamak için bir kontroldür ve bir çalışma zamanı gizlilik kimlik doğrulaması değildir.

JSON ile 24'in sabit fiyat tekliflerini ve onay aralığını okuyun

Ana açıklama ve kod teklifi

Orijinal İngilizce metin ve kod sabit taahhüt kapsamındadır. Tablodaki Q numarasından GitHub'in orijinal metnine geçebilirsiniz.

Copilot · docs/copilot-plus-and-self-host.md · Q03

Sabit işlemenin orijinal metnini açın

75: 
76: | Model source                | How access works                                               | Who processes the prompt                                        |
77: | --------------------------- | -------------------------------------------------------------- | --------------------------------------------------------------- |
78: | **Copilot-hosted**          | Lite, Plus, or included Supporter access                       | Brevilabs and the enterprise model provider used for that model |
79: | **Cloud BYOK**              | Your API key under BYOK                                        | The provider and endpoint you configured                        |
80: | **Local BYOK**              | Ollama, LM Studio, or another local OpenAI-compatible endpoint | Your local endpoint                                             |
81: | **opencode-reported model** | Authentication managed by opencode                             | The provider behind that opencode model                         |
82: | **Claude**                  | Claude Code login or environment                               | Anthropic under your Claude account                             |
83: | **Codex**                   | Codex CLI login through `codex-acp`                            | OpenAI under your Codex or ChatGPT account                      |
84: 
85: A Claude or ChatGPT subscription is not an API key. Use the Claude or Codex Agent Chat setup for those subscriptions. Use BYOK only when you have API access or an OpenAI-compatible endpoint.
86: 
87: ## Understand service data routes
88: 
89: The selected model is only one possible route. A feature may call another service for the part of the task you asked it to perform:
90: 
91: - A **Copilot-hosted Skill** sends the search query, URL, or document needed by that Skill to Brevilabs.
92: - **Plus document processing** sends the supported document to Copilot's hosted processor.
93: - In **Agent Chat**, **Miyo document processing** runs through the local Miyo CLI, so PDF and EPUB parsing stays on this computer even when search uses a remote Miyo server.
94: - In **Quick Chat**, **Miyo document processing** uses the connected Miyo service. A configured remote Miyo server processes the document there rather than on this computer.
95: - Saved **project context** that needs web, YouTube, or binary-file conversion can use Copilot's hosted project service. The Miyo Document Processor choice does not change that project route.
96: - An agent can read a local note and include relevant text in the prompt sent to the selected model. Opening Agent Chat alone does not upload the whole vault.
97: 
98: For a workflow that does not send task content to Brevilabs, use direct Markdown context, local tools or local Miyo, and a local model. Disable Copilot's cloud-backed Skills for every agent you use. Do not add web pages, YouTube links, or binary files as saved project context when their hosted conversion is outside your intended boundary.
99: 
100: The [privacy policy](https://www.obsidiancopilot.com/en/privacy) describes how Copilot's hosted requests are processed. Your model provider and Miyo server have their own boundaries and terms.
Copilot · docs/copilot-plus-and-self-host.md · Q04

Sabit işlemenin orijinal metnini açın

103: 
104: Supporter and eligible legacy licenses can open **Settings → Copilot → Self-Host** and enable **Self-Host Mode**.
105: 
106: When it is on, Copilot:
107: 
108: - Lets you supply Firecrawl, Perplexity, Parallel, or Exa credentials for web search.
109: - With OpenCode selected, routes Agent Chat web searches through that selected provider while keeping its API key inside Obsidian. This does not require Obsidian's command line interface.
110: - Disables OpenCode's native web-search and web-fetch tools so they cannot bypass the selected route. Full-page fetching through OpenCode is unavailable until the self-host providers share a supported fetch interface.
111: - Lets you supply a Supadata key for YouTube transcripts.
112: - Directs you to BYOK for local or self-hosted model endpoints.
113: - Flags and sorts cloud agents and models below local or self-hosted choices.
114: 
115: It does not disable the cloud. Claude, Codex, Copilot-hosted models, cloud BYOK providers, Firecrawl, Perplexity, Parallel, Exa, and Supadata can still send data to their services when you select them. The warnings make those routes visible so you can decide.
116: 
117: You do not need Self-Host Mode to use a local BYOK model or local Miyo. Those are available independently.
Copilot · src/services/keychainService.ts · Q09

Sabit işlemenin orijinal metnini açın

239:   /** Whether the OS keychain is available in this Obsidian version. */
240:   // DESIGN NOTE — intentionally only checks for the `secretStorage` object,
241:   // not individual methods (`getSecret`/`setSecret`/`listSecrets`). Obsidian
242:   // ships SecretStorage as a single API surface (1.11.4); there is no
243:   // released version where the object exists but methods are missing.
244:   // Capability-probing each method would add branching for a partial-API
245:   // world that does not exist. If a future review flags this again, point
246:   // them at this note.
247:   isAvailable(): boolean {
248:     return !!this.app.secretStorage;
249:   }
250: 
251:   /** Get the current vault namespace ID. */
252:   getVaultId(): string {
253:     return this.vaultId;
254:   }
255: 
256:   /**
257:    * Set the vault namespace ID from persisted settings.
258:    * Reason: called during load to replace the path-derived fallback with the
259:    * stable persisted ID, so vault renames don't orphan keychain entries.
260:    */
261:   setVaultId(id: string): void {
262:     this.vaultId = id;
263:   }
264: 
265:   /**
266:    * Access SecretStorage with a runtime guard.
267:    * Reason: replaces scattered non-null assertions with a single guard
268:    * that produces a clear error when keychain is unavailable.
269:    */
270:   private get storage(): SecretStorage {
271:     if (!this.app.secretStorage) {
272:       throw new Error("OS keychain (SecretStorage) is not available.");
273:     }
274:     return this.app.secretStorage;
Akıllı Bağlantılar · src/main.js · Q13

Sabit işlemenin orijinal metnini açın

144:   async check_for_updates() {
145:     if (await this.is_new_plugin_version(this.manifest.version)) {
146:       // console.log("opening release notes modal");
147:       try {
148:         this.ReleaseNotesView.open(this.app.workspace, this.manifest.version);
149:       } catch (error) {
150:         console.error('Failed to open ReleaseNotesView', error);
151:       }
152:       await this.set_last_known_version(this.manifest.version);
153:     }
154:     window.setTimeout(this.check_for_update.bind(this), 3000);
155:   }
156: 
157:   async check_for_update() {
158:     try {
159:       const { json: response } = await requestUrl({
160:         url: "https://api.github.com/repos/brianpetro/obsidian-smart-connections/releases/latest",
161:         method: "GET",
162:         headers: {
163:           "Content-Type": "application/json",
164:         },
165:         contentType: "application/json",
166:       });
167:       const latest_release = response.tag_name;
168:       if (latest_release !== this.manifest.version) {
169:         if (!this.update_available || this.latest_release_version !== latest_release) {
Metin Oluşturucu · src/default-settings.ts · Q15

Sabit işlemenin orijinal metnini açın

4: const DEFAULT_SETTINGS: TextGeneratorSettings = {
5:   version: pkg.version as any,
6:   endpoint: "https://api.openai.com/v1",
7:   models: [],
8:   api_key: "",
9:   encrypt_keys: false,
10:   selectedProvider: "OpenAI Chat (Langchain)",
11:   max_tokens: 5000,
12:   temperature: 0.7,
13:   frequency_penalty: 0.5,
14:   showStatusBar: true,
15:   outputToBlockQuote: false,
16:   freeCursorOnStreaming: false,
17:   allowJavascriptRun: false,
18:   experiment: false,
19:   promptsPath: "textgenerator/templates",
20:   textGenPath: "textgenerator/",
21:   prefix: "\n\n",
22:   tgSelectionLimiter: "^\\*\\*\\*",
23:   stream: true,
24:   context: {
25:     customInstructEnabled: true,
26:     includeClipboard: true,
27:     customInstruct: `Title: {{title}}
28:   
29: Starred Blocks: {{starredBlocks}}
30: 	  
31: {{tg_selection}}`,
32: 
33:     contextTemplate: `Title: {{title}}
34: 	
35: Starred Blocks: {{starredBlocks}}
36: 	  
37: {{tg_selection}}`,
38:   },
39:   requestTimeout: 300000,
40:   options: {
Metin Oluşturucu · src/scope/context-manager.ts · Q17

Sabit işlemenin orijinal metnini açın

355:       {},
356:       this.getFrontmatter(this.getMetaData(templatePath)),
357:       contextObj.frontmatter
358:     );
359: 
360:     if (contextOptions.includeClipboard)
361:       try {
362:         blocks["clipboard"] = await this.getClipboard();
363:       } catch {
364:         // empty
365:       }
366: 
367:     const options = {
368:       selection,
369:       selections,
370:       ...blocks["frontmatter"],
371:       ...blocks["headings"],
372:       content: ctnt,
373:       context,
374:       ...blocks,
Metin Oluşturucu · src/main.ts · Q20

Sabit işlemenin orijinal metnini açın

664:   encryptAllKeys() {
665:     // check if user have LLMProviderOptionsKeysHashed object (upgrading from older version)
666:     this.settings.LLMProviderOptionsKeysHashed ??= {};
667: 
668:     const keyList: string[] = [];
669: 
670:     this.settings.api_key_encrypted = this.getEncryptedKey(
671:       this.settings.api_key
672:     );
673: 
674:     // get all secret keys
675:     Object.entries(this.settings?.LLMProviderOptions).forEach(([key1, l1]) => {
676:       if (typeof l1 != "object") return;
677:       Object.entries(l1).forEach(([key2, l2]) => {
678:         if (key2.toLowerCase().includes("key") && typeof l2 == "string") {
679:           keyList.push(`${key1}.${key2}`);
680:         }
681:       });
682:     });
683: 
684:     keyList.forEach((pth) => {
685:       const keyval =
686:         (get(this.settings?.LLMProviderOptions, pth) as never as string) || "";
687: 
688:       const encrypted = this.getEncryptedKey(keyval);
689:       this.settings.LLMProviderOptionsKeysHashed[pth] = encrypted;
690:     });
691:   }
692: 
693:   removeApikeys(settings: typeof this.settings): typeof this.settings {
694:     const LLMProviderOptions = JSON.parse(
695:       JSON.stringify(settings?.LLMProviderOptions)
696:     ) as typeof this.settings.LLMProviderOptions;
697: 
698:     // get all secret keys
699:     Object.entries(LLMProviderOptions).forEach(([key1, l1]) => {
700:       if (typeof l1 != "object") return;
701:       Object.entries(l1).forEach(([key2, l2]) => {
702:         if (key2.toLowerCase().includes("key") && typeof l2 == "string") {
703:           set(LLMProviderOptions, `${key1}.${key2}`, "");
704:         }
705:       });
706:     });
707: 
708:     return {
709:       ...settings,
710:       api_key: "",
711:       LLMProviderOptions,
712:     };
Metin Oluşturucu · src/main.ts · Q21

Sabit işlemenin orijinal metnini açın

742:   getEncryptedKey(apiKey: string) {
743:     if (!safeStorage?.isEncryptionAvailable() || !this.settings.encrypt_keys) {
744:       return `${DecryptKeyPrefix}${apiKey}`;
745:     }
746: 
747:     return safeStorage.encryptString(apiKey) as Buffer;
748:   }
749: 
Metin Oluşturucu · src/constants.ts · Q22

Sabit işlemenin orijinal metnini açın

35:   custom_header: true,
36: };
37: 
38: export const DecryptKeyPrefix = "__@#key_prefix#@__";
39: 

Bu karşılaştırmada ne doğrulanmadı

Eklenti kurulumu, etkinleştirme, ayar arayüzü, üretim, model/API çağrıları, gerçek anahtarlar, gönderilen paketler, tüm bağımlılıkların ağ denetimi ve sağlayıcı tarafındaki saklama, eğitim ve silme politikalarına uyum doğrulanmadı. SimpleMemo giriş, teslim ve yapay zekâ etiketleme; eşitleme, cihazlara göre davranış, hız, üretkenlik, trafik ve yapay zekâ atıf etkileri de kapsam dışıdır.

SimpleMemo Developer tarafından yazıldı. YURIKA, K.K. tarafından işletilen bu sitenin malzeme karşılaştırmasında, Obsidian'nin resmi sertifikası veya her bir eklentinin gizlilik sertifikası değildir.