QOwnNotesQOwnNotes
시작하기
설치
  • Ask question
  • Ask for feature
  • Report bug
  • Telegram Channel
  • Matrix/Element.io Room
  • Gitter Chat
  • IRC Channel
  • Mastodon
  • Twitter
  • Facebook
후원
  • English
  • Deutsch
  • Italiano
  • Français
  • Español
  • فارسی
  • Nederlands
  • Magyar
  • العربية
  • Polski
  • 한국어
GitHub
시작하기
설치
  • Ask question
  • Ask for feature
  • Report bug
  • Telegram Channel
  • Matrix/Element.io Room
  • Gitter Chat
  • IRC Channel
  • Mastodon
  • Twitter
  • Facebook
후원
  • English
  • Deutsch
  • Italiano
  • Français
  • Español
  • فارسی
  • Nederlands
  • Magyar
  • العربية
  • Polski
  • 한국어
GitHub
  • 시작하기

    • 개요
    • 개념
    • QOwnNotes 데모
    • /ko/getting-started/markdown.html
    • 노트 가져오기
    • 명령줄 인터페이스 매개 변수
    • QOnNotes 웹 지원 브라우저 확장
    • 명령줄 스니펫 관리자
    • QOwnNotes 웹 앱
    • QOwnNotesAPI Nextcloud 앱
    • 노트 관계 패널
    • 노트 검색
    • 단축키
    • Git versioning
  • 설치

    • 설치
    • Ubuntu Linux, elementary OS 및 Linux Mint에 설치
    • Microsoft Windows™에 설치
    • macOS™에 설치
    • Debian Linux에 설치
    • OpenSUSE Linux에 설치
    • Fedora Linux에 설치
    • 스냅으로 설치
    • Flatpak으로 설치
    • AppImage로 설치
    • Nix를 통해 설치
    • Arch Linux에 설치
    • Solus에 설치
    • KaOS Linux에 설치
    • CentOS Linux에 설치
    • Raspberry Pi OS에 설치
    • Gentoo Linux에 설치
    • Funtoo Linux에 설치
    • Void Linux에 설치
    • Slackware Linux에 설치
    • FreeBSD에 설치
    • QOwnNotes 빌드
  • 편집기

    • 맞춤법 검사
    • AI 지원
    • 시간 형식
  • 스크립팅

    • QOwnNotes 스크립팅
    • QOwnNotes에서 제공하는 메서드 및 개체
    • Hooks
    • 해설 클래스
  • 기여하기

    • 참여하기
    • 행동 강령
    • 유지 관리자
    • 번역
    • 기부
    • 후원
  • 자주 묻는 질문

    • 노트 편집 패널 없이 미리 보기 패널만 표시하려면 어떻게 해야 합니까?
    • QOwnNotes에 대해 다른 사용자가 말한 내용은 어디에서 찾을 수 있습니까?
    • 왜 메트릭스인가요?
  • 블로그 (영어)

    • /ko/blog/
    • /ko/blog/2025-07-22-Universal-binary-for-macOS.html
    • /ko/blog/2025-03-14-Note-relations-panel.html
    • /ko/blog/2024-05-17-AI-support-was-added-to-QOwnNotes.html
    • /ko/blog/2023-07-12-Source-Archive-switched-from-TuxFamily-to-GitHub-Releases.html
    • /ko/blog/2023-06-17-Nextcloud-Deck-integration-in-QOwnNotes.html
    • /ko/blog/2023-06-17-QOwnNotes-UI-End2End-Tests-with-the-help-of-NixOS.html
    • /ko/blog/2023-02-03-Test-Qt6-version-of-QOwnNotes-from-a-new-PPA-for-Ubuntu-Linux.html
    • /ko/blog/2023-01-29-Evernote-import-for-huge-files.html
    • /ko/blog/2022-12-06-Happy-1000th-release-of-QOwnNotes.html
    • /ko/blog/2022-10-15-Polish-website-translation.html
    • /ko/blog/2022-07-28-Working-with-multiple-notes.html
    • /ko/blog/2021-11-23-QOwnNotes-command-line-snippet-manager.html
    • /ko/blog/2021-11-15-Nextcloud-note-versions.html
    • /ko/blog/2021-11-11-Manage-orphaned-image-files-and-attachments.html
    • /ko/blog/2021-10-25-Linking-of-note-headings.html
    • /ko/blog/2021-08-31-Tor-Hidden-Service-Webpage.html
    • /ko/blog/2021-08-25-Use-workspaces-to-manage-different-kayouts-of-the-user-interface.html
    • /ko/blog/2021-08-25-Auto-complete-in-note-editor.html
    • /ko/blog/2021-08-22-Open-links-in-the-note-editor.html
    • /ko/blog/2021-08-21-Solve-simple-equations-in-the-note-editor.html
    • /ko/blog/2021-08-21-Auto-format-markdown-tables.html
    • /ko/blog/2021-08-20-QOwnNotes-Mastodon-page.html
    • /ko/blog/2021-08-20-Repository-for-Debian-11.html
    • /ko/blog/2021-07-18-Joplin-import.html
    • /ko/blog/2021-05-02-Send-photos-from-your-mobile-phone-to-QOwnNotes-on-the-desktop.html
    • /ko/blog/2021-01-28-Four-new-languages-added-to-the-website.html
    • /ko/blog/2021-01-16-QOwnNotes-Demo.html
    • /ko/blog/2020-11-10-Markdown-explanation.html
    • /ko/blog/2020-11-10-Webpage-translation.html
    • /ko/blog/2020-11-08-QOwnNotes-for-Ubuntu-21.04-Hirsute-Hippo.html
    • /ko/blog/2020-10-27-QOwnNotes-for-Fedora-33.html
    • /ko/blog/2020-10-26-Release-and-blog-posting-automation.html
    • /ko/blog/2020-10-26-Legacy-update-service-up-again.html
    • /ko/blog/2020-10-23-RSS-Feeds-are-back-in-place.html
    • /ko/blog/2019-08-12-Time-Flies-Podcast-episode-with-interview-about-QOwnNotes.html
    • /ko/blog/2019-01-16-Bookmark-management-with-QOwnNotes-and-Web-Companion-browser-extension.html
    • /ko/blog/2019-01-09-Firefox-extension-on-Firefox-Add-ons-page.html
    • /ko/blog/2018-12-31-Chrome-extension-in-Chrome-Web-Store.html
    • /ko/blog/2018-12-27-QOwnNotes-Web-Companion-Chrome-extension.html
    • /ko/blog/2018-12-23-500th-release-of-QOwnNotes.html
    • /ko/blog/2018-10-05-QOwnNotes-Telegram-Group.html
    • /ko/blog/2018-08-07-Vim-mode.html
    • /ko/blog/2018-03-29-QOwnNotes-for-openSUSE-Leap-15-SUSE-Linux-Enterprise-15-and-SUSE-Linux-Enterprise-12-SP3.html
    • /ko/blog/2018-01-11-QOwnNotes-featured-on-LINUX-Unplugged-podcast-and-by-Ubuntu.html
    • /ko/blog/2017-12-12-Interview-for-ownCloud.html
    • /ko/blog/2017-11-24-QOwnNotes-for-Fedora-27.html
    • /ko/blog/2017-10-01-QOwnNotes-reviewed-in-German-magazine-c't.html
    • /ko/blog/2017-07-05-QOwnNotesAPI-in-the-ownCloud-Marketplace.html
    • /ko/blog/2017-07-03-QOwnNotes-as-AppImage.html
    • /ko/blog/2017-06-26-QOwnNotes-for-Debian-9.0-Fedora-26-and-openSUSE-Leap-42.3.html
    • /ko/blog/2017-05-19-Script-repository-and-script-settings-variables.html
    • /ko/blog/2016-12-20-Fedora-25-release-and-new-documentation-page.html
    • /ko/blog/2016-11-23-Solus-package-for-QOwnNotes.html
    • /ko/blog/2016-11-05-Automatic-updates-in-Windows-and-macOS.html
    • /ko/blog/2016-10-02-Note-encryption-with-keybase.io-or-directly-with-PGP.html
    • /ko/blog/2016-09-24-Evernote-import.html
    • /ko/blog/2016-09-18-Portable-mode.html
    • /ko/blog/2016-09-05-QOwnNotes-on-webupd8.org.html
    • /ko/blog/2016-07-12-QOwnNotes-featured-on-the-Linux-Voice-Podcast.html
    • /ko/blog/2016-07-12-QOwnNotes-snap.html
    • /ko/blog/2016-07-11-QOwnNotes-review-in-British-magazine-Linux-Format.html
    • /ko/blog/2016-06-27-QOwnNotes-Slackware-Linux-Repository.html
    • /ko/blog/2016-06-22-QOwnNotes-review.html
    • /ko/blog/2016-05-25-QOwnNotes-IRC.html
    • /ko/blog/2016-05-13-QOwnNotes-now-has-scripting-support.html
    • /ko/blog/2016-03-28-QOwnNotes-is-the-Desktop-App-Pick-on-the-Linux-Action-Show.html
    • /ko/blog/2016-03-25-QOwnNotes-got-featured-in-Linux-Voice-25.html
    • /ko/blog/2016-03-01-QOwnNotes-Gentoo-Linux-Overlay.html
    • /ko/blog/2016-02-26-Translate-QOwnNotes-on-Crowdin.html
    • /ko/blog/2016-02-14-QOwnNotes-1.0-out-now-in-6-languages-and-with-Freedesktop-theme-icons-support.html
    • /ko/blog/2016-01-31-QOwnNotes-software-repository-for-Debian-Linux.html
    • /ko/blog/2016-01-30-QOwnNotes-package-on-the-Arch-User-Repository.html
    • /ko/blog/2016-01-27-QOwnNotes-software-repository-for-Arch-Linux.html
    • /ko/blog/2016-01-26-Webpage-redesign.html
    • /ko/blog/2016-01-13-Qt-widget-QMarkdownTextEdit-now-a-separate-project-for-developer's-pleasure.html
    • /ko/blog/2016-01-09-New-release-version-RSS-feed.html
    • /ko/blog/2016-01-07-New-Linux-software-repositories-and-todo-list-support.html
    • /ko/blog/2015-11-04-QOwnNotes-on-Linux-Unplugged.html
    • /ko/blog/2015-07-27-Build-and-release-systems-for-QOwnNotes-for-Linux-Mac-OS-X-and-Windows.html
    • /ko/blog/2015-03-23-Links-to-other-notes-or-files-are-now-possible-in-QOwnNotes.html
  • 변경 로그 (영어)

    • QOwnNotes Changelog

