@zenera/neo 1.1.14 → 1.1.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -20
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,14 +1,22 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
<picture>
|
|
3
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/andreyryabov/ZeneraNeo/main/docs/imgs/banner-neo-dark.svg">
|
|
4
|
+
<img src="https://raw.githubusercontent.com/andreyryabov/ZeneraNeo/main/docs/imgs/banner-neo-light.svg" alt="ZENERA NEO" width="720">
|
|
5
|
+
</picture>
|
|
6
|
+
|
|
7
|
+
[](https://www.npmjs.com/package/@zenera/neo)
|
|
8
|
+
[](https://github.com/andreyryabov/ZeneraNeo/blob/main/LICENSE)
|
|
9
|
+
[](https://nodejs.org)
|
|
10
|
+
|
|
11
|
+
</div>
|
|
12
|
+
|
|
1
13
|
# @zenera/neo
|
|
2
14
|
|
|
3
15
|
**A multi-agent runtime for Node.js: agents, models, tools, skills, memory and
|
|
4
16
|
an append-only trajectory.**
|
|
5
17
|
|
|
6
|
-
[](https://www.npmjs.com/package/@zenera/neo)
|
|
7
|
-
[](LICENSE)
|
|
8
|
-
[](https://nodejs.org)
|
|
9
|
-
|
|
10
18
|
> Part of [ZeneraNeo](https://github.com/andreyryabov/ZeneraNeo). This is an
|
|
11
|
-
> open-source side project for experimentation and chore work
|
|
19
|
+
> open-source side project for experimentation and chore work - **not** the
|
|
12
20
|
> official Zenera AI Platform. It carries no support or stability promises.
|
|
13
21
|
|
|
14
22
|
## Install
|
|
@@ -33,7 +41,7 @@ or load them from a folder.
|
|
|
33
41
|
### In code
|
|
34
42
|
|
|
35
43
|
An agent is an instruction, a model, some tools, and who it may hand work to.
|
|
36
|
-
That is the whole list
|
|
44
|
+
That is the whole list - there is no orchestration layer underneath.
|
|
37
45
|
|
|
38
46
|
```ts
|
|
39
47
|
import { AgentRunner, createModel, tool } from '@zenera/neo';
|
|
@@ -64,7 +72,7 @@ console.log(result.output);
|
|
|
64
72
|
```
|
|
65
73
|
|
|
66
74
|
`run()` returns a handle: `await` it for the answer, or iterate it for the
|
|
67
|
-
stream
|
|
75
|
+
stream - token deltas plus a checkpoint for every model call, tool call,
|
|
68
76
|
handoff, fork and join.
|
|
69
77
|
|
|
70
78
|
```ts
|
|
@@ -80,7 +88,7 @@ them.
|
|
|
80
88
|
|
|
81
89
|
### From a folder
|
|
82
90
|
|
|
83
|
-
An agentic project is a folder
|
|
91
|
+
An agentic project is a folder - prompts, agent wiring, skills and tool
|
|
84
92
|
selections are Markdown and YAML files, not code buried inside an application.
|
|
85
93
|
Load one and run it:
|
|
86
94
|
|
|
@@ -119,29 +127,29 @@ agents:
|
|
|
119
127
|
```
|
|
120
128
|
|
|
121
129
|
It is validated strictly at load: an unknown tool, a handoff to nobody, a
|
|
122
|
-
missing prompt file
|
|
130
|
+
missing prompt file - each fails immediately, naming the offending key, instead
|
|
123
131
|
of surfacing three turns into a run as a confused model.
|
|
124
132
|
|
|
125
133
|
## What it gives you
|
|
126
134
|
|
|
127
|
-
- **Agents**
|
|
135
|
+
- **Agents** - an instruction, a model, tools, skills, who it may hand the work
|
|
128
136
|
to, and how it splits into parallel branches. There is no hidden orchestration
|
|
129
137
|
layer.
|
|
130
|
-
- **Models**
|
|
138
|
+
- **Models** - OpenAI, Anthropic, Google/Vertex and OpenRouter behind one
|
|
131
139
|
interface, each through its own SDK, plus any OpenAI-compatible endpoint.
|
|
132
140
|
Named providers and model aliases resolve from config or from the host.
|
|
133
|
-
- **Tools**
|
|
141
|
+
- **Tools** - plain typed functions, selectable per agent by name, group or
|
|
134
142
|
wildcard. Workspace file tools and a Podman sandbox ship with the library.
|
|
135
|
-
- **Skills**
|
|
143
|
+
- **Skills** - instruction bundles discovered and loaded on demand instead of
|
|
136
144
|
permanently occupying the prompt, optionally owning their own tools.
|
|
137
|
-
- **Memory**
|
|
145
|
+
- **Memory** - a timed, masked knowledge graph that outlives a run: recall
|
|
138
146
|
returns a stitched subgraph rather than a ranked list, remembered files are
|
|
139
147
|
mounted at `/memory`, and standing preferences go into the system prompt.
|
|
140
|
-
- **Trajectory**
|
|
148
|
+
- **Trajectory** - an append-only log of everything that happened. What is sent
|
|
141
149
|
to a provider is derived from it, and compaction _covers_ nodes rather than
|
|
142
150
|
deleting them, so the full record survives even when older turns have to be
|
|
143
151
|
pushed out of the context window.
|
|
144
|
-
- **Inspection**
|
|
152
|
+
- **Inspection** - `renderReportHtml` turns any run into one self-contained HTML
|
|
145
153
|
file: the graph, every request, every token.
|
|
146
154
|
|
|
147
155
|
## Entry points
|
|
@@ -166,14 +174,14 @@ folder.
|
|
|
166
174
|
|
|
167
175
|
| Package | What it is |
|
|
168
176
|
| ----------------------------------------------------------------------------------------------- | ------------------------------------------------------------- |
|
|
169
|
-
| [`@zenera/cli`](https://github.com/andreyryabov/ZeneraNeo/blob/main/packages/cli/README.md) | `zen`
|
|
170
|
-
| [`@zenera/faker`](https://github.com/andreyryabov/ZeneraNeo/blob/main/packages/faker/README.md) | `zen faker`
|
|
171
|
-
| [`@zenera/rag`](https://github.com/andreyryabov/ZeneraNeo/blob/main/packages/rag/README.md) | `zen rag`
|
|
177
|
+
| [`@zenera/cli`](https://github.com/andreyryabov/ZeneraNeo/blob/main/packages/cli/README.md) | `zen` - this runtime on the command line, with a TUI |
|
|
178
|
+
| [`@zenera/faker`](https://github.com/andreyryabov/ZeneraNeo/blob/main/packages/faker/README.md) | `zen faker` - a mock API from an openapi/swagger document |
|
|
179
|
+
| [`@zenera/rag`](https://github.com/andreyryabov/ZeneraNeo/blob/main/packages/rag/README.md) | `zen rag` - an API description as a searchable graph, + tools |
|
|
172
180
|
|
|
173
181
|
`@zenera/rag` also exports tools you can hand straight to `loadProject`, so an
|
|
174
182
|
agent can search an API it has never read.
|
|
175
183
|
|
|
176
184
|
## License
|
|
177
185
|
|
|
178
|
-
Early days and moving fast
|
|
186
|
+
Early days and moving fast - issues, questions and pull requests are welcome.
|
|
179
187
|
[MIT](LICENSE).
|