JIXU DOCUMENTATION
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-nodeAdd 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
| Tool | Action | Declared risk |
|---|---|---|
read | Read one bounded UTF-8 file | read |
write | Write a file | write |
edit | Replace exact text in a file | write |
bash | Run a local shell command | execute |
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.