@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.
Files changed (2) hide show
  1. package/README.md +33 -8
  2. 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 benchmark TUI for comparing
4
- instruction-tuned GGUF models on document classification. Give it a corpus of text files and
5
- a YAML taxonomy, then run the same workload across models to compare classification output,
6
- latency, throughput, chunking behavior, and context reuse.
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
- Both modes use the same application engine, model lifecycle, prompt configuration,
60
- classification pipeline, context-reuse modes, result store, and benchmark metrics. MCP only
61
- changes how those operations are exposed to the client. It provides tools for loading a model,
62
- setting a prompt, evaluating documents, and reading or removing stored classifications.
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.2",
3
+ "version": "0.1.3",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
- "description": "Classify local text files with GGUF models using in-process llama.cpp inference",
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",