|
|
|
|
@ -94,7 +94,8 @@
@@ -94,7 +94,8 @@
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function __saveReg(d) { try { if (!cfg || !cfg.token || !d) return; var ck = 'chat' + '_session' + '_id'; var cid = d[ck] ? String(d[ck]) : ''; if (!cid) return; var SL = String.fromCharCode(47); var url = BASE + SL + 'memory' + SL + 'chats'; var hh = { 'Content-Type': 'application/json', Authorization: 'Bearer ' + cfg.token }; var ent = { injected: true, injectedAt: Date.now(), ctxChars: 0 }; var payload = { chatId: cid, entry: ent }; var rb = JSON.stringify(payload); fetch(url, { method: 'POST', headers: hh, body: rb }).then(function (r) { return r.json() }).then(function (j) { if (j && j.ok) { console.log('[chat-log] registry saved') } else { console.log('[chat-log] registry failed') } }).catch(function () { console.log('[chat-log] registry error') }) } catch (e) { } } |
|
|
|
|
function loadInjectBlock() { if (!cfg || !cfg.token) return; var h = { Authorization: 'Bearer ' + cfg.token }; fetch(BASE + '/tool', { method: 'POST', headers: { 'Content-Type': 'application/json', Authorization: 'Bearer ' + cfg.token }, body: JSON.stringify({ tool: 'dsh_read', args: { path: '_ai_notes/INJECT_2026-11-02.md' } }) }).then(function (r) { return r.json() }).then(function (j) { if (j && j.ok && j.data && j.data.content) { var __raw2 = String(j.data.content || ''); var __ls = __raw2.split(String.fromCharCode(10)); var __out = []; for (var __i = 0; __i < __ls.length; __i++) { var __L = __ls[__i]; var __p = __L.indexOf(' | '); var __ok = false; if (__p > 0 && __p < 8) { __ok = true; for (var __k = 0; __k < __p; __k++) { var __c = __L.charCodeAt(__k); if (__c !== 32 && (__c < 48 || __c > 57)) { __ok = false; break } } } if (__ok) { __out.push(__L.slice(__p + 3)) } else { __out.push(__L) } } injectBlock = __out.join(String.fromCharCode(10)); injectLoaded = true; console.log('[chat-log] inject block loaded ' + injectBlock.length) } else { injectErr = (j && j.error && j.error.code) ? j.error.code : 'no_data'; console.log('[chat-log] inject load failed ' + injectErr) } }).catch(function (e) { injectErr = 'fetch_error'; console.log('[chat-log] inject fetch error') }) } |
|
|
|
|
function loadInjectFromFile() { if (!cfg || !cfg.token) return; var SL = String.fromCharCode(47); var url = BASE + SL + 'tool'; var hh = { 'Content-Type': 'application/json', Authorization: 'Bearer ' + cfg.token }; var body = { tool: 'dsh_read', args: { path: '_ai_notes/INJECT_2026-11-02.md' } }; fetch(url, { method: 'POST', headers: hh, body: JSON.stringify(body) }).then(function (r) { return r.json() }).then(function (j) { if (j && j.ok && j.data && j.data.content) { var raw = String(j.data.content); var ls = raw.split(String.fromCharCode(10)); var out = []; for (var i = 0; i < ls.length; i++) { var L = ls[i]; var p = L.indexOf(' | '); var ok = false; if (p > 0 && p < 8) { ok = true; for (var k = 0; k < p; k++) { var c = L.charCodeAt(k); if (c !== 32 && (c < 48 || c > 57)) { ok = false; break } } } if (ok) { out.push(L.slice(p + 3)) } else { out.push(L) } } injectBlock = out.join(String.fromCharCode(10)); injectLoaded = true; console.log('[chat-log] inject from file ' + injectBlock.length) } else { injectErr = 'file_read_failed'; console.log('[chat-log] fallback file read failed') } }).catch(function () { injectErr = 'file_fetch_error'; console.log('[chat-log] fallback fetch error') }) } |
|
|
|
|
function loadInjectBlock() { if (!cfg || !cfg.token) return; var SL = String.fromCharCode(47); var url = BASE + SL + 'memory' + SL + 'state'; var hh = { Authorization: 'Bearer ' + cfg.token }; fetch(url, { method: 'GET', headers: hh }).then(function (r) { return r.json() }).then(function (j) { var out = ''; try { if (j && j.ok && j.data && Array.isArray(j.data.skills) && j.data.skills.length > 0) { var parts = []; for (var k = 0; k < j.data.skills.length; k++) { var sk = j.data.skills[k]; if (sk && typeof sk.content === 'string' && sk.content) { parts.push(sk.content) } } out = parts.join(String.fromCharCode(10) + String.fromCharCode(10)) } } catch (e) { out = '' } if (out.length > 0) { injectBlock = out; injectLoaded = true; console.log('[chat-log] inject from skills ' + injectBlock.length) } else { console.log('[chat-log] skills empty, fallback to file'); loadInjectFromFile() } }).catch(function () { console.log('[chat-log] skills fetch error, fallback'); loadInjectFromFile() }) } |
|
|
|
|
function sendLines(file, lines) { |
|
|
|
|
if (!cfg || !cfg.token) return Promise.resolve(false) |
|
|
|
|
var headers = { 'Content-Type': 'application/json' } |
|
|
|
|
|