Hooks

NoteStored에서

메서드 호출 및 매개 변수

/**
 * 이 기능은 노트가 디스크에 저장될 때 호출됩니다
 * 저장된 노트는 수정할 수 없습니다. 수작업으로 수정할 가능성이 
 * 높기 때문에 혼란스러울 수 있습니다.
 *
 * @param {NoteApi} note - the note object of the stored note
 */
function onNoteStored(note);

on-note-opened.qml 예제를 살펴보는 것이 좋습니다.

noteOpenedHook

메서드 호출 및 매개 변수

/**
 * 이 함수는 노트가 열린 후에 호출됩니다
 *
 * @param {NoteApi} note - the note object that was opened
 */
function noteOpenedHook(note);

on-note-opened.qml 예제를 살펴보는 것이 좋습니다.

noteDoubleClickedHook

메서드 호출 및 매개 변수

/**
 * 함수는 노트를 더블클릭한 후 호출됩니다
 *
 * @param {NoteApi} note - the note object that was clicked
 */
function noteDoubleClickedHook(note);

external-note-open.qml 예제를 살펴보는 것이 좋습니다.

insertMediaHook

이 기능은 현재 노트에 미디어 파일을 삽입할 때 호출됩니다.

이 함수가 여러 스크립트에 정의된 경우 비어 있지 않은 문자열을 반환하는 첫 번째 스크립트가 승리합니다.

