Commit Graph

344 Commits

Author SHA1 Message Date
gavrielc
02d51afe09 trim diagnostics verbosity
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 18:53:53 +02:00
gavrielc
a4fbc9d615 show full payload to user, not just properties
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 18:51:15 +02:00
gavrielc
f97394656c cross-skill opt-out and gather system info via shell
- "Never ask again" now removes diagnostics from both skills
- Added shell commands to gather version, platform, arch, node version
- Show only properties object to user, not api_key/distinct_id
- Write full PostHog payload to temp file, send with curl -d @file

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 18:47:54 +02:00
gavrielc
09d833c310 replace diagnostics script with curl, simplify flow
Remove send-diagnostics.ts entirely. Claude writes the JSON, shows
it to the user, and sends via curl. Opt-out is permanent: Claude
replaces diagnostics.md contents and removes the section from SKILL.md.
No dependencies, no state files, no .nanoclaw/ directory.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 18:45:04 +02:00
gavrielc
f33c66b046 simplify setup diagnostics to single event
One setup_complete event at the end, not per-skill events.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 18:37:13 +02:00
gavrielc
e2423171e1 simplify diagnostics instructions
Show example commands with placeholder values. Claude fills in the
actual values from the session in one shot — no multi-step build process.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 18:36:08 +02:00
gavrielc
e10b136df6 refactor: move diagnostics into each skill's own directory
Replace shared _shared/diagnostics.md with dedicated diagnostics.md
files in setup/ and update-nanoclaw/. Each contains only the event
types relevant to that skill. References updated to local links.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 16:31:59 +02:00
gavrielc
31ac74f5f2 fix: remove claw skill accidentally added to this branch
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 16:28:36 +02:00
gavrielc
d96be5ddfd scope diagnostics to setup and update-nanoclaw only
Remove diagnostics appendage from all other skills. Only /setup and
/update-nanoclaw need telemetry — these are the two points where we
can detect regressions and track improvements across the user base.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 16:27:10 +02:00
NanoClaw User
1734be7259 fix: collect diagnostics for sub-skills invoked during setup
Previously, sub-skills (e.g. /add-telegram) skipped diagnostics when
called from a parent skill like /setup. This lost channel-level events.
Now all events are collected and shown to the user in a single prompt.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 01:24:32 +02:00
Koshkoshinsk
8c1d5598ba fix: strip PostHog internal fields from dry-run output
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 01:24:32 +02:00
Koshkoshinsk
3747dfeacc fix: also strip distinct_id from dry-run output
Ephemeral UUID is harmless but showing it to users creates unnecessary
doubt about whether they're being tracked.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 01:24:32 +02:00
Koshkoshinsk
33874de175 fix: strip api_key from dry-run output shown to user
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 01:24:32 +02:00
Koshkoshinsk
f04a8955aa feat: add opt-in diagnostics via PostHog
Per-event consent diagnostics that sends anonymous install/update/skill data
to PostHog. Conflict filenames are gated against upstream. Supports --dry-run
to show exact payload before sending, and "never ask again" opt-out via state.yaml.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 01:24:32 +02:00
github-actions[bot]
91f17a11b2 chore: bump version to 1.2.19 2026-03-19 19:05:42 +00:00
gavrielc
b5d0f1e5aa Merge pull request #651 from takeru/fix/docker-stop-timeout
fix: reduce docker stop timeout for faster restarts
2026-03-19 21:05:27 +02:00
sasaki takeru
cf3d9dcbd5 fix: reduce docker stop timeout for faster restarts
Pass -t 1 to docker stop, reducing SIGTERM-to-SIGKILL grace period from
10s to 1s. NanoClaw containers are stateless (--rm, mounted filesystems)
so they don't need a long grace period. Makes restarts ~10x faster.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 21:05:19 +02:00
github-actions[bot]
7a8c24b092 docs: update token count to 40.7k tokens · 20% of context window 2026-03-19 19:03:36 +00:00
github-actions[bot]
c78042e90e chore: bump version to 1.2.18 2026-03-19 19:03:27 +00:00
gavrielc
6dc23fda80 Merge pull request #1191 from moktamd/fix/redact-prompt-from-error-logs
security: stop logging user prompt content on container errors
2026-03-19 21:03:16 +02:00
moktamd
cf899049f7 security: stop logging user prompt content on container errors
Container error logs wrote the full ContainerInput (including user
prompt) to disk on every non-zero exit. The structured log stream
also included the first 200 chars of agent output.

- container-runner: only include full input at verbose level; error
  path now logs prompt length and session ID instead
- index: log output length instead of content snippet

