Commit Graph

7852 Commits

Author SHA1 Message Date
Peter Steinberger
5226b723d2 docs: refine venice highlight 2026-01-25 01:49:53 +00:00
Peter Steinberger
93e8f2cb1c docs: add fastest-unstuck guidance 2026-01-25 01:22:22 +00:00
Peter Steinberger
c2fb8b89d6 docs: clarify lobster DSL rationale 2026-01-25 01:13:55 +00:00
Peter Steinberger
6738ef85c4 fix: regenerate protocol models 2026-01-25 01:12:49 +00:00
jonisjongithub
22402341ff docs: remove rate limits claim from Venice docs 2026-01-25 01:11:57 +00:00
jonisjongithub
f01b4b2bfd feat: add Venice AI provider integration
Venice AI is a privacy-focused AI inference provider with support for
uncensored models and access to major proprietary models via their
anonymized proxy.

This integration adds:

- Complete model catalog with 25 models:
  - 15 private models (Llama, Qwen, DeepSeek, Venice Uncensored, etc.)
  - 10 anonymized models (Claude, GPT-5.2, Gemini, Grok, Kimi, MiniMax)
- Auto-discovery from Venice API with fallback to static catalog
- VENICE_API_KEY environment variable support
- Interactive onboarding via 'venice-api-key' auth choice
- Model selection prompt showing all available Venice models
- Provider auto-registration when API key is detected
- Comprehensive documentation covering:
  - Privacy modes (private vs anonymized)
  - All 25 models with context windows and features
  - Streaming, function calling, and vision support
  - Model selection recommendations

Privacy modes:
- Private: Fully private, no logging (open-source models)
- Anonymized: Proxied through Venice (proprietary models)