메서드 호출 및 매개 변수

/**
 * @param fileName string the file path of the source media file before it was copied to the media folder
 * @param markdownText string the markdown text of the media file, e.g. ![my-image](media/my-image-4101461585.jpg)
 * @return string the new markdown text of the media file
 */
function insertMediaHook(fileName, markdownText);

example.qml 예제를 살펴보는 것이 좋습니다.

insertAttachmentHook

이 기능은 첨부 파일이 현재 노트에 삽입될 때 호출됩니다.

이 함수가 여러 스크립트에 정의된 경우 비어 있지 않은 문자열을 반환하는 첫 번째 스크립트가 승리합니다.

메서드 호출 및 매개 변수

/**
 * @param fileName string the file path of the source attachment file before it was copied to the attachment folder
 * @param markdownText string the markdown text of the attachment file, e.g. [my-file.txt](attachments/my-file-4245650967.txt)
 * @return string the new markdown text of the attachment file
 */
function insertAttachmentHook(fileName, markdownText);

example.qml 예제를 살펴보는 것이 좋습니다.

insertingFromMimeDataHook

메서드 호출 및 매개 변수

/**
 * 이 함수는 `Ctrl + Shift + V`를 사용해 노트에 HTML 또는 미디어 파일을 붙여넣을 때 호출됩니다
 *
 * @param text text of the QMimeData object
 * @param html html of the QMimeData object
 * @returns the string that should be inserted instead of the text from the QMimeData object
 */
