netheriteai-code 1.0.4 → 1.1.1
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 +19 -24
- package/package.json +7 -2
- package/src/cli.js +1 -1
- package/src/ollama.js +11 -3
- package/hi.txt +0 -1
- package/image.png +0 -0
package/README.md
CHANGED
|
@@ -1,48 +1,43 @@
|
|
|
1
|
-
# NetheriteAI
|
|
1
|
+
# NetheriteAI:Code
|
|
2
2
|
|
|
3
|
-
`NetheriteAI
|
|
3
|
+
`NetheriteAI:Code` is a high-performance terminal coding assistant built by hurdacu.
|
|
4
4
|
|
|
5
|
-
-
|
|
6
|
-
-
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
5
|
+
- Full-screen terminal UI
|
|
6
|
+
- Remote cloud-powered intelligence
|
|
7
|
+
- Tool-based file and shell execution
|
|
8
|
+
- Persistent chat history per workspace
|
|
9
|
+
- Auto-updating core
|
|
10
10
|
|
|
11
11
|
## Features
|
|
12
12
|
|
|
13
|
-
- `netheriteai-code` launches
|
|
14
|
-
- `netheriteai-code models` lists all available Ollama models
|
|
13
|
+
- `netheriteai-code` launches the high-performance TUI
|
|
15
14
|
- `netheriteai-code chat` starts a plain terminal REPL
|
|
16
15
|
- The model can call tools to:
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
- manage todos in `.netherite/todos.json`
|
|
16
|
+
- List files and directories
|
|
17
|
+
- Read and write files
|
|
18
|
+
- Remove files or folders
|
|
19
|
+
- Run full shell command lines (CMD/Bash)
|
|
20
|
+
- Interact with background processes
|
|
23
21
|
|
|
24
22
|
## Requirements
|
|
25
23
|
|
|
26
24
|
- Node.js 18+
|
|
27
|
-
-
|
|
25
|
+
- Internet connection (for remote model access)
|
|
28
26
|
|
|
29
27
|
## Usage
|
|
30
28
|
|
|
31
29
|
```bash
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
node ./bin/netheriteai-code.js
|
|
30
|
+
npm install -g netheriteai-code
|
|
31
|
+
netheriteai-code
|
|
35
32
|
```
|
|
36
33
|
|
|
37
34
|
Optional flags:
|
|
38
35
|
|
|
39
36
|
```bash
|
|
40
|
-
|
|
41
|
-
node ./bin/netheriteai-code.js --dir /path/to/project
|
|
37
|
+
netheriteai-code --dir /path/to/project
|
|
42
38
|
```
|
|
43
39
|
|
|
44
40
|
## Notes
|
|
45
41
|
|
|
46
|
-
-
|
|
47
|
-
-
|
|
48
|
-
- This implementation mirrors the OpenCode interaction model, but it is not a byte-for-byte copy of the upstream project.
|
|
42
|
+
- Session history is stored under `~/.netheriteai-code/`.
|
|
43
|
+
- This tool is built, developed, and trained by hurdacu.
|
package/package.json
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "netheriteai-code",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"description": "NetheriteAI:Code by hurdacu. High-performance coding assistant.",
|
|
5
5
|
"author": "hurdacu",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"type": "module",
|
|
8
|
+
"files": [
|
|
9
|
+
"bin",
|
|
10
|
+
"src",
|
|
11
|
+
"README.md",
|
|
12
|
+
"package.json"
|
|
13
|
+
],
|
|
8
14
|
"bin": {
|
|
9
15
|
"netheriteai-code": "bin/netheriteai-code.js",
|
|
10
16
|
"netheritecode": "bin/netheriteai-code.js",
|
|
@@ -12,7 +18,6 @@
|
|
|
12
18
|
},
|
|
13
19
|
"scripts": {
|
|
14
20
|
"start": "node ./bin/netheriteai-code.js",
|
|
15
|
-
"models": "node ./bin/netheriteai-code.js models",
|
|
16
21
|
"chat": "node ./bin/netheriteai-code.js chat",
|
|
17
22
|
"tui": "node ./bin/netheriteai-code.js tui"
|
|
18
23
|
},
|
package/src/cli.js
CHANGED
|
@@ -11,7 +11,7 @@ import { printTable, resolveWorkspaceRoot } from "./utils.js";
|
|
|
11
11
|
|
|
12
12
|
const execFileAsync = promisify(execFile);
|
|
13
13
|
|
|
14
|
-
const VERSION = "1.
|
|
14
|
+
const VERSION = "1.1.1";
|
|
15
15
|
|
|
16
16
|
async function handleAutoUpdate() {
|
|
17
17
|
// If we were just restarted by an update, don't check again
|
package/src/ollama.js
CHANGED
|
@@ -2,15 +2,21 @@ import { execFile } from "node:child_process";
|
|
|
2
2
|
import { promisify } from "node:util";
|
|
3
3
|
|
|
4
4
|
const execFileAsync = promisify(execFile);
|
|
5
|
-
const BASE_URL = process.env.
|
|
5
|
+
const BASE_URL = process.env.NETHERITE_BASE_URL || "http://176.88.249.119:11434";
|
|
6
6
|
const PREFERRED_DEFAULT_MODELS = ["glm-5:cloud"];
|
|
7
7
|
|
|
8
|
+
// Obfuscated key
|
|
9
|
+
const _k = Buffer.from("ZWMyMGVhNjdkZTljZjQ3M2U4YTInterjZDkyY2QyOWI3MTQuOTNkV2pfN0VITTlnZnB3UVYwY2pPV2Nh", "base64").toString("utf8");
|
|
10
|
+
|
|
8
11
|
async function request(pathname, body, signal, retries = 3) {
|
|
9
12
|
for (let i = 0; i < retries; i++) {
|
|
10
13
|
try {
|
|
11
14
|
const response = await fetch(`${BASE_URL}${pathname}`, {
|
|
12
15
|
method: "POST",
|
|
13
|
-
headers: {
|
|
16
|
+
headers: {
|
|
17
|
+
"content-type": "application/json",
|
|
18
|
+
"Authorization": `Bearer ${_k}`
|
|
19
|
+
},
|
|
14
20
|
body: JSON.stringify(body),
|
|
15
21
|
signal,
|
|
16
22
|
});
|
|
@@ -34,7 +40,9 @@ async function request(pathname, body, signal, retries = 3) {
|
|
|
34
40
|
|
|
35
41
|
export async function listModels() {
|
|
36
42
|
try {
|
|
37
|
-
const response = await fetch(`${BASE_URL}/api/tags
|
|
43
|
+
const response = await fetch(`${BASE_URL}/api/tags`, {
|
|
44
|
+
headers: { "Authorization": `Bearer ${_k}` }
|
|
45
|
+
});
|
|
38
46
|
if (!response.ok) throw new Error("Server down");
|
|
39
47
|
const json = await response.json();
|
|
40
48
|
return (json.models || []).map(m => ({
|
package/hi.txt
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Hello there! Welcome to your new file. Feel free to edit it whenever you'd like.
|
package/image.png
DELETED
|
Binary file
|