@fasaled/sailkari 0.1.2 → 0.1.3
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 +33 -8
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
# Sailkari
|
|
2
2
|
|
|
3
|
-
**Sailkari** (Basque for “the one who classifies”) is a local
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
**Sailkari** (Basque for “the one who classifies”) is a local-first document classifier for
|
|
4
|
+
GGUF models. It runs in two modes from the same executable:
|
|
5
|
+
|
|
6
|
+
- a full-screen terminal UI for interactive benchmarking and classification workflows
|
|
7
|
+
- an MCP server over stdio for agent-based clients
|
|
8
|
+
|
|
9
|
+
Give it a corpus of text files and a YAML taxonomy, then run the same workload across models
|
|
10
|
+
to compare classification output, latency, throughput, chunking behavior, and context reuse.
|
|
7
11
|
|
|
8
12
|
Inference runs through [`node-llama-cpp`](https://github.com/withcatai/node-llama-cpp). The
|
|
9
13
|
model, corpus, prompts, and results remain on the local machine. Sailkari is intended for
|
|
@@ -56,10 +60,31 @@ sailkari
|
|
|
56
60
|
sailkari --mcp
|
|
57
61
|
```
|
|
58
62
|
|
|
59
|
-
|
|
60
|
-
classification pipeline, context-reuse
|
|
61
|
-
changes
|
|
62
|
-
|
|
63
|
+
The TUI and MCP server share the same application core: model lifecycle, prompt management,
|
|
64
|
+
classification pipeline, context-reuse controls, result storage, and benchmark metrics. MCP only
|
|
65
|
+
changes the presentation layer. It exposes the same functionality to external clients through
|
|
66
|
+
standard MCP tools, resources, and prompts.
|
|
67
|
+
|
|
68
|
+
## MCP interface
|
|
69
|
+
|
|
70
|
+
When launched with `sailkari --mcp`, Sailkari exposes a standard MCP server over stdio.
|
|
71
|
+
Clients can discover and call the following tools:
|
|
72
|
+
|
|
73
|
+
- `load_model`: load a GGUF model from disk
|
|
74
|
+
- `set_system_prompt`: set the classifier system prompt
|
|
75
|
+
- `classify_documents`: classify a folder using a YAML taxonomy and benchmark settings
|
|
76
|
+
- `list_classifications`: inspect stored labels for a folder
|
|
77
|
+
- `remove_classifications`: clear stored labels for a folder
|
|
78
|
+
|
|
79
|
+
The server also exposes the following resources and prompts:
|
|
80
|
+
|
|
81
|
+
- `sailkari://system-prompt-contract`: contract describing the valid output format for a
|
|
82
|
+
classifier prompt
|
|
83
|
+
- `generate-system-prompt`: prompt helper that generates a compatible system prompt from a
|
|
84
|
+
supplied taxonomy
|
|
85
|
+
|
|
86
|
+
This allows MCP clients to reuse the same model engine, prompt validation, classification flow,
|
|
87
|
+
and result storage without going through the interactive TUI.
|
|
63
88
|
|
|
64
89
|
## Architecture
|
|
65
90
|
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fasaled/sailkari",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
|
-
"description": "
|
|
6
|
+
"description": "Local-first GGUF document classifier with a TUI and MCP server for benchmarking classification workflows on-device",
|
|
7
7
|
"keywords": [
|
|
8
8
|
"ai",
|
|
9
9
|
"classifier",
|