function insertingFromMimeDataHook(text, html);

example.qml, insert-headline-with-link-from-github-url.qml 또는 note-text-from-5pm-mail.qml 예제를 살펴보는 것이 좋습니다.

handleNoteTextFileNameHook

메서드 호출 및 매개 변수

/**
 * 이 함수는 노트가 디스크에 저장될 때 다음과 같은 경우에 호출됩니다
 * 설정에서 "노트 파일 이름을 제목과 다르게 허용"이 활성화되어
 * 있습니다
 *
 * 노트 파일의 이름을 수정할 수 있습니다
 * 중복된 이름은 직접 관리해야 한다는 점을 명심하세요!
 *
 * 노트의 파일 이름을 수정하지 않아야 하는 경우
 * 빈 문자열 반환
 *
 * @param {NoteApi} note - the note object of the stored note
 * @return {string} the file name of the note
 */
function handleNoteTextFileNameHook(note);

example.qml 또는 use-tag-names-in-filename.qml 예제를 살펴보는 것이 좋습니다.

handleNoteNameHook

메서드 호출 및 매개 변수

/**
 * 이 기능은 노트에 대한 노트 이름이 결정될 때 호출됩니다
 *
 * 표시된 노트의 이름을 수정할 수 있습니다
 *
 * 노트 이름을 수정하지 않아야 하는 경우 빈 문자열 반환
 *
 * @param {NoteApi} note - the note object of the stored note
 * @return {string} the name of the note
 */
function handleNoteNameHook(note);

노트 이름은 주로 목록에 노트를 표시할 때 사용됩니다.

example.qml 예제를 살펴보는 것이 좋습니다.

파일 이름을 노트 이름으로 사용하도록 설정이 활성화되어 있는 경우, 이 훅을 사용하는 것이 좋지 않을 수 있습니다.

handleNewNoteHeadlineHook

메서드 호출 및 매개 변수