Fixes #1150
2026-03-19 21:03:07 +02:00
gavrielc
fc2cc5368f Merge pull request #1230 from eltociear/add-ja-doc
docs: add Japanese README
2026-03-19 13:53:00 +02:00
Ikko Ashimine
c75de24029 docs: add Japanese README 2026-03-18 19:43:46 +09:00
github-actions[bot]
c71c7b7e83 chore: bump version to 1.2.17 2026-03-18 10:10:45 +00:00
gavrielc
fe0a309325 Merge pull request #1086 from akshan-main/admin_mode_1
add /capabilities and /status skills
2026-03-18 12:10:34 +02:00
gavrielc
f2ed7fe490 Merge branch 'main' into admin_mode_1 2026-03-18 12:10:19 +02:00
gavrielc
96852f686e Apply suggestion from @gavrielc 2026-03-18 12:08:22 +02:00
github-actions[bot]
e7d0ffb208 docs: update token count to 40.6k tokens · 20% of context window 2026-03-18 09:52:29 +00:00
github-actions[bot]
9200612dd1 chore: bump version to 1.2.16 2026-03-18 09:52:20 +00:00
gavrielc
aa4f7a27ae Merge pull request #1159 from mbravorus/upstream-pr/refresh-tasks-snapshot
fix: refresh tasks snapshot immediately after IPC task mutations
2026-03-18 11:48:36 +02:00
Gabi Simons
0c495b0efe Merge branch 'main' into upstream-pr/refresh-tasks-snapshot 2026-03-18 01:05:29 -07:00
github-actions[bot]
c8f03eddeb docs: update token count to 40.5k tokens · 20% of context window 2026-03-16 17:37:20 +00:00
github-actions[bot]
8b647410c6 chore: bump version to 1.2.15 2026-03-16 17:37:14 +00:00
gavrielc
4b53ce008b Merge pull request #1133 from gabi-simons/fix/remote-control-stdin-clean
fix: auto-accept remote-control prompt to prevent immediate exit
2026-03-16 19:37:00 +02:00
Gabi Simons
260812702c fix: add KillMode=process so remote-control survives restarts
systemd's default KillMode=control-group kills all processes in the
cgroup on service restart, including the detached claude remote-control
process. KillMode=process only kills the main Node.js process, letting
detached children survive. restoreRemoteControl() already handles
reattaching on startup.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 13:12:07 +02:00
Gabi Simons
12ff2589fa style: format remote-control tests with prettier
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 11:51:47 +02:00
Gabi Simons
924482870e test: update remote-control tests for stdin pipe change
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 09:41:09 +00:00
Gabi Simons
d49af91cc2 fix: auto-accept remote-control prompt to prevent immediate exit
`claude remote-control` prompts "Enable Remote Control? (y/n)" on every
launch. With stdin set to 'ignore', the process exits immediately because
it cannot read the response. Pipe 'y\n' to stdin instead.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 09:34:23 +00:00
Akshan Krithick
de62ef6b3f format remote-control files with Prettier 2026-03-14 21:41:56 -07:00
Akshan Krithick
8cbd715ee2 add read-only /capabilities and /status skills 2026-03-14 21:33:48 -07:00
github-actions[bot]
fb66428eeb docs: update token count to 40.4k tokens · 20% of context window 2026-03-14 15:24:01 +00:00
github-actions[bot]
9b82611dc1 chore: bump version to 1.2.14 2026-03-14 15:23:57 +00:00
gavrielc
4e7eb3e278 Merge pull request #1072 from qwibitai/feat/remote-control
feat: add /remote-control command for host-level Claude Code access
2026-03-14 17:23:46 +02:00
gavrielc
e2b0d2d0aa feat: add /remote-control command for host-level Claude Code access
Users can send /remote-control from the main group in any channel to
spawn a detached `claude remote-control` process on the host. The
session URL is sent back through the channel. /remote-control-end
kills the session.

Key design decisions:
- One global session at a time, restricted to main group only
- Process is fully detached (stdout/stderr to files, not pipes) so it
  survives NanoClaw restarts
- PID + URL persisted to data/remote-control.json; restored on startup
- Commands intercepted in onMessage before DB storage

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-14 16:59:52 +02:00
github-actions[bot]
2640973b41 chore: bump version to 1.2.13 2026-03-14 13:26:21 +00:00
gavrielc
e7318be0a2 chore: bump claude-agent-sdk to ^0.2.76
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 15:24:15 +02:00
gavrielc
c0902877fa Merge pull request #1031 from qwibitai/gavrielc-patch-1
Update README.md
2026-03-13 13:59:26 +02:00
gavrielc
38ebb31e6d Update README.md 2026-03-13 13:59:15 +02:00
gavrielc
fedfaf3f50 Merge pull request #1030 from qwibitai/docker-sandboxes-announcement
Docker sandboxes announcement
2026-03-13 13:58:53 +02:00
gavrielc
df9ba0e5f9 fix: correct Docker Sandboxes documentation URL
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 12:03:27 +02:00