Бібліотека читання
Створіть картку історії пошуку без зберігання секретів
Зберігайте корисну історію пошуку про квантування, відокремлюючи секрети, надіслані умови, спостереження відповіді й читацькі нотатки.
Перелічіть відкриті параметри для повторення запиту
Структура картки історії має точно відповідати контракту фільтрів API. У запропонованому журналі LocalLLaMA записуйте надіслані q, subreddit, author, kind, from, to, min_score, limit і page, коли вони використані. Стислий приклад: q=quantization, subreddit=LocalLLaMA, limit=3, page=1. Дати зберігайте у фактично надісланому форматі YYYY-MM-DD UTC. Ці записи пояснюють умови, але не доводять повернення конкретного обговорення; повтор не гарантує тієї самої відповіді пізніше.
Вважайте відкриті параметри полями без облікових секретів, а не автоматично нешкідливою інформацією. Запит може містити назву закритого проєкту, а нотатка — ідентифікувати людину, яку читач не хотів розкривати. Вирішуйте, що зберігати чи експортувати, замість копіювання всього об’єкта запиту. Виключіть заголовки автентифікації. Якщо застосунок зберігає відповідь локально, відділіть її від запиту й запишіть час отримання. Інакше посилання для повтору можна сплутати з архівною копією первинного результату.
Зберігайте секрети окремо
Backend застосунку має мати доступ до збереженого API-ключа для надсилання X-API-Key або Authorization: Bearer. Односторонній хеш не може надати цей вихідний секрет. Тримайте придатний ключ у належному серверному сховищі, поза браузерними bundles, URL, експортами історії та діагностичними журналами. Сам сервіс зберігає хеш і префікс ключа для автентифікації — це інша роль. Повний ключ показують один раз при реєстрації чи регенерації; регенерація негайно скасовує попередній. Історія не має випадково стати резервною копією ключа.
Розділяйте три відносини: обліковий запис читача в застосунку, сесію оператора сервісу та API-ключ для отримання даних. Ключі й баланси належать конкретному tenant; зміна хоста не робить чужий ключ чинним. Вилучення секретів з історії зменшує один шлях витоку, але не убезпечує запити й нотатки від усіх проблем браузера чи контролю доступу. Перевірте власні правила зберігання й поширення. Не рекламуйте запропоновану картку як перевірену межу безпеки або готову функцію історії архівного API.
Зберігайте нотатки про тлумачення
Відділяйте спостереження від висновків. Картка може зазначати три показані записи, відсутність придатного основного тексту в одному й відкрите питання про умови вимірювання пам’яті. Це ілюстративна нотатка, не спостережений результат архіву. Зберігаючи pagination.total, зберігайте й pagination.relation, а також потрібні ознаки продовження та межі вікна. Нижня межа — не точне число. Жодне з цих полів не вимірює релевантність запису або поширеність проблеми.
Дозвольте читачам коротко пояснювати, чому вони залишили посилання. Позначайте текст як їхню нотатку, зберігайте наявну ідентичність джерела й не змішуйте його з цитатами. Необов’язкових полів може не бути, а батьківські посилання не дають повного обговорення. Повторне відкриття збереженої відповіді не зобов’язане викликати API; явне оновлення — новий запит. Успішні оновлення коштують один кредит навіть без записів. Зберігайте невдале чи непевне оновлення окремо, а не замінюйте старе спостереження порожньою карткою без пояснення.
Перевірте межі зберігання
Визначте видалення, експорт і строк зберігання застосунку, перш ніж пропонувати постійну історію. Видалення локальної картки прибирає дані, вибрані вашою реалізацією; воно не видаляє архівного запису, не закриває облікового запису сервісу й не змінює його платіжних записів. Очищення браузера, втрата пристрою чи обмеження сховища можуть прибрати історію. Якщо пропонуєте синхронізацію чи резервні копії, описуйте й перевіряйте їх окремо. Це не endpoints архіву, і стаття не встановлює, що їх реалізовано.
Сервіс тут не вказує фіксованого строку зберігання даних облікового запису; це не обіцяє постійного доступу до архівного вмісту. Збережений запит може лишатися зрозумілим після зникнення джерела, якщо картка відділяє колишнє спостереження від нового отримання. Перевіряйте експорт на секрети й чутливі нотатки та дайте читачеві вибрати, що залишити. Корисний результат — простежуваний запис пошукового рішення, а не гарантія безстрокової чинності його даних, тлумачення чи посилання.