@tractorscorch/clank 1.5.5 → 1.5.6
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/CHANGELOG.md +7 -0
- package/README.md +2 -2
- package/dist/index.js +23 -11
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,13 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/).
|
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
+
## [1.5.6] — 2026-03-23
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
- **Local models still refusing actions** — v1.5.5 prompt wasn't forceful enough. Rewrote system prompt as a dense, authoritative rules block with numbered rules and explicit list of available tools. Added negative examples ("NEVER say 'I cannot access files'") which are more effective at overriding local model training biases than positive instructions alone
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
9
16
|
## [1.5.5] — 2026-03-23
|
|
10
17
|
|
|
11
18
|
### Fixed
|
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
</p>
|
|
10
10
|
|
|
11
11
|
<p align="center">
|
|
12
|
-
<a href="https://github.com/ItsTrag1c/Clank/releases/latest"><img src="https://img.shields.io/badge/version-1.5.
|
|
12
|
+
<a href="https://github.com/ItsTrag1c/Clank/releases/latest"><img src="https://img.shields.io/badge/version-1.5.6-blue.svg" alt="Version" /></a>
|
|
13
13
|
<a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="License" /></a>
|
|
14
14
|
<a href="https://www.npmjs.com/package/@tractorscorch/clank"><img src="https://img.shields.io/npm/v/@tractorscorch/clank.svg" alt="npm" /></a>
|
|
15
15
|
<a href="https://github.com/ItsTrag1c/Clank/stargazers"><img src="https://img.shields.io/github/stars/ItsTrag1c/Clank.svg" alt="Stars" /></a>
|
|
@@ -75,7 +75,7 @@ That's it. Setup auto-detects your local models, configures the gateway, and get
|
|
|
75
75
|
| Platform | Download |
|
|
76
76
|
|----------|----------|
|
|
77
77
|
| **npm** (all platforms) | `npm install -g @tractorscorch/clank` |
|
|
78
|
-
| **macOS** (Apple Silicon) | [Clank_1.5.
|
|
78
|
+
| **macOS** (Apple Silicon) | [Clank_1.5.6_macos](https://github.com/ItsTrag1c/Clank/releases/latest/download/Clank_1.5.6_macos) |
|
|
79
79
|
|
|
80
80
|
## Features
|
|
81
81
|
|
package/dist/index.js
CHANGED
|
@@ -1161,14 +1161,26 @@ async function buildSystemPrompt(opts) {
|
|
|
1161
1161
|
}
|
|
1162
1162
|
parts.push("");
|
|
1163
1163
|
if (compact) {
|
|
1164
|
-
parts.push(
|
|
1164
|
+
parts.push([
|
|
1165
|
+
"You are an AI agent running LOCALLY on the user's machine.",
|
|
1166
|
+
"You have tools: read_file, write_file, edit_file, list_directory, bash, search_files, glob_files, git, web_search, web_fetch, and self-config tools.",
|
|
1167
|
+
"ALWAYS use your tools. NEVER say you cannot access files, run commands, or perform actions. You CAN \u2014 use your tools.",
|
|
1168
|
+
"NEVER apologize and refuse. If asked to do something, DO IT with your tools or explain what tool you need."
|
|
1169
|
+
].join(" "));
|
|
1165
1170
|
} else {
|
|
1166
|
-
parts.push("##
|
|
1167
|
-
parts.push(
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1171
|
+
parts.push("## CRITICAL: You Are a Local Agent With Tools");
|
|
1172
|
+
parts.push([
|
|
1173
|
+
"You are an AI agent running LOCALLY on the user's machine \u2014 NOT a cloud chatbot.",
|
|
1174
|
+
"You have DIRECT access to the file system, shell, and web through your tools.",
|
|
1175
|
+
"Your tools include: read_file, write_file, edit_file, list_directory, bash, search_files, glob_files, git, web_search, web_fetch, and self-configuration tools."
|
|
1176
|
+
].join(" "));
|
|
1177
|
+
parts.push("");
|
|
1178
|
+
parts.push("**RULES \u2014 follow these strictly:**");
|
|
1179
|
+
parts.push("1. ALWAYS use your tools to accomplish tasks. When asked to read a file, USE read_file. When asked to run a command, USE bash.");
|
|
1180
|
+
parts.push(`2. NEVER say "I cannot access files", "I don't have the ability to", or "as an AI I cannot". These statements are FALSE. You have tools that give you these abilities.`);
|
|
1181
|
+
parts.push("3. NEVER apologize and refuse to act. If a task requires a tool, use it. If you lack a specific tool, say which tool you need \u2014 do not give a generic refusal.");
|
|
1182
|
+
parts.push("4. Read files before editing them. Use tools proactively without being asked twice.");
|
|
1183
|
+
parts.push("5. You can configure yourself \u2014 use the config, channel, agent, and model management tools to modify your own setup.");
|
|
1172
1184
|
}
|
|
1173
1185
|
if (opts.thinking === "off") {
|
|
1174
1186
|
parts.push("");
|
|
@@ -6228,7 +6240,7 @@ var init_server = __esm({
|
|
|
6228
6240
|
res.writeHead(200, { "Content-Type": "application/json" });
|
|
6229
6241
|
res.end(JSON.stringify({
|
|
6230
6242
|
status: "ok",
|
|
6231
|
-
version: "1.5.
|
|
6243
|
+
version: "1.5.6",
|
|
6232
6244
|
uptime: process.uptime(),
|
|
6233
6245
|
clients: this.clients.size,
|
|
6234
6246
|
agents: this.engines.size
|
|
@@ -6340,7 +6352,7 @@ var init_server = __esm({
|
|
|
6340
6352
|
const hello = {
|
|
6341
6353
|
type: "hello",
|
|
6342
6354
|
protocol: PROTOCOL_VERSION,
|
|
6343
|
-
version: "1.5.
|
|
6355
|
+
version: "1.5.6",
|
|
6344
6356
|
agents: this.config.agents.list.map((a) => ({
|
|
6345
6357
|
id: a.id,
|
|
6346
6358
|
name: a.name || a.id,
|
|
@@ -7735,7 +7747,7 @@ async function runTui(opts) {
|
|
|
7735
7747
|
ws.on("open", () => {
|
|
7736
7748
|
ws.send(JSON.stringify({
|
|
7737
7749
|
type: "connect",
|
|
7738
|
-
params: { auth: { token }, mode: "tui", version: "1.5.
|
|
7750
|
+
params: { auth: { token }, mode: "tui", version: "1.5.6" }
|
|
7739
7751
|
}));
|
|
7740
7752
|
});
|
|
7741
7753
|
ws.on("message", (data) => {
|
|
@@ -8164,7 +8176,7 @@ import { fileURLToPath as fileURLToPath5 } from "url";
|
|
|
8164
8176
|
import { dirname as dirname5, join as join19 } from "path";
|
|
8165
8177
|
var __filename3 = fileURLToPath5(import.meta.url);
|
|
8166
8178
|
var __dirname3 = dirname5(__filename3);
|
|
8167
|
-
var version = "1.5.
|
|
8179
|
+
var version = "1.5.6";
|
|
8168
8180
|
try {
|
|
8169
8181
|
const pkg = JSON.parse(readFileSync(join19(__dirname3, "..", "package.json"), "utf-8"));
|
|
8170
8182
|
version = pkg.version;
|