openvibers/openvibe.live Commits

Point Live machine setup to OpenVibe Link (#726)

OP OpenVibers committed 4 days ago · 2788201c9f · 5 files, +15 −5

* Point Live machine setup to OpenVibe Link

* Merge remote-tracking branch 'origin/main' into rename/link-1109-Live

Changes

ddiff --git a/docs/dashboard.md b/docs/dashboard.md
iindex ddb7b38c..3b8f3b50 100644
---- a/docs/dashboard.md
++++ b/docs/dashboard.md
@@@ -48,7 +48,7 @@ The **Chat AI** tab's **AI Chat Viewers** card, under **Key & Budget**, **AI sou
The key is kept encrypted in OpenVibe.AI, never in Live, and **Test connection** tries it.
- **A model on my own computer (free).** Ollama, LM Studio or llama.cpp's server on your own PC, through the OpenVibe
Node, with no port opened.
-- - **Set it up.** Install it with `--ai` from [openvibe.bot/machines](https://openvibe.bot/machines), then turn on
++ - **Set it up.** Install it with `--ai` from [openvibe.link/machines](https://openvibe.link/machines), then turn on
"Let my AI use this computer's models" for that computer there.
- **Fill in the card.** Name the computer (its `dev_` id from that page) or tick **Any of my computers that is on**
(the fastest first, the next when one is busy), name the model as your model server does, save, then
ddiff --git a/public/fragments/dashboard.html b/public/fragments/dashboard.html
iindex 86b5c7c9..76b9d842 100644
---- a/public/fragments/dashboard.html
++++ b/public/fragments/dashboard.html
@@@ -223,10 +223,10 @@
</select>
</label>
<div id="aiv-node-fields" style="display:none">
-- <p class="ai-bot-hint">Your viewers think with Ollama, LM Studio or llama.cpp on your own computer, through the OpenVibe Link: free, and no port is opened. Install it with <code>--ai</code> from <a href="https://openvibe.bot/machines" target="_blank" rel="noopener">openvibe.bot/machines</a>, then turn on "Let my AI use this computer's models" there.</p>
++ <p class="ai-bot-hint">Your viewers think with Ollama, LM Studio or llama.cpp on your own computer, through the OpenVibe Link: free, and no port is opened. Install it with <code>--ai</code> from <a href="https://openvibe.link/machines" target="_blank" rel="noopener">openvibe.link/machines</a>, then turn on "Let my AI use this computer's models" there.</p>
<label>
<span>Computer</span>
-- <input type="text" id="aiv-node-machine" class="form-input" placeholder="dev_… (from openvibe.bot/machines)" maxlength="30" autocomplete="off" autocapitalize="off" autocorrect="off" spellcheck="false" style="max-width:320px">
++ <input type="text" id="aiv-node-machine" class="form-input" placeholder="dev_… (from openvibe.link/machines)" maxlength="30" autocomplete="off" autocapitalize="off" autocorrect="off" spellcheck="false" style="max-width:320px">
</label>
<label class="vibe-switch"><input type="checkbox" id="aiv-node-any" onchange="_aivToggleKeyMode()"> <span>Any of my computers that is on (the fastest first, the next when one is busy)</span></label>
<label>
ddiff --git a/server/ai/byo-credentials.js b/server/ai/byo-credentials.js
iindex e81c9f89..bf4c8ba6 100644
---- a/server/ai/byo-credentials.js
++++ b/server/ai/byo-credentials.js
@@@ -92,7 +92,7 @@ async function store(userId, cfg, { apiKey = null } = {}) {
const provider = providerOf(cfg);
if (provider === 'node') {
const machine = machineOf(cfg);
-- if (!machine) return { ok: false, status: 400, body: { code: 'credentials.machine', detail: 'Name your computer (its dev_ id on openvibe.bot/machines), or choose any of yours' } };
++ if (!machine) return { ok: false, status: 400, body: { code: 'credentials.machine', detail: 'Name your computer (its dev_ id on openvibe.link/machines), or choose any of yours' } };
return await call('PUT', subject, { provider: 'node', machine, models: modelsOf(cfg) });
}
const put = { provider, base_url: addressOf(cfg, provider), models: modelsOf(cfg) };
ddiff --git a/server/streaming/channel-embed.js b/server/streaming/channel-embed.js
iindex e827ab5a..585be1cb 100644
---- a/server/streaming/channel-embed.js
++++ b/server/streaming/channel-embed.js
@@@ -15,7 +15,7 @@ const FALLBACK_SITES = [
'https://openvibe.zone', 'https://openvibe.surf', 'https://openvibe.codes', 'https://openvibe.quest',
'https://openvibe.food', 'https://openvibe.rent', 'https://openvibe.homes', 'https://openvibe.watch',
'https://openvibe.events', 'https://openre.stream', 'https://search.openvibe.network', 'https://openvibe.email',
-- 'https://node.openvibe.network', 'https://openvibe.website',
++ 'https://openvibe.link', 'https://openvibe.website',
];
let cachedSites = null;
let cachedAt = 0;
ddiff --git a/test/link-brand.test.js b/test/link-brand.test.js
nnew file mode 100644
iindex 00000000..eaa904f2
---- /dev/null
++++ b/test/link-brand.test.js
@@@ -0,0 +1,10 @@
++'use strict';
++const assert = require('node:assert/strict');
++const { spawnSync } = require('node:child_process');
++const path = require('node:path');
++const root = path.resolve(__dirname, '..');
++const oldName = ['OpenVibe[ .-]No' + 'de', 'openvibe-' + 'node', 'no' + 'd_', 'node[.]openvibe[.]network', 'node:lnk_', 'openvibe[.](bot|my|network)/mach' + 'ines'].join('|');
++const result = spawnSync('git', ['grep', '-n', '-I', '-i', '-E', oldName, '--', '.', ':!migrations/**', ':!test/link-brand.test.js'], { cwd: root, encoding: 'utf8' });
++assert.ok(result.status === 0 || result.status === 1, result.stderr || 'git grep failed');
++assert.equal(result.status, 1, `Old Link brand or principal returned:\n${(result.stdout || '').split('\n').slice(0, 10).join('\n')}`);
++console.log(' ok old Link brand and principal IDs are absent');