Mark Rachapoom c73acb731f fix: send image attachments to gateway and prefix attached file paths
Two issues with image handling in chat:

1. Images pasted/dropped in chat were uploaded to disk but only file
   paths were sent as plain text. The model never received actual image
   bytes. Now sends base64 image data as `attachments` in the chat.send
   RPC so vision-capable models can see images directly.

2. Attached file paths (e.g. assets/screenshot.png) were not prefixed
   with the workspace root, unlike [Context: workspace file '...'] paths.
   The agent couldn't resolve relative paths. Now both patterns get the
   workspace prefix.

Files changed:
- chat-panel.tsx: read images as base64 via FileReader, send as FileUIPart
- chat/route.ts: extract image file parts, prefix attached file paths
- gateway/chat/route.ts: accept attachments in request body
- active-runs.ts: thread attachments through startRun
- agent-runner.ts: forward attachments to chat.send RPC
- chat-message.tsx: render inline image previews in user messages

Made-with: Cursor
2026-03-20 21:39:07 -07:00
2026-03-20 12:19:22 -07:00
2026-03-04 19:46:13 -08:00
2026-03-19 17:26:10 -07:00
2026-03-20 12:19:22 -07:00
2026-03-04 16:34:45 -08:00
2025-11-24 11:16:47 +01:00
2026-03-19 19:39:07 -07:00
2026-03-19 17:41:52 -07:00
2026-03-04 16:34:45 -08:00
2026-03-04 16:34:45 -08:00
2026-03-04 16:34:45 -08:00

DenchClaw — AI CRM, hosted locally on your Mac. Built on OpenClaw.

npm version  Discord  MIT License

Website · Discord · Skills Store · Demo Video


DenchClaw Web UI — workspace, object tables, and AI chat
Demo Video · Join our Discord Server


Install

Node 22+ required.

npx denchclaw@latest

Opens at localhost:3100 after completing onboarding wizard.


Commands

npx denchclaw@latest # runs onboarding again for openclaw --profile dench
npx denchclaw@latest update # updates denchclaw web-runtime with current settings as is
npx denchclaw restart # restarts denchclaw web server
npx denchclaw start # starts denchclaw web server
npx denchclaw stop # stops denchclaw web server

# some examples
openclaw --profile dench <any openclaw command>
openclaw --profile dench gateway restart

openclaw --profile dench config set gateway.port 19001
openclaw --profile dench gateway install --force --port 19001
openclaw --profile dench gateway restart
openclaw --profile dench uninstall

Daemonless / Docker

For containers or environments without systemd/launchd, set the environment variable once:

export DENCHCLAW_DAEMONLESS=1

This skips all gateway daemon management (install/start/stop/restart) and launchd LaunchAgent installation across all commands. You must start the gateway yourself as a foreground process:

openclaw --profile dench gateway --port 19001

Alternatively, pass --skip-daemon-install to individual commands:

npx denchclaw --skip-daemon-install
npx denchclaw update --skip-daemon-install
npx denchclaw start --skip-daemon-install

Development

git clone https://github.com/DenchHQ/DenchClaw.git
cd denchclaw

pnpm install
pnpm build

pnpm dev

Web UI development:

pnpm install
pnpm web:dev

Open Source

MIT Licensed. Fork it, extend it, make it yours.

Star History

GitHub stars

Description
Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞
Readme MIT 2.2 GiB
Languages
TypeScript 73.8%
JavaScript 17.1%
Swift 6.1%
Kotlin 1.4%
Shell 0.9%
Other 0.6%