@oneciel-ai/claude-any 0.1.45 → 0.1.62
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +62 -5
- package/claude-any-tool-guard.py +19 -0
- package/claude_any.py +2152 -609
- package/docs/README.ja.md +54 -4
- package/docs/README.ko.md +54 -4
- package/docs/README.zh.md +52 -5
- package/docs/manual.md +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -48,7 +48,7 @@ arguments through unchanged.
|
|
|
48
48
|
|
|
49
49
|
Credits: One Ciel LLC
|
|
50
50
|
|
|
51
|
-
Current version: `0.1.
|
|
51
|
+
Current version: `0.1.62`
|
|
52
52
|
|
|
53
53
|
## Why This Exists
|
|
54
54
|
|
|
@@ -338,9 +338,13 @@ steps under that larger model's supervision.
|
|
|
338
338
|
native compatibility.
|
|
339
339
|
- Compatibility test before launch, including text response, tool use, and
|
|
340
340
|
tool-result round trip checks.
|
|
341
|
-
- Runtime context reporting for vLLM/NIM when `/v1/models` exposes
|
|
342
|
-
`max_model_len`.
|
|
343
|
-
-
|
|
341
|
+
- Runtime context reporting for vLLM/NIM when `/v1/models` exposes
|
|
342
|
+
`max_model_len`.
|
|
343
|
+
- Ollama model-context catalog: `claude-any ollama-catalog` downloads
|
|
344
|
+
`https://ollama.com/api/tags` and Ollama library tag pages, then caches real
|
|
345
|
+
context windows such as 256K Kimi and 1M DeepSeek models for preset filtering
|
|
346
|
+
and status display.
|
|
347
|
+
- Console-first pre-launch menu for SSH and terminal workflows.
|
|
344
348
|
- Native paths where providers expose Claude/Anthropic-compatible endpoints.
|
|
345
349
|
- Router mode for providers that need request/response adaptation.
|
|
346
350
|
- DuckDuckGo and fetch MCP wiring for non-native providers.
|
|
@@ -381,6 +385,57 @@ steps under that larger model's supervision.
|
|
|
381
385
|
|
|
382
386
|
## Changelog
|
|
383
387
|
|
|
388
|
+
### 0.1.62
|
|
389
|
+
|
|
390
|
+
- **Ollama context catalog**: added `claude-any ollama-catalog`, which downloads
|
|
391
|
+
Ollama's model list and library tag pages, strips suffixes such as `:cloud`
|
|
392
|
+
and `:latest`, and caches per-model context windows under
|
|
393
|
+
`~/.config/claude-any/ollama-model-catalog.json`.
|
|
394
|
+
- **Context-aware presets**: the pre-launch menu now uses the selected model's
|
|
395
|
+
known context capacity to hide impossible presets and expose 1M-context
|
|
396
|
+
presets only for models that can actually use them.
|
|
397
|
+
- **Native Claude Code compacting preserved**: removed the
|
|
398
|
+
`CLAUDE_CODE_AUTO_COMPACT_WINDOW` override so Claude Code's own compact
|
|
399
|
+
behavior stays in control instead of being capped too early by claude-any.
|
|
400
|
+
- **Live context/status accounting**: the statusline prefers Claude Code's
|
|
401
|
+
current session context-window telemetry when available, while router mode
|
|
402
|
+
continues to report upstream request tokens, retries, RPM usage, and errors.
|
|
403
|
+
- **Advisor and plan-mode hardening**: kept Advisor review support, stale
|
|
404
|
+
`ExitPlanMode` recovery, queued-command handling, and broader Claude Code hook
|
|
405
|
+
coverage for agent/task/team workflows on non-Anthropic providers.
|
|
406
|
+
|
|
407
|
+
### 0.1.50
|
|
408
|
+
|
|
409
|
+
- **Dynamic timeout help**: the LLM options panel now describes
|
|
410
|
+
`request_timeout_ms` using the currently selected value instead of always
|
|
411
|
+
showing the old `300000 ms = 5 minutes` example.
|
|
412
|
+
|
|
413
|
+
### 0.1.49
|
|
414
|
+
|
|
415
|
+
- **Streaming buffer fix**: Ollama/OpenAI-compatible streams now flush any
|
|
416
|
+
briefly held plan-detection text as soon as normal text streaming resumes,
|
|
417
|
+
instead of replaying it at the end of the response.
|
|
418
|
+
- **Plan mode guard**: `ExitPlanMode` tool calls are dropped when Claude Code is
|
|
419
|
+
no longer in plan mode, avoiding the “You are not in plan mode” dead end.
|
|
420
|
+
|
|
421
|
+
### 0.1.48
|
|
422
|
+
|
|
423
|
+
- **Unreachable model list fix**: when a provider model endpoint cannot be
|
|
424
|
+
reached, the model picker no longer repopulates stale `current_model` or
|
|
425
|
+
`custom_models` entries from config as if they came from the new endpoint.
|
|
426
|
+
|
|
427
|
+
### 0.1.47
|
|
428
|
+
|
|
429
|
+
- **Base URL model reset**: changing a provider Base URL now clears stale
|
|
430
|
+
custom/current model entries and refreshes model caches, so the model picker
|
|
431
|
+
cannot keep showing models from the previous endpoint.
|
|
432
|
+
|
|
433
|
+
### 0.1.46
|
|
434
|
+
|
|
435
|
+
- **Cleaner stream options**: the LLM options menu now hides `Stream word
|
|
436
|
+
chunking` whenever `Stream` is off, since chunking only applies to streamed
|
|
437
|
+
responses.
|
|
438
|
+
|
|
384
439
|
### 0.1.45
|
|
385
440
|
|
|
386
441
|
- **Interactive npm self-update check**: npm-installed `claude-any` now checks
|
|
@@ -413,7 +468,9 @@ steps under that larger model's supervision.
|
|
|
413
468
|
### 0.1.40
|
|
414
469
|
|
|
415
470
|
- **RPM 0 is preserved**: setting `rate_limit_rpm=0` now stores an explicit
|
|
416
|
-
|
|
471
|
+
unmanaged router mode instead of falling back to the provider default.
|
|
472
|
+
Claude Any still shows recent 60-second request usage when enabled, but it
|
|
473
|
+
does not claim the upstream provider is unlimited.
|
|
417
474
|
|
|
418
475
|
### 0.1.39
|
|
419
476
|
|
package/claude-any-tool-guard.py
CHANGED
|
@@ -413,6 +413,25 @@ def handle_pre_tool(event: dict[str, Any]) -> None:
|
|
|
413
413
|
)
|
|
414
414
|
return
|
|
415
415
|
|
|
416
|
+
if tool in {"EnterPlanMode", "ExitPlanMode"}:
|
|
417
|
+
transcript_path = str(event.get("transcript_path") or "")
|
|
418
|
+
if transcript_path:
|
|
419
|
+
in_plan_mode = transcript_plan_mode_active(transcript_path)
|
|
420
|
+
if tool == "EnterPlanMode" and in_plan_mode:
|
|
421
|
+
log_event(f"PreToolUse denied repeated EnterPlanMode transcript={transcript_path}")
|
|
422
|
+
pre_deny(
|
|
423
|
+
"Claude Code is already in plan mode.",
|
|
424
|
+
"Continue the current plan-mode exploration. Do not call EnterPlanMode again.",
|
|
425
|
+
)
|
|
426
|
+
return
|
|
427
|
+
if tool == "ExitPlanMode" and not in_plan_mode:
|
|
428
|
+
log_event(f"PreToolUse denied stale ExitPlanMode transcript={transcript_path}")
|
|
429
|
+
pre_deny(
|
|
430
|
+
"Claude Code is not currently in plan mode.",
|
|
431
|
+
"If the plan was already approved or plan mode was exited, continue with concrete work instead of calling ExitPlanMode. If planning is required again, enter plan mode first.",
|
|
432
|
+
)
|
|
433
|
+
return
|
|
434
|
+
|
|
416
435
|
if tool == "TaskUpdate":
|
|
417
436
|
task_id = raw.get("taskId")
|
|
418
437
|
status = raw.get("status")
|