/**
 * 노트를 만들기 전에 이 함수를 호출합니다
 *
 * 노트를 만들기 전에 노트의 헤드라인을 수정할 수 있습니다
 * 고유한 노트 이름에 주의해야 합니다. 그렇지 않으면
 * 새 노트가 생성되지 않고 노트 목록에서만 찾을 수 있습니다
 *
 * 노트 템플릿을 만드는 데 이 기능을 사용할 수 있습니다
 *
 * @param headline text that would be used to create the headline
 * @return {string} the headline of the note
 */
function handleNewNoteHeadlineHook(headline);

custom-new-note-headline.qml 예제를 살펴보는 것이 좋습니다.

preNoteToMarkdownHtmlHook

메서드 호출 및 매개 변수

/**
 * 이 함수는 노트의 마크다운 HTML이 생성되기 전에 호출됩니다
 *
 * 마크다운으로 전달되는 내용을 HTML 변환기로 수정할 수 있습니다
 *
 * 예를 들어 이 함수는 여러 스크립트에서 미리보기를 위해 코드 (LaTeX 수학 또는 인어)를
 * 그래픽 표현으로 렌더링하는 데 사용할 수 있습니다
 *
 * 이 과정에서 노트는 변경되지 않습니다
 *
 * @param {NoteApi} note - the note object
 * @param {string} markdown - the markdown that is about to being converted to html
 * @param {bool} forExport - true if the html is used for an export, false for the preview
 * @return {string} the modified markdown or an empty string if nothing should be modified
 */
function preNoteToMarkdownHtmlHook(note, markdown, forExport);

preview-styling.qml 예제를 살펴보는 것이 좋습니다.

noteToMarkdownHtmlHook

메서드 호출 및 매개 변수

/**
 * 이 함수는 노트의 마크다운 html이 생성될 때 호출됩니다
 *
 * 이 html을 수정할 수 있습니다
 * 예를 들어 노트 미리 보기에서 이전에 호출됩니다
 *
 * 이 함수는 미리보기의 html을 수정하기 위해 여러 스크립트에서 사용될 수 있습니다
 *
 * @param {NoteApi} note - the note object
 * @param {string} html - the html that is about to being rendered
 * @param {bool} forExport - true if the html is used for an export, false for the preview
 * @return {string} the modified html or an empty string if nothing should be modified
 */
function noteToMarkdownHtmlHook(note, html, forExport);

example.qml 또는 preview-styling.qml 예제를 살펴보는 것이 좋습니다.

지원되는 모든 css 스타일 목록은 지원되는 HTML 하위 집합 문서를 참조하세요.

encryptionHook

메서드 호출 및 매개 변수

/**
 * 이 함수는 텍스트를 암호화하거나 해독해야 할 때 호출됩니다
 *
 * @param text string the text to encrypt or decrypt
 * @param password string the password
 * @param decrypt bool if false encryption is demanded, if true decryption is demanded
 * @return the encrypted decrypted text
 */
function encryptionHook(text, password, decrypt);

encryption-keybase.qml, encryption-pgp.qml 또는 encryption-rot13.qml의 예를 살펴볼 수 있습니다.

noteTaggingHook

예를 들어 노트에 @tag1, @tag2, @tag3와 같은 특수 텍스트를 사용하여 고유한 노트 태그 지정 메커니즘을 구현할 수 있습니다.

메서드 호출 및 매개 변수

/**
 * 노트에 대한 노트 태그 지정 처리
 *
 * 이 기능은 노트에 태그가 추가, 제거 또는 이름 변경되거나 노트의 태그가
 * 나열되어야 할 때 호출됩니다
 *
 * @param note
 * @param action can be "add", "remove", "rename" or "list"
 * @param tagName tag name to be added, removed or renamed
 * @param newTagName tag name to be renamed to if action = "rename"
 * @return note text string or string-list of tag names (if action = "list")
 */
