DeepSeek Harness Remote
DeepSeek Harness Remote 可將手機或另一台電腦與你運行 DeepSeek Harness 的電腦安全連接,隨時隨地繼續你的工作,方便隨時查看進度並繼續工作。
AI 翻譯
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Free/libre AI utilities for writing, analysis, and research, under your control.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗English · Română · Français · Italiano · Español · Português · Deutsch · Magyar
Version: 2.2.1 · Last updated: 2026-10-31
Interface languages: Română, English, Français, Italiano, Español, Português (PT), Deutsch, Magyar
Status: stable (2.2.0). The optional password encryption of API keys is new and has not been audited by a third party.
Offline: partial. The interface and the bundled libraries load offline after the first visit (service worker); every chat answer needs a network connection to the chosen provider, except local Ollama / LM Studio servers and the WebLLM model once downloaded.
Chat with free artificial-intelligence models or with your own API keys, plus a guide to the best free AIs, in a single HTML file.
Live app: https://chiuta.github.io/AI-Liber/
AI Liber is a single-file app (index.html) that offers one chat interface to several language-model providers: free services with no account (for example Pollinations, DuckDuckGo AI Chat, AI Horde), services with your own API key (OpenAI, Anthropic, Gemini, Groq, Mistral, OpenRouter, Perplexity), local servers (Ollama, LM Studio) and a model run directly in the browser through WebLLM. It also includes a section with a catalogue of free AIs, a quiz and prompt ideas.
localhost:11434) and LM Studio (localhost:1234) and for a local in-browser model (WebLLM).FFF.pii): when the message is about to go to an external service (Pollinations, DuckDuckGo, AI Horde, API-key services), the app looks locally for emails, phone numbers, IBANs (mod 97), CNPs (check digit), cards (Luhn), IPs, keys/tokens. If it finds something, it sends nothing until you choose: "Mask the ticked items and continue", "Continue without masking" or "Cancel" (the text stays in the field). It can be switched off from the sidebar (the preference is kept). For local models (WebLLM, Ollama, LM Studio) the dialog is not shown, because the text does not leave the computer.localStorage (keys ai-liber.conv, ai-liber.hist), with personal data masked if you want (button "Search for personal data in the history"). The "🗂 Local history" panel has local search by meaning (FFF.search: BM25, diacritics, close forms, highlighted fragments), resuming a conversation in the chat, deletion per conversation, Markdown export.FFF kit. From fff-kit (pasted into index.html, no network) the modules core, label, bundle, pii, search are used: the transparency label (press the version in the footer), .fff.json export/import/deletion with optional AES-GCM + PBKDF2 encryption, local personal-data detection and local BM25 search. The CSP policy has not been changed from the previous version apart from the sha256 hashes of the inline scripts (the new styles are in <style>, covered by the style-src 'unsafe-inline' already present; no new host was added). The translations of the new texts into fr/it/es/pt/hu/de are automatic and not natively verified. Personal-data detection is heuristic: it may miss or wrongly flag; it does not replace your own checking.
OLLAMA_ORIGINS=* ollama serve or the LM Studio server on port 1234, then choose the local model.The app is not strictly offline: the chat works only by contacting the services you choose.
sessionStorage; in practice they survive a reload of the same tab, but not a new tab or a browser restart (the secret is lost, the encrypted keys remain unreadable in localStorage), so they have to be re-entered. Verified by a test (reload: the key stays; new tab: empty).ai-liber.lang), obscured API keys (ai-liber.aik.enc_*, ai-liber.aik.*) with a salt (ai-liber.ksalt), a local list of models that returned a 404 error (ai-liber.404), an interface preference (ai-liber.sbw), the option to automatically update the model list (ai-liber.pollauto, only if you tick it). In sessionStorage: a session secret (ailib_ssec). Also: the personal-data check preference (ai-liber.piiguard) and, only if you tick the option, the local history (ai-liber.hist, ai-liber.conv).https://text.pollinations.ai/models) is requested only if you press "Reload Pollinations models" / "Check & update models" or explicitly tick, in the sidebar, "Automatically update the list at startup" (opt-in, off by default; the preference is kept in ai-liber.pollauto). Until then the local catalogue in the page is used. When an answer contains formulas ($…$), KaTeX is loaded from vendor/ (same origin, with SRI integrity check).text.pollinations.ai, auth.pollinations.ai (Pollinations); duckduckgo.com (DuckDuckGo AI Chat); aihorde.net (AI Horde); api.openai.com, api.anthropic.com, generativelanguage.googleapis.com, api.perplexity.ai and other providers' APIs, only if you use the respective key; raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/00fe7a40e57e5e8eb9fef87526a4bf28ad5846c0/ (the model library .wasm, pinned commit, verified by WebLLM with SHA-256 SRI; only when you enable the in-browser model) and huggingface.co/mlc-ai/ (+ *.huggingface.co, *.hf.co) for the weights, which have no pinned hash. WebLLM itself (@mlc-ai/[email protected]) is in , not on a CDN.In the "⚙️ API keys" window there is a "Password protection" card. Off by default: keys keep working exactly as before (obscured with AES-GCM, secret in sessionStorage).
ai-liber.aik.vault. The old entries are deleted only after the envelope has been read back and decrypted successfully (migration without loss). "Turn off protection" does the reverse after you confirm the password.node tests/keyvault-core.test.mjs (WebCrypto in Node: round trip, wrong password, tampering, iterations) and node tests/keyvault-ui.test.mjs (headless browser: turn on, reload, unlock, add a key, turn off).node tests/keyvault-i18n.test.mjs.Both are single-file chat front-ends and they overlap in the "chat with your own API key" part; they are kept separate on purpose.
| AI Liber | Nexus fără frontiere | |
|---|---|---|
| Aim | A gateway for everyone: free no-account models, a guide to free AIs, quiz, prompt ideas | A working tool for people who already have keys: agents, step flows, own agents |
| No-account / free services | Yes (Pollinations, DuckDuckGo, AI Horde) | No: a key (or a local endpoint) is required |
| In-browser model (WebLLM) and local Ollama / LM Studio | Yes | Local endpoints only via "Custom" |
| Agents and agent flows | No | Yes |
| Providers | OpenAI, Anthropic, Gemini, Groq, Mistral, OpenRouter, Perplexity and more | Anthropic, OpenAI, Google and "Custom" (OpenAI-compatible) |
See also: https://chiuta.github.io/Nexus-fara-frontiere/
AI answers can be wrong; the app displays under the message field the warning "AI can make mistakes. For medical/legal/financial info — consult a specialist" (in the interface language). Messages are processed by the chosen providers, according to their policies.
Download index.html and open it in a browser. The interface, the catalogue, the quiz and the guides work without internet; for any chat answer you need a connection to the chosen provider (or a local Ollama/LM Studio server running on your computer).
MIT — see the LICENSE file
Audit: 2026-10-10 (round 2: 2026-10-11) — fetchPollModels() is now opt-in (it no longer runs at startup or on visibilitychange without your consent); the message in the interface about keys explicitly says they last only for the tab's session; KaTeX from cdn.jsdelivr.net (index.html:~7063). The Markdown rendering of AI answers is protected against XSS (tested with <img onerror>, javascript:, injected attributes in href, formulas). Contrast and focus fixes.
Alexio — Alexandru-Ionuț Chiuță, contact: [email protected]. The app is offered in the spirit of the trade-free TROM movement (trom.tf); voluntary support is optional.
AI Liber is a single-file HTML chat front-end for free no-account AI services, bring-your-own-key APIs, local Ollama/LM Studio servers and an in-browser WebLLM model, plus a directory of free AI tools, a quiz and prompt ideas. 8 UI languages. Keys are kept in localStorage (AES-GCM obfuscated, not strong encryption). Chat requires internet access to the chosen provider. MIT licence.
ai-liber.*); existing data (language, history, encrypted API keys, salt) is migrated automatically at startup, and old .fff.json copies can still be imported.Library loading no longer trusts a CDN: WebLLM 0.2.84 (and KaTeX 0.16.9) are in vendor/ and loaded from the same origin; model libraries (.wasm) come from a pinned binary-mlc-llm-libs commit and are verified by SHA-256 SRI (refused on mismatch). The CSP no longer allows esm.run, cdn.jsdelivr.net or the whole of raw.githubusercontent.com.
The Gemma 2 model ids now match WebLLM 0.2.84 (gemma-2-*-it-q4f16_1-MLC). New NOTICE.md. Added size: ~6.4 MB.
1.4.6 — 2026-10-22: fff-kit 1.1.4: touch targets and minimum text size
1.4.5 — 2026-10-22: fff-kit 1.1.2: PBKDF2 600,000 iterations, anti-clickjacking protection
1.4.4 — 2026-10-22: Consent dialog before the first message to an external keyless service (Pollinations, DuckDuckGo, AI Horde); the model-removal confirmation uses an in-page dialog instead of window.confirm; text ≥ 12 px and larger checkboxes on mobile.
1.4.3 — 2026-10-22: fix: the AI Horde and local-model names (LM Studio, Ollama) and the AI Horde card in the explore grid now follow the selected language.
1.4.2 (22 October 2026): The page title now follows the interface language; the model list labels and the Explore catalog are rebuilt in the saved language at startup (they used to stay Romanian after a reload); the model-check dialog text is translated.
1.4.1 — 2026-10-19: the personal-data check before sending, the "what leaves" indicator and the optional local history described above (introduced in 1.1.0) are present in the current version: they had been removed by mistake in an earlier cleanup and were reimplemented with the same behaviour and new tests (tests/fff-r8.test.mjs). The interface (including the descriptions of the models) is available in 8 languages, Hungarian included.
1.1.0 — 2026-10-14: local check for personal data before sending (FFF.pii), "what leaves" indicator, optional searchable local history (FFF.search), encrypted .fff.json copy (FFF.bundle), transparency label; tests in tests/fff-r8.test.mjs.
1.0.0 — 2026-10-12: the version and the date of the last update are shown in the app
11 October 2026 (round 7) — in the API-keys panel the security note no longer displays the literal <strong>NOT</strong> (the HTML tags were removed from the text in the 7 languages); the "🤖 AI Models" header in the side panel and the "N models (cache/live)" badges are now translated when the language changes; the models' specification labels ("Fastest", "Reasoning", "Programming", etc.) are translated into EN/FR/IT/ES/PT/DE; the providers' guides in Settings appear in English (not in Romanian) in the non-RO languages; the CSP keeps the recalculated hash. The legal texts were not modified. 0 errors, axe 0 violations at 1280×800 and 360×740.
vendor/vendor/mammoth.browser.min.js for .docx, vendor/pdfjs/ for PDF), but the extracted text reaches the chosen provider along with the message. The catalogues contain external links (navigation only, on click).sha256 hash (no 'unsafe-inline' in script-src); UI events are handled by a delegated dispatcher (data-onclick, data-onchange, data-oninput, data-onkeydown + data-arg), with no inline on* attributes. After any change to the script, recalculate the hash in the CSP meta. script-src allows only 'self' (plus the inline hash): WebLLM, KaTeX, pdf.js and mammoth are loaded from vendor/; no CDN host is allowed. See NOTICE.md.localhost) are contacted only if you select them; from HTTPS pages the browser may block calls to http://localhost (mixed content).11 October 2026 (second intervention) — the 112 inline on* attributes (85 distinct handlers) were replaced with a delegated dispatcher at body level, and the CSP no longer has 'unsafe-inline' in script-src (sha256 hash); behavioural parity was verified automatically on 12 states of the app (over 6,800 events fired on the old and the new version, the same calls and arguments, 0 differences) and with CSP active (0 errors, 0 violations). The model catalogue is now rebuilt when the language changes (the labels "runs in the browser", "Local in browser", the reasoning groups no longer stay in the old language), the providers' guides in Settings have an English translation (in the other languages they remain in Romanian), the label and the aria-labels of the support widget are translated into the 7 languages, and the trial-credit offers in the OpenAI/Anthropic guides are worded as variables ("check the site"), not as promises.
11 October 2026 — the welcome screen is regenerated when the language changes (before, it stayed in Romanian in an English/French etc. interface); the banner no longer lists perishable models (GPT-4, Llama 70B, DeepSeek R1…); the DuckDuckGo guide is dated and carries a warning about retired models; a dated note in "Explore" about changing free plans; a clear "you are offline" message (7 languages) instead of a network error when you choose a model that needs internet; on 360 px there are no more horizontal overflows (top bar, Legal page).
Accessibility: the content is in main (including the Legal page), a visually hidden h1 heading, the heading order corrected, the support widget has the complementary role; axe-core: 0 violations at 1280×800 and 360×740 on the Chat, Explore, Tips and Legal pages. The 113 inline onclick/onchange attributes remained (the CSP allows 'unsafe-inline'; refactoring them would be risky without extensive regression tests). The app has no version number.