nodetool-chat-cli
Use NodeTool chat CLI sessions, provider selection, workspace tools, and Global Chat features.
- License 许可
- AGPL-3.0
- 最近更新
- 2026-11-14
- Stars
- ★ 633
- Forks
- 90
01 前言 Front Matter
- name
- nodetool-chat-cli
- description
- Use NodeTool chat CLI sessions, provider selection, workspace tools, and Global Chat features.
03 SKILL.md 正文
You help users use NodeTool's chat interfaces — the terminal chat CLI and Global Chat.
Chat CLI
The chat CLI fills the terminal with a scrollable transcript, multiline composer, tool details, task progress, and approval prompts. Two entry points:
nodetool-chat(standalone binary)nodetool chat(subcommand that forwards to the chat UI)
From source (no build): npm run dev:chat -- [flags].
Starting Chat
# Interactive chat (default provider/model from saved settings)
nodetool chat
# With a specific provider/model
nodetool chat -p openai -m gpt-5.4
nodetool chat -p anthropic -m claude-sonnet-4-6
nodetool chat -p ollama -m qwen-3.5:4b
# Restrict the enabled tools
nodetool chat --tools web_search,browser,write_file
# Connect to a running server instead of a local provider
nodetool chat -u ws://localhost:7777/ws
Agent mode is always on. Every chat session runs the unified agent loop (planning + tools). The old
-a/--agentand--no-agentflags are deprecated no-ops kept for compatibility.
CLI Flags
| Flag | Purpose |
|---|---|
-p, --provider <name> |
LLM provider (see list below) |
-m, --model <id> |
Model ID |
-w, --workspace <path> |
Workspace directory (default: cwd) |
--tools <list> |
Comma-separated enabled tools |
-u, --url <ws-url> |
Connect to a NodeTool server WebSocket |
--resume [id] |
Resume a saved session in this workspace, latest if no ID is given |
| `--permission-mode <default | auto |
--cost-cap <usd> |
Ceiling on provider spend for one turn. 0 lifts it. Default from NODETOOL_AGENT_TURN_COST_CAP_USD |
--timeout <s> |
Wall-clock limit on one turn, in seconds |
--no-read-only-search |
Disable the read-only run_search fan-out primitive |
--trace-file <path> |
Append LLM/agent/workflow spans as JSONL |
--trace-stdout [pretty|json] |
Stream spans to stdout |
Providers: anthropic, claude_agent_sdk, openai, codex, gemini, xai,
groq, mistral, deepseek, moonshot, sarvam, minimax, zai, cerebras, gmi, meta,
alibaba, together, openrouter, requesty, opper, cheaperinference, api_route, runcrate, standardcompute, uberllm, huggingface,
replicate, kie, aki, ollama, lmstudio, mlx, node_llama_cpp. Any other registered provider id (e.g. vllm) also works when
passed explicitly.
Slash Commands (prefix with /)
| Command | Purpose |
|---|---|
/help |
Show commands and keyboard shortcuts in the transcript |
/new |
Start a fresh session (clears history + server thread) |
/clear |
Clear the visible history |
/compact |
Summarize and compact the conversation context |
/model [provider/id] |
Browse models from all configured providers, or switch with a provider/model ID |
/agent [id|main] |
Browse sub-agent threads, inspect one, or return to the main conversation |
/tools |
List the enabled tools |
| `/mode <default | auto |
/sessions |
Browse saved conversations for this workspace and server |
/resume [id] |
Resume a saved conversation |
/export [path.md] |
Save a Markdown transcript without overwriting an existing file |
/details |
Toggle tool arguments, code, and edit diffs |
/exit, /quit |
Quit chat |
Enter sends. Alt+Enter, Shift+Enter in supported terminals, or Ctrl+J inserts a newline. Up/Down recalls prompts and Tab completes commands. Page Up/Page Down scrolls, Ctrl+G returns to the latest output, and Ctrl+O toggles tool details. Escape cancels a turn or dismisses input. Ctrl+C cancels, clears a draft, or saves and exits when idle with an empty composer. Approval prompts show their answer keys and can be scrolled before answering.
/compact summarizes local context. Connected servers manage their own
context. /clear only clears the screen, while /new resets the conversation.
Non-slash input is sent to the model as a chat message — there is no built-in
shell (ls, cd, …) in the chat prompt. File operations happen through the
agent's file tools in the workspace.
Configuration
- Settings file:
~/.nodetool/chat-settings.json(persists provider + model) - Sessions:
~/.nodetool/chat-sessions/(transcript, context, provider continuation) - Sessions are saved after turns and on exit. The picker filters by workspace and server. Resuming does not carry over approval grants.
Agent Capabilities
Because the agent loop is always active, the chat can:
- Plan — break tasks into steps
- Use tools — search, browse, file ops, code execution, media generation
- Iterate — execute steps, evaluate results, adapt
- Run workflows — trigger saved NodeTool workflows
Common Tools
| Tool | Capability |
|---|---|
web_search |
Web search |
browser |
Browse and extract web content |
read_file / write_file / edit_file |
Workspace file ops |
grep / glob |
Search files |
take_screenshot |
Capture a page screenshot |
find_model |
Pick a model by capability |
generate_image / generate_video / generate_speech |
Media generation |
Restrict the set with --tools a,b,c; inspect the active set with /tools.
--tools matches exact names and drops unknown ones without an error, so check
/tools after restricting.
Global Chat
Global Chat is the desktop app's built-in chat interface.
Features
- Chat with any configured AI model (OpenAI, Anthropic, Gemini, local)
- Multiple conversation threads
- Standalone window (launch from the system tray)
- Tools: web search, image generation, workflow execution
- The same always-on agent loop as the CLI
Workflow Integration
1. Save a workflow in the NodeTool editor
2. Open Global Chat
3. Select the workflow from the workflow picker
4. Chat naturally — the agent can invoke the workflow as a tool
Typical Flows
Quick Question
nodetool chat -p openai -m gpt-5.4
> What's the difference between FAISS and ChromaDB?
Research Task
nodetool chat --tools web_search,browser,write_file
> Research the top 5 TypeScript ORMs and write a comparison to comparison.md
Code Generation
nodetool chat -p anthropic -m claude-sonnet-4-6 --tools write_file,read_file,grep
> Create a Python script that processes CSV files and generates summary statistics
Headless / Programmatic Chat
For non-interactive chat, use the OpenAI-compatible Chat API on a running server
(nodetool serve):
curl -X POST http://localhost:7777/v1/chat/completions \
-H "Authorization: Bearer TOKEN" \
-d '{"model": "gpt-5.4", "messages": [{"role": "user", "content": "Hello"}]}'
Common Pitfalls
- No provider configured: store a key first (
nodetool secrets store OPENAI_API_KEY). The/modelpicker lists models only from configured providers. - Wrong model ID: switch with
/model <provider>/<id>; the picker searches every configured provider. - Expecting a shell: bare commands like
lsare sent to the model, not run. Use the agent's file tools instead. - Using
/agentas a toggle: agent mode is always on./agentinspects delegated sub-agent threads. - Unattended runs spend without asking: piped input defaults to
--permission-mode auto. Set--cost-capand--timeoutfor scripted sessions.
04 同仓库更多 Skills
nodetool
Use the NodeTool MCP server to build, validate, run, and debug visual AI workflows, and to work with assets, collections, and jobs. Use when the user mentions NodeTool or asks for a workflow graph, a node, or a media generation run on their NodeTool server.
wan-2-6-prompting
Prompt Alibaba's Wan 2.6 video — text-to-video with a global style line plus timing-bracketed shots, and image-to-video that describes only what changes over time. Covers the shot-mode switch per provider, the prompt budget, negative prompts, motion intensity wording, audio input and prompt expansion. Use whenever the model id names a Wan 2.6 video route (alibaba/wan-2.6/text-to-video, alibaba/wan-2.6/image-to-video, wan-video/wan-2.6-t2v, wan-video/wan-2.6-i2v, wan-video/wan2.6-i2v-flash) on generate_video, animate_image or a TextToVideo node. Not for Wan 2.5 or 2.7, or the Wan 2.6 image routes.
video-workflow
Build a reusable NodeTool video workflow for batches or repeated inputs. For a single finished piece, use a storyboard skill.
video-clone
Analyze a reference video and recreate its shot structure with a new product or cast in NodeTool.
video-audio-continuity
Keep sound continuous across a multi-scene piece cut from generated video — why one clip per scene hard-cuts the audio at every boundary, when to write all the scenes into a single generation instead, the sound-design vocabulary that survives a provider's copyright filter, and how to check the length, the aspect ratio and the mix of what came back. Use when a piece has more than one scene and the video model writes its own audio (Seedance 2, Veo 3, MiniMax H3, Kling 2.6 and later), or when a cut's sound drops out at the shot changes.
veo-3-prompting
Prompt Google's Veo 3 video line — the five-element shot/setting/subject/action/dialogue structure, the cinematography vocabulary it reads directly, duration and aspect-ratio tradeoffs, the audio and auto-fix switches per provider, and the fixes for visual drift, temporal inconsistency and audio mismatch. Use whenever the model id contains veo3 or veo-3 (fal-ai/veo3.1 and its fast, lite, image-to-video, first-last-frame and reference-to-video routes, fal-ai/veo3/image-to-video, google/veo3.1 on atlascloud, google/veo-3 and google/veo-3.1 on replicate, kie's veo-3-1, and Gemini's own veo-3.1-generate-preview) on generate_video, animate_image, generate_video_from_references or a TextToVideo node.