Default model: venice/llama-3.3-70b (good balance of capability + privacy)
Venice API: https://api.venice.ai/api/v1 (OpenAI-compatible)
2026-01-25 01:11:57 +00:00
Peter Steinberger
c32cd9bd58 feat: add edge tts fallback provider 2026-01-25 01:05:43 +00:00
Peter Steinberger
a00f92b5d0 fix: add chat stop button
Co-authored-by: Nathan Broadbent <ndbroadbent@users.noreply.github.com>
2026-01-25 01:00:23 +00:00
Tyler Yust
1f420c7f29 feat: add chunking mode option for BlueBubbles (#1645)
* feat: add chunking mode for outbound messages

- Introduced `chunkMode` option in various account configurations to allow splitting messages by "length" or "newline".
- Updated message processing to handle chunking based on the selected mode.
- Added tests for new chunking functionality, ensuring correct behavior for both modes.

* feat: enhance chunking mode documentation and configuration

- Added `chunkMode` option to the BlueBubbles account configuration, allowing users to choose between "length" and "newline" for message chunking.
- Updated documentation to clarify the behavior of the `chunkMode` setting.
- Adjusted account merging logic to incorporate the new `chunkMode` configuration.

* refactor: simplify chunk mode handling for BlueBubbles

- Removed `chunkMode` configuration from various account schemas and types, centralizing chunk mode logic to BlueBubbles only.
- Updated `processMessage` to default to "newline" for BlueBubbles chunking.
- Adjusted tests to reflect changes in chunk mode handling for BlueBubbles, ensuring proper functionality.

* fix: update default chunk mode to 'length' for BlueBubbles

- Changed the default value of `chunkMode` from 'newline' to 'length' in the BlueBubbles configuration and related processing functions.
- Updated documentation to reflect the new default behavior for chunking messages.
- Adjusted tests to ensure the correct default value is returned for BlueBubbles chunk mode.
2026-01-25 00:47:10 +00:00
Peter Steinberger
a4bf17221b docs: clarify remote transport IP reporting 2026-01-25 00:39:54 +00:00
Peter Steinberger
115459646b fix: reload TUI history after reconnect 2026-01-25 00:36:36 +00:00
Peter Steinberger
e506d7fa5b docs: add aws mention to vps hub 2026-01-25 00:23:24 +00:00
Peter Steinberger
8eb72f2054 docs: add vps hosting hub 2026-01-25 00:20:07 +00:00
Peter Steinberger
57886c4344 chore: refresh pnpm lock 2026-01-25 00:19:02 +00:00
Richard Pinedo
f5bcd08b4a Add link understanding tool support (#1637)
* Add

* Fix

---------

Co-authored-by: Richard <dasilva333@DESKTOP-74E3GJO.localdomain>
2026-01-25 00:15:54 +00:00
Peter Steinberger
243748a257 docs: add nodes note to cloud guides 2026-01-25 00:13:44 +00:00
Peter Steinberger
7556174c6e docs: add hosting hub links 2026-01-25 00:12:31 +00:00
Peter Steinberger
65aaa1c8c8 docs: add railway quick checklist 2026-01-25 00:10:25 +00:00
Peter Steinberger
b863632a64 docs: add anthropic auth error troubleshooting 2026-01-25 00:07:19 +00:00
Peter Steinberger
d9bf13d28b docs: fix ollama links 2026-01-25 00:05:38 +00:00
Peter Steinberger
8e48c661e1 fix: normalize googlechat targets 2026-01-25 00:04:47 +00:00
Vignesh
1a7e49925f Merge pull request #1658 from clawdbot/fix/railway-redirect-loop
Docs: fix /railway redirect loop
2026-01-24 16:04:32 -08:00
Vignesh Natarajan
19b74ba583 Docs: fix /railway redirect loop 2026-01-24 16:03:55 -08:00
Peter Steinberger
5dd02adc07 fix: default custom provider model fields 2026-01-25 00:02:53 +00:00
Vignesh
5b490a8d2d Merge pull request #1657 from clawdbot/docs/railway
Docs: add Railway deployment guide
2026-01-24 16:01:43 -08:00
Vignesh Natarajan
08f65280c8 Docs: clarify Railway service domain 2026-01-24 16:01:00 -08:00
Vignesh Natarajan
872fd5b7f6 Docs: add Railway deployment guide 2026-01-24 15:58:58 -08:00
Peter Steinberger
8006a36e24 docs: add anthropic troubleshooting 2026-01-24 23:58:45 +00:00
Peter Steinberger
9d660b2067 docs: add gateway stop/start detail 2026-01-24 23:37:18 +00:00
Peter Steinberger
4dd9966d6d fix: follow up config.patch restarts/docs/tests (#1653)
* fix: land config.patch restarts/docs/tests (#1624) (thanks @Glucksberg)

* docs: update changelog entry for config.patch follow-up (#1653) (thanks @Glucksberg)
2026-01-24 23:33:13 +00:00
Peter Steinberger
cec4e2912a fix: polish Google Chat plugin (#1635) (thanks @iHildy)
Co-authored-by: Ian Hildebrand <ian@jedi.net>
2026-01-24 23:30:45 +00:00
iHildy
e1fdf5c8bc Revert unrelated changes to control-ui dist files 2026-01-24 23:30:45 +00:00
iHildy
e1c5443d7b googlechat: implement typing indicator via message editing 2026-01-24 23:30:45 +00:00
iHildy
adea71a9c9 docs(googlechat): update Tailscale setup for private dashboard and public webhook 2026-01-24 23:30:45 +00:00
iHildy
49b60bf2c4 feat(googlechat): support Google Workspace Add-on event format 2026-01-24 23:30:45 +00:00
iHildy
f298d03f83 feat: add beta googlechat channel 2026-01-24 23:30:45 +00:00
iHildy
90d82c5445 feat: add beta googlechat channel 2026-01-24 23:30:45 +00:00
Glucksberg
26d928d94a feat(gateway-tool): add config.patch action for safe partial config updates (#1624)
* fix(ui): enable save button only when config has changes

The save button in the Control UI config editor was not properly gating
on whether actual changes were made. This adds:
- `configRawOriginal` state to track the original raw config for comparison
- Change detection for both form mode (via computeDiff) and raw mode
- `hasChanges` check in canSave/canApply logic
- Set `configFormDirty` when raw mode edits occur
- Handle raw mode UI correctly (badge shows "Unsaved changes", no diff panel)

Fixes #1609

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* feat(gateway-tool): add config.patch action for safe partial config updates

Exposes the existing config.patch server method to agents, allowing safe
partial config updates that merge with existing config instead of replacing it.

- Add config.patch to GATEWAY_ACTIONS in gateway tool
- Add restart + sentinel logic to config.patch server method
- Extend ConfigPatchParamsSchema with sessionKey, note, restartDelayMs
- Add unit test for config.patch gateway tool action

Closes #1617

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 23:30:32 +00:00
Peter Steinberger
4a2b36480c fix: return TwiML for outbound conversation calls 2026-01-24 23:20:52 +00:00
Peter Steinberger
55bc7fc7ab docs: highlight Ollama provider discovery 2026-01-24 23:09:53 +00:00
Peter Steinberger
41c4e6adeb fix: preserve BlueBubbles reply tag GUIDs 2026-01-24 23:09:28 +00:00
Peter Steinberger
6cc4d5faa6 docs: expand Ollama configuration examples 2026-01-24 23:05:57 +00:00
Tyler Yust
999e3d3ce6 feat(bluebubbles): improve reaction handling and inline reply tags (#1641)
* refactor: update reply formatting to use inline [[reply_to:N]] tag and normalize message IDs

* test: add unit tests for tapback text parsing in BlueBubbles webhook

* refactor: update message ID handling to use GUIDs instead of UUIDs for consistency
2026-01-24 22:42:42 +00:00
Peter Steinberger
4de70abd28 docs: add whatsapp group jid faq 2026-01-24 22:41:43 +00:00
Abhay
d7e138f8f0 feat: Add Ollama provider with automatic model discovery (#1606)
* feat: Add Ollama provider with automatic model discovery

- Add Ollama provider builder with automatic model detection
- Discover available models from local Ollama instance via /api/tags API
- Make resolveImplicitProviders async to support dynamic model discovery
- Add comprehensive Ollama documentation with setup and usage guide
- Add tests for Ollama provider integration
- Update provider index and model providers documentation

Closes #1531

* fix: Correct Ollama provider type definitions and error handling

- Fix input property type to match ModelDefinitionConfig
- Import ModelDefinitionConfig type properly
- Fix error template literal to use String() for type safety
- Simplify return type signature of discoverOllamaModels

* fix: Suppress unhandled promise warnings from ensureClawdbotModelsJson in tests

- Cast unused promise returns to 'unknown' to suppress TypeScript warnings
- Tests that don't await the promise are intentionally not awaiting it
- This fixes the failing test suite caused by unawaited async calls

* fix: Skip Ollama model discovery during tests

- Check for VITEST or NODE_ENV=test before making HTTP requests
- Prevents test timeouts and hangs from network calls
- Ollama discovery will still work in production/normal usage

* fix: Set VITEST environment variable in test setup

- Ensures Ollama discovery is skipped in all test runs
- Prevents network calls during tests that could cause timeouts

* test: Temporarily skip Ollama provider tests to diagnose CI failures

* fix: Make Ollama provider opt-in to avoid breaking existing tests

**Root Cause:**
The Ollama provider was being added to ALL configurations by default
(with a fallback API key of 'ollama-local'), which broke tests that
expected NO providers when no API keys were configured.

**Solution:**
- Removed the default fallback API key for Ollama
- Ollama provider now requires explicit configuration via:
  - OLLAMA_API_KEY environment variable, OR
  - Ollama profile in auth store
- Updated documentation to reflect the explicit configuration requirement
- Added a test to verify Ollama is not added by default

This fixes all 4 failing test suites:
- checks (node, test, pnpm test)
- checks (bun, test, bunx vitest run)
- checks-windows (node, test, pnpm test)
- checks-macos (test, pnpm test)

Closes #1531
2026-01-24 22:38:52 +00:00
Peter Steinberger
22c63e1f30 docs: add verbose installer example 2026-01-24 22:38:13 +00:00
Peter Steinberger
83c24ff5f9 fix: use active auth profile for auto-compaction 2026-01-24 22:23:49 +00:00
Rodrigo Uroz
8fe2b9be43 fix: auto-compact on context overflow promptError before returning error (#1627)
* fix: detect Anthropic 'Request size exceeds model context window' as context overflow

Anthropic now returns 'Request size exceeds model context window' instead of
the previously detected 'prompt is too long' format. This new error message
was not recognized by isContextOverflowError(), causing auto-compaction to
NOT trigger. Users would see the raw error twice without any recovery attempt.

Changes:
- Add 'exceeds model context window' and 'request size exceeds' to
  isContextOverflowError() detection patterns
- Add tests that fail without the fix, verifying both the raw error
  string and the JSON-wrapped format from Anthropic's API
- Add test for formatAssistantErrorText to ensure the friendly
  'Context overflow' message is shown instead of the raw error

Note: The upstream pi-ai package (@mariozechner/pi-ai) also needs a fix
in its OVERFLOW_PATTERNS regex: /exceeds the context window/i should be
changed to /exceeds.*context window/i to match both 'the' and 'model'
variants for triggering auto-compaction retry.

* fix(tests): remove unused imports and helper from test files

Remove WorkspaceBootstrapFile references and _makeFile helper that were
incorrectly copied from another test file. These caused type errors and
were unrelated to the context overflow detection tests.

* fix: trigger auto-compaction on context overflow promptError

When the LLM rejects a request with a context overflow error that surfaces
as a promptError (thrown exception rather than streamed error), the existing
auto-compaction in pi-coding-agent never triggers. This happens because the
error bypasses the agent's message_end → agent_end → _checkCompaction path.

This fix adds a fallback compaction attempt directly in the run loop:
- Detects context overflow in promptError (excluding compaction_failure)
- Calls compactEmbeddedPiSessionDirect (bypassing lane queues since already in-lane)
- Retries the prompt after successful compaction
- Limits to one compaction attempt per run to prevent infinite loops

Fixes: context overflow errors shown to user without auto-compaction attempt

* style: format compact.ts and run.ts with oxfmt

* fix: tighten context overflow match (#1627) (thanks @rodrigouroz)

---------

Co-authored-by: Claude <claude@anthropic.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-01-24 22:09:24 +00:00
Peter Steinberger
8f4435ba36 fix: normalize telegram fetch for long-polling 2026-01-24 21:58:42 +00:00
Peter Steinberger
335e5bbcc0 docs: add Bedrock EC2 role notes (#1625) (thanks @sergical) 2026-01-24 21:18:18 +00:00