function noteTaggingHook(note, action, tagName, newTagName);
  • as soon as a script is activated that implements the new function noteTaggingHook note tagging will be handled by that function
  • 다음 기능은 QOwnNotes 사용자 인터페이스를 통해 작동해야 합니다
    • initially importing tags like @tag from your notes and overwriting your current tag assignment
      • you will not lose your tags tree, just the former assignment to notes
      • 여전히 태그를 다른 태그로 이동할 수 있습니다
      • if more than one tag has the same name in your tag tree the first hit will be assigned
    • 노트에 태그를 추가하면 노트 텍스트에 태그가 추가됩니다
    • 노트에서 태그를 제거하면 노트 텍스트에서 태그가 제거됩니다
    • removing of tags in the tag list will remove those tags from your notes
    • 태그 목록에서 태그 이름을 변경하면 노트에 있는 태그 이름이 변경됩니다
    • bulk tagging of notes in the note list will add those tags to your notes
    • 노트 목록에서 태그를 대량으로 제거하면 해당 태그가 노트에서 제거됩니다
    • 태그가 이동하면 응용 프로그램은 모든 노트에서 선택한 모든 태그와 그 하위에 대해 일련의 추가 및 제거 작업을 트리거합니다

note-tagging.qml 예제를 보고 자체 태그 메커니즘을 구현할 수 있습니다.

::: 경고 노트 폴더나 태그 트리가 새로고침될 때마다 모든 노트에 대해 실행되므로 목록 작업이 정말 빠르다는 것을 확인하세요!

mainwindow.cpp에서 reloadTagTree을 찾을 때마다 그렇습니다. :::

noteTaggingByObjectHook

noteTaggingHook과 유사하게 자신만의 노트 태그 지정 메커니즘을 구현할 수 있지만, 태그 트리 루트의 이름에 태그를 지정할 필요는 없습니다. 이렇게 하면 태그 목록만 사용하는 대신 전체 태그 트리를 사용할 수 있습니다.

noteTaggingByObjectHook을 사용하면 태그 이름 대신 TagApi 개체를 매개 변수로 얻을 수 있습니다. 따라서 목록 작업의 경우 태그 Id 목록을 제공해야 합니다.

또한 목록 작업에 대해 이미 존재하는 태그 Id 목록을 제공하려면 누락된 태그를 직접 만들어야 합니다.

메서드 호출 및 매개 변수

/**
 * 노트에 대한 노트 태그 지정 처리
 *
 * 이 기능은 노트에 태그가 추가, 제거 또는 이름 변경되거나 노트의 태그가
 * 나열되어야 할 때 호출됩니다
 *
 * @param note
 * @param action can be "add", "remove", "rename" or "list"
 * @param tag to be added, removed or renamed
 * @param newTagName tag name to be renamed to if action = "rename"
 * @return note text string or string-list of tag ids (if action = "list")
 */
function noteTaggingByObjectHook(note, action, tag, newTagName);

고유한 태그 지정 메커니즘을 구현하기 위해 note-tagging-by-object.qml 예제를 살펴볼 수 있습니다.

autocompletionHook

자동 완성이 호출될 때 자동 완성 목록에 추가할 문자열 목록을 반환할 수 있습니다 (예를들면 Ctrl + 스페이스 누르기).

메서드 호출 및 매개 변수

/**
 * 자동 완성을 호출합니다모든 스크립트 구성 요소에 대한 후크 기능
 * 이 함수는 노트에서 자동 완성이 호출될 때 호출됩니다
 *
 * @return QStringList of text for the autocomplete list
 */
function callAutocompletionHook();

autocompletion.qml 예제를 살펴볼 수 있습니다.

websocketRawDataHook

이 후크는 웹 브라우저의 상황에 맞는 메뉴를 통해 QOwnNotes Web Companion 브라우저 확장에서 데이터를 전송할 때 호출됩니다.

메서드 호출 및 매개 변수

/**
 * @param requestType은 "page" 또는 "selection"일 수 있습니다
 * @param page요청이 이루어진 웹페이지의 Url
 * @param page요청이 이루어진 웹페이지의 페이지 제목
 * @paramrawData 전송된 데이터, request용 html "page" 또는 request용 평문Type "selection"
 * @param screenshotDataUrl 요청이 이루어진 웹 페이지의 스크린샷의 데이터 Url
 * @후크에 의해 데이터가 처리된 경우 true를 반환합니다
 */
function callHandleWebsocketRawDataHook(requestType, pageUrl, pageTitle, rawData, screenshotDataUrl);

websocket-raw-data-new-note.qml 및 websocket-raw-data-selection-in-note.qml의 예를 살펴볼 수 있습니다.

onDetachedProcessCallback

startDetachedProcess의 스크립트 스레드 실행이 완료되면 이 후크가 호출됩니다.

메서드 호출 및 매개 변수

/**
 * 이 함수는 스크립트 스레드 실행이 완료되면 호출됩니다.
 힌트: thread[1]==0은 특정 식별자에 대해 시작된 프로세스의 대부분이 수행되었는지 여부를 확인하는 데 도움이 됩니다.
 *
 * @param {QString} callbackIdentifier - the provided id when calling startDetachedProcess()
 * @param {QString} resultSet - the result of the process
 * @param {QVariantList} cmd - the entire command array [0-executablePath, 1-parameters, 2-exitCode]
 * @param {QVariantList} thread - the thread information array [0-passed callbackParameter, 1-remaining threads for this identifier]
 */
function onDetachedProcessCallback(callbackIdentifier, resultSet, cmd, thread);

callback-example.qml 예제를 살펴볼 수 있습니다.

windowStateChangedHook

메서드 호출 및 매개 변수

/**
 * 이 함수는 WindowStateChange 이벤트가 트리거된 후 호출됩니다
 *
 * @param {QString} windowState - the new window state, parameter value can be "minimized", "maximized", "fullscreen", "active" or "nostate"
 */
function windowStateChangedHook(windowState);

window-state-changed.qml 예제를 살펴볼 수 있습니다.

workspaceSwitchedHook

이 후크는 작업 공간이 전환될 때 호출됩니다.

메서드 호출 및 매개 변수

/**
 * 이 기능은 작업 공간이 전환될 때 호출됩니다
 *
 * @param oldUuid old uuid of workspace
 * @param newUuid new uuid of workspace
 */
function workspaceSwitchedHook(oldUuid, newUuid);

websocket-raw-data-new-note.qml 예제를 살펴볼 수 있습니다.

openAiBackendsHook

이 후크는 OpenAI 서비스 구성이 다시 로드될 때 호출됩니다. 예를들면, 이 작업은 스크립트 엔진이 다시 로드될 때도 수행됩니다.

사용자 지정 OpenAI 백엔드에 대한 구성을 제공하는 데 사용할 수 있습니다 ChatGPT API 호환 LLM, 예를 들어 OpenAI, Claude 또는 Ollama와 같은 시스템입니다.

메소드 호출 및 매개변수

/**
* 이 기능은 OpenAI 서비스 구성이 다시 로드될 때 호출됩니다.
* 새로운 OpenAI 백엔드에 대한 구성 매개변수가 있는 객체 목록을 반환합니다.
 */
function openAiBackendsHook() {
  return [
    {
      id: "my-custom-ai",
      name: "My Custom AI",
      baseUrl: "http://localhost:5000",
      apiKey: "kDFJkjk3asdm",
      models: ["gpt-3.5-turbo", "gpt-4.0-turbo"],
    },
    {
      id: "my-custom-ai2",
      name: "My Custom AI 2",
      baseUrl: "http://localhost:5001",
      apiKey: "lOikf7eNdb9",
      models: ["gpt-3.5-turbo2", "gpt-4.0-turbo2"],
    },
  ];
}

::: 팁 스크립트 설정 변수 등록하기를 사용할 수 있습니다 OpenAI 백엔드 설정을 스크립트 설정에 저장합니다. :::

예제를 살펴보실 수 있습니다 custom-openai-backends.qml.

Help us improve this page!
Prev
QOwnNotes에서 제공하는 메서드 및 개체
Next
해설 클래스