JIXUDOCS
Packages

jixu-tools-node

Opt-in file and local shell Tools with explicit workspace and process boundaries.

jixu-tools-node provides the first-party read, write, edit, and bash Tools for Node.js applications. Add it only when an Agent should act on the local machine.

Install

npm install jixu-core jixu-tools-node

Add the Tools to an Agent

import { defineAgent } from "jixu-core";
import { createNodeTools } from "jixu-tools-node";

const nodeTools = createNodeTools({
  root: process.cwd(),
  filesystemScope: "workspace",
});

const agent = defineAgent({
  instructions: "Work only inside the current repository.",
  model: { provider: "model", model: "configured-model" },
  modelCapabilities,
  tools: nodeTools.all,
});

You can also select nodeTools.read, nodeTools.write, nodeTools.edit, or nodeTools.bash individually instead of granting all four capabilities.

Included Tools

ToolActionDeclared risk
readRead one bounded UTF-8 fileread
writeWrite a filewrite
editReplace exact text in a filewrite
bashRun a local shell commandexecute

Filesystem scopes

workspace is the default. Relative paths resolve from root, and path validation prevents file operations from escaping that root through .. or symlinks.

process allows the Tools to use any path already available to the Jixu process. Use it only when the application intentionally needs process-wide filesystem access.

Configuration also exposes bounded read and output sizes, a default Bash timeout, a maximum Bash timeout, and an explicit shell selection.

Bash is not an operating-system sandbox

root sets the working directory, but it does not confine subprocesses. The bash Tool runs with the permissions of the Jixu process. Keep user authorization and runtime isolation as separate controls.