areev -js (英语)
为Areev装订的Node.js (napi-rs) 为AI代理的嵌入式内存引擎.
areev-js 是让 Areev 接触到 Node.js 的土生土长
作为 @areev/areev ——无范围 areev 名称正在等待 npm 相似度- filter
例外(npm的垃圾邮件过滤器读取它太接近 argv;范围
软件包不是叉子,只是当前安装的名称。 照着活人
带有同样薄而稳定的 FFI 常规的约束: scalar 参数
中, JSON 串出任何结构化的东西, 以及作为 JavaScript 投出的错误
Errors. 由于基础引擎是原生的,这是编译的节点
加上加词而不是瓦斯姆。 一个记忆是一个文件,打开一个命名空间,
给 JavaScript 代理可持久添加 / recept / 取代 / 忘记
内容地址为内存 .
const { Areev } = require('@areev/areev')
const mem = new Areev('caller.db', 'caller') // 3rd arg: passphrase for AES-256 at rest
const h = await mem.addFact('john', 'prefers', 'tea', 0.95)
console.log(await mem.recall('john')) // JSON string, newest-first
await mem.setEmbedderCommand('python3 embed.py') // vector recall via a host command
await mem.migrate('mem0', exportJson, historyJson) // import an existing corpus (docs/migrate.md)
await mem.memoryTool('{"command": "view", "path": "/memories"}') // Anthropic memory-tool backend
探员包
验证和安装一个代理包(docs/pack.md不运输
areev 二进制. 作为JSON字符串的包报决心;拒绝
以 Error 谁 code 是已键入的原因( r)PCK-E001.PCK-E005, (中文(简体) ),
或 AUT-*编号 :STO-* 代码通过).
const { Areev, packValidate } = require('@areev/areev')
const report = JSON.parse(await packValidate('packs/invoice-to-accounting')) // no memory needed
const tenant = new Areev('tenant.db', 'shared', undefined, undefined, undefined, 'svc:installer')
try {
const installed = JSON.parse(await tenant.packInstall('packs/invoice-to-accounting', {
expectedHash: planHash, // refuse unless the plan builds to this
executorPins: { screen: pinnedAddr }, // checked, never written (PCK-E005)
}))
} catch (e) {
console.log(e.code) // 'PCK-E002', 'PCK-E005', 'AUT-E001', …
} finally {
tenant.close()
}
每一种方法都回报承诺
存储呼叫运行在 libuv 的线程池上,而不是运行您的线程上
应用。 他们以前是用内线运行的: migrate 或者说 importBundle 举行
整个期间的事件循环,因此计时器、套接字和任何 HTTP 服务器都在
同一进程停止,直到完成。 以400个记录衡量 migrate, (中文(简体) ),
a 5ms计时器现在起火 263次 (简体中文) 在召唤中,它不能射击
一点也不.
二事相继而来,而后一事相接而入:
-
构造器保持同步. 打开文件应大声失败, at 打开它的线条.
-
等待你的写作. 承诺按完成顺序解决 而不是按电话顺序解决, 并同时发出呼吁 要求店里有一个锁 这是一场比赛:
mem.addFact('john', 'prefers', 'tea') // not awaited const rows = await mem.recall('john') // may or may not see it等待写作修正。 如果您想要多个独立写到 重叠,
Promise.all并等待他们.
错误以拒绝方式出现, 所以 try编号 :catch 周围 await,或 .catch()。 。 。 .
不期待的呼唤失败 成为无人处理的拒绝 最近的节点
版本被视为致命.
部分 阿列耶夫 ——AI代理的嵌入式内存引擎. 见 结构概览。 。 。 .
根据麻省理工学院或Apache -2.0许可.