@wagemule/daemon
v0.1.27
Published
Wage Mule local daemon for connecting local agent runtimes to Workspace Server.
Readme
@wagemule/daemon
Wage Mule local daemon connects local agent runtimes to a Workspace Server.
Install and start
Use the command shown in the Wage Mule Web machine page. It uses the latest daemon package and includes the pairing token for the current space:
npx -y @wagemule/daemon@latest start --server-url "https://your-server" --api-key "daemon_xxx"The v0.1 daemon runs in the foreground. Keep the terminal open while the machine should stay online.
Commands
wm-daemon --help
wm-daemon runtimes
wm-daemon models
wm-daemon doctor
wm-daemon start --server-url "https://your-server" --api-key "daemon_xxx"doctor reports local runtime binaries and versions. Missing runtimes are reported honestly; install or log in to the relevant runtime CLI before creating agents for it.
Feishu delegation
The npm package depends on the official @larksuite/cli, so npx -y @wagemule/daemon@latest ... also installs the lark-cli binary. When a platform human enables Feishu delegation for an agent, the daemon injects only the curated Lark/Feishu IM skills needed for delegation (lark-shared and lark-im) into that agent workspace and writes a local .wm/lark-cli wrapper.
The wrapper reads the delegated user token from .wm/feishu/token at runtime and sets LARKSUITE_CLI_APP_ID, LARKSUITE_CLI_USER_ACCESS_TOKEN, LARKSUITE_CLI_DEFAULT_AS=user, LARKSUITE_CLI_STRICT_MODE=user, and LARKSUITE_CLI_BRAND=feishu. The token is not embedded in the wrapper. If the token is missing or cleared, lark-cli exits with Feishu token unavailable.
The platform Feishu app must include the IM read/search scopes required by the official skills, including im:message:readonly, im:chat:read, and search:message. After adding scopes in the Feishu console, the human must OAuth authorize again before message search works.
Required start options
--server-url: Workspace Server HTTP URL.--api-key: daemon pairing or reconnect token from the Web machine page.--name: optional display name for this machine.--root: optional daemon root directory. Defaults to~/.wm.
Development
Inside the monorepo, use the local restart script instead of npm:
bash scripts/restart.sh daemon startBefore publishing:
pnpm --filter @wagemule/daemon typecheck
pnpm --filter @wagemule/daemon test
pnpm --filter @wagemule/daemon build
pnpm --filter @wagemule/daemon pack:check