Repository navigation
Releases: Ladbaby/Tresor-plugins
Release list
Tresor plugins v1.0.6
New: provider dialects
Plugins can now declare themselves a provider dialect — the place where a
vendor's non-generic request shape lives, instead of being compiled into the
gateway. A dialect implements wirePrepare (body + headers) and optionally
wireDiscover / wireParseModels for the vendor's model list. The gateway still
performs every HTTP request, so packages never get network access.
Reference one from a downstream's auth block with auth.wire: <name>.
New package: codex 1.0.0
Speaks to the ChatGPT/Codex subscription backend as the reference client does:
opts the request out of server-side storage, requests encrypted reasoning, pins a
stable prompt cache key derived from the conversation's stable prefix, correlates
the request with a session id, zstd-compresses a streaming body, and lists models
from the version-gated backend manifest.
Requires a Tresor build with plugin API V3 and the wire.v3, crypto.v1 and
compress.v1 features.
| Package | Version | Digest |
|---|---|---|
codex |
1.0.0 | 58cf664adb0a4aebf49ddb0fa3dff770367d425409d51766e1b886cb17641324 |
Tresor plugins v1.0.5
New: opencode-go 1.0.1
Speaks to OpenCode Zen/Go gateways the way OpenCode 1.19.0 does, so a Tresor-routed client does not have to imitate the OpenCode agent itself.
- Plugin id:
opencode-go(API V2) - Features:
kv.v1,json.lossless.v1,encoding.v1,sse.events.v2 - Rule step config:
user_agent,client,project,free_tier,session_ttl_ms,gate_path_prefix— all optional, with defaults. An empty step config works.
What it does:
- Synthesizes the OpenCode client fingerprint:
x-opencode-session,x-opencode-session-id,x-opencode-request,x-opencode-client,x-opencode-project, and the OpenCodeUser-Agent. - Keeps a stable per-conversation session id. The id is derived from the conversation's own seed (a client session header, the body's
prompt_cache_key, or a hash of the first user message) and remembered in the engine KV store, so every turn of one conversation reuses one session while distinct conversations never share one. Strips foreign session headers the gateway would reject. - Serves the free tier what it requires: forces streamed responses, injects the
bash/readtool stubs with the exact schemas the free tier demands, renames client tools to lowercase upstream and back on the reply, and rewrites/zento/inference.
Requires a Tresor build with kv.v1 and kv.getOrSet
This release depends on the hardened plugin KV store:
kv.v1must be available at all — a build without it rejects this package at install.- The session id is agreed with
kv.getOrSet, which stores and returns a value in one atomic step. Two concurrent first turns of the same conversation therefore obtain the same id. Builds whosekv.v1predatesgetOrSetwill fail this package at load.
KV writes are debounced by roughly a second and flushed again on daemon shutdown, so treat the store as a cache: a hard crash can lose the most recent session ids, which costs a new id for those conversations but not correctness.
Set free_tier: false to use the plugin purely for fingerprinting. gate_path_prefix scopes the plugin to a path prefix when the rule cannot be scoped any other way; note the plugin cannot observe the request Host, so the /zen rewrite is path-only.
Carried over
break_repeat 2.0.4, fix_anthropic_system 2.0.1, fix_anthropic_usage 2.0.2, force_streaming 2.0.2, remove_thinking 2.0.2, tresorbot-bridge 1.0.0 — unchanged source, repacked for this release. See the v1.0.4 and v1.0.3 notes for their changes.
Installation
Download the versioned JSON bundles, not repository ZIP files. Installation enables a plugin; add it to a routing rule to apply it. Only install code from sources you trust. Sources are MIT licensed.
.\tresor.exe plugin install-url "https://github.com/Ladbaby/Tresor-plugins/releases/download/v1.0.5/opencode-go-1.0.1.json" --sha256 "ef2beb7a70649e2404e8166eacf6ff4542f381dedbc6da5ed76f7ab9d94dbeb0" --config "./config.yaml"Or open Rules > Plugins in the dashboard, install the release asset's HTTPS URL, then add it to a rule.
plugin-digests.txt lists the canonical source digest for every asset in this release, for use with --sha256. These are not checksums of the downloaded JSON files.
| Asset | Canonical source digest |
|---|---|
break_repeat-2.0.4.json |
41ca911d0dd98a031a88f863ff65189edce1d96b1197c34c2af341a59ed3b2c8 |
fix_anthropic_system-2.0.1.json |
a2812d9ca9e0a653e710fdcd8ed66f8fe90556b25bce38593d62f0b345a8e8b1 |
fix_anthropic_usage-2.0.2.json |
58b1b635f4bfaac076ea732ad981b1a0bef59503f614f1fdbfb8fe3ac3c37f32 |
force_streaming-2.0.2.json |
8a1becf30019db8b1f70628443f5c42d99e363727410d7080713ac2323c6311c |
opencode-go-1.0.1.json |
ef2beb7a70649e2404e8166eacf6ff4542f381dedbc6da5ed76f7ab9d94dbeb0 |
remove_thinking-2.0.2.json |
ab2fb5dabb0ba54f8f8924670785402416f9d72c4d16ee7c8b4ec91b59f65eab |
tresorbot-bridge-1.0.0.json |
d7cb6f75e661ebde20f3bdff7ac098bce4629a9399bbadccc7ee2d35faa558c2 |
HTTPS alone does not establish a verified publisher signature; the digest only confirms the package matches the value you supplied. Obtain digests from a source you trust.
Verification
Each bundle was packed with tresor plugin pack (no JavaScript execution) from the sources at tag v1.0.5, and its file map is byte-identical to those sources. Every bundle was installed into an isolated daemon (temporary config, database, and plugin cache; no live account or subscription-provider traffic) and reported compatible: true, executable: true.
Every published digest above was independently recomputed from the bundle's file map and matched. All seven packages passed tresor plugin lint with no errors.
opencode-go additionally passed runtime tests against a mock upstream: session id stability across turns and VM resets, distinct ids for distinct conversations, foreign-header stripping, the free-tier tool/stream/path rewrite, and tool-call renaming on the reply.
Tresor plugins v1.0.4
New: break_repeat 2.0.4
Fixes four defects in repeat detection, including one that silently disabled the plugin for a large class of requests.
- Format detection no longer depends on content shape. An OpenAI request whose
messages[].contentused block arrays instead of plain strings was classified as Anthropic. The OpenAI-onlytool_callsguard then made every such turn a barrier, so detection never fired. The dialect is now identified from Anthropic-exclusive block types (tool_use,server_tool_use,mcp_tool_use,thinking,redacted_thinking,image), defaulting to OpenAI otherwise. - The reminder merges into a trailing user turn. Previously OpenAI and Gemini requests received a second consecutive
usermessage, which strict upstreams reject. All formats now extend the last user turn instead. - The reminder is no longer duplicated on retry. Three identical assistant turns still matched after a reminder had been appended, so each attempt added another copy. An idempotency check now keeps it to one.
server_tool_useandmcp_tool_usecount as assistant output. These Anthropic server-side tool blocks previously fell through to a barrier, disabling detection for turns that used them.
Thinking and reasoning output remains excluded from comparison, as introduced in 2.0.3: it can neither create a false repeat nor hide a genuine one, and a thinking-only turn is a barrier rather than an empty match.
Existing plugins
Unchanged source, repacked for this release: fix_anthropic_system 2.0.1, fix_anthropic_usage 2.0.2, force_streaming 2.0.2, remove_thinking 2.0.2, tresorbot-bridge 1.0.0.
Installation
Download the versioned JSON bundles, not repository ZIP files. Installation enables a plugin; add it to a routing rule to apply it. Only install code from sources you trust. Sources are MIT licensed.
.\tresor.exe plugin install-url "https://github.com/Ladbaby/Tresor-plugins/releases/download/v1.0.4/break_repeat-2.0.4.json" --sha256 "655cd811782465e337a3143bebf521a90784c3d49a0bd593e815688c9c17a65d" --config "./config.yaml"Or open Rules > Plugins in the dashboard, install the release asset's HTTPS URL, then add it to a rule.
plugin-digests.txt lists the canonical source digest for every asset in this release, for use with --sha256. These are not checksums of the downloaded JSON files.
| Asset | Canonical source digest |
|---|---|
break_repeat-2.0.4.json |
655cd811782465e337a3143bebf521a90784c3d49a0bd593e815688c9c17a65d |
fix_anthropic_system-2.0.1.json |
a2812d9ca9e0a653e710fdcd8ed66f8fe90556b25bce38593d62f0b345a8e8b1 |
fix_anthropic_usage-2.0.2.json |
58b1b635f4bfaac076ea732ad981b1a0bef59503f614f1fdbfb8fe3ac3c37f32 |
force_streaming-2.0.2.json |
8a1becf30019db8b1f70628443f5c42d99e363727410d7080713ac2323c6311c |
remove_thinking-2.0.2.json |
ab2fb5dabb0ba54f8f8924670785402416f9d72c4d16ee7c8b4ec91b59f65eab |
tresorbot-bridge-1.0.0.json |
d7cb6f75e661ebde20f3bdff7ac098bce4629a9399bbadccc7ee2d35faa558c2 |
HTTPS alone does not establish a verified publisher signature; the digest only confirms the package matches the value you supplied. Obtain digests from a source you trust.
Verification
Each bundle was packed with tresor plugin pack (no JS execution) from the sources at tag v1.0.4. break_repeat passed lint (one advisory unresolved_exports warning, no errors) and the packed bundle was loaded through the JS runtime and exercised against repeat, format-detection, user-turn-integrity, and thinking-exclusion cases. No live account or subscription-provider requests were used.
Tresor plugins v1.0.3
New: tresorbot-bridge 1.0.0
First API V3 plugin in this repository. It bridges a Tresor request to a TresorBot/Sun service and exposes that service's scoped durable-memory tools to the model.
- Plugin id:
tresorbot/bridge - Features:
integration.prepare.v1,integration.intercept.v1,tools.host.v1 - Permissions:
service.prepare,service.invoke,service.execute-tool - Service binding: local service
localwith fixed operation paths/integration/prepare,/integration/invoke,/integration/tools/execute - Rule step config:
sun_url,service_token(secret),control_token(secret) — all three required, no additional properties
prepare forwards the execution, routing, request, and body to the service's prepare endpoint using that step's binding; prepared returns the service's decision unchanged. The bridge requires its own service binding, so it must be added to a rule step that has one configured.
Requires a Tresor build with rule-scoped plugin configuration and managed tools. API V2 builds will reject this package.
Existing plugins
Unchanged source, repacked for this release: break_repeat 2.0.2, fix_anthropic_system 2.0.1, fix_anthropic_usage 2.0.2, force_streaming 2.0.2, remove_thinking 2.0.2.
Installation
Download the versioned JSON bundles, not repository ZIP files. Installation enables a plugin; add it to a routing rule to apply it. Only install code from sources you trust. Sources are MIT licensed.
.\tresor.exe plugin install-url "https://github.com/Ladbaby/Tresor-plugins/releases/download/v1.0.3/tresorbot-bridge-1.0.0.json" --sha256 "d7cb6f75e661ebde20f3bdff7ac098bce4629a9399bbadccc7ee2d35faa558c2" --config "./config.yaml"Or open Rules > Plugins in the dashboard, install the release asset's HTTPS URL, then add it to a rule and fill in that step's configuration.
plugin-digests.txt lists the canonical source digest for every asset in this release, for use with --sha256. These are not checksums of the downloaded JSON files.
| Asset | Canonical source digest |
|---|---|
break_repeat-2.0.2.json |
245c48efddab168f95e7904a3c54099b57ec58278f0a3840923280956565fd7f |
fix_anthropic_system-2.0.1.json |
a2812d9ca9e0a653e710fdcd8ed66f8fe90556b25bce38593d62f0b345a8e8b1 |
fix_anthropic_usage-2.0.2.json |
58b1b635f4bfaac076ea732ad981b1a0bef59503f614f1fdbfb8fe3ac3c37f32 |
force_streaming-2.0.2.json |
8a1becf30019db8b1f70628443f5c42d99e363727410d7080713ac2323c6311c |
remove_thinking-2.0.2.json |
ab2fb5dabb0ba54f8f8924670785402416f9d72c4d16ee7c8b4ec91b59f65eab |
tresorbot-bridge-1.0.0.json |
d7cb6f75e661ebde20f3bdff7ac098bce4629a9399bbadccc7ee2d35faa558c2 |
HTTPS alone does not establish a verified publisher signature; the digest only confirms the package matches the value you supplied. Obtain digests from a source you trust.
Verification
Each bundle was packed with tresor plugin pack (no JS execution) from the sources at tag v1.0.3. tresorbot-bridge passed lint (two advisory explicit_inputs warnings, no errors) and installed into an isolated daemon as compatible: true, executable: true, both from its source directory and from the packed JSON bundle. No live account or subscription-provider requests were used.
Tresor plugins v1.0.2
Reliability and protocol fidelity
- remove_thinking 2.0.2: streamline event dispatch while preserving non-thinking payloads.
- break_repeat 2.0.2: conservative final-three-turn detection, Responses turn grouping, and reasoning-only/unsupported-turn barriers; avoid scanning unnecessary history.
- fix_anthropic_usage 2.0.2: Anthropic-only normalization, latest sparse counter tracking, exact numeric preservation, and no fabricated usage without a message start.
- force_streaming 2.0.2: preserve fragmented function/custom tools, reject incomplete OpenAI choices even after
[DONE], retain Gemini part boundaries/signatures, and buffer large signed text within existing collection limits. - fix_anthropic_system 2.0.1 is unchanged.
Installation
Download the versioned JSON bundles, not repository ZIP files. Installation enables a plugin; add it to a routing rule to apply it. Only install code from sources you trust. Sources are MIT licensed.
plugin-digests.txt contains canonical source digests for --sha256, not JSON file checksums.
Validated with actual-Goja regressions, an uncached full unit suite, full integration tests, isolated packaged gateway checks, browser verification, a 10 MiB signed Gemini response, and a captured-stream replay. No real subscription-provider requests were used. These plugins are intended for the current configuration-free/logging-free API V2 runtime; no execution watchdogs or increased size limits were added.
Tresor plugins v1.0.1
Five API V2 plugins, each at manifest version 2.0.1, updated for Tresor's configuration-free and logging-free plugin contract.
- Removed the configuration-dependent custom_header plugin.
- Removed config_schema from all remaining manifests; no plugin configuration or logging capabilities are used.
- Installation enables plugins immediately. Add an installed plugin to a routing rule before it applies to requests; no permission approval or separate activation is needed.
- Updated installation and enable/disable/delete instructions.
Download the versioned JSON bundles, not repository ZIP files. plugin-digests.txt contains canonical source digests for --sha256, not JSON file checksums. Only install code from sources you trust. Sources are MIT licensed.
All five bundles were linted, packed, and successfully installed into an isolated Tresor daemon. Author lint reports advisory unresolved-exports warnings for break_repeat and force_streaming; lint is not a compatibility proof.
Tresor plugins v1.0.0
Initial release of six API V2 plugins, each at manifest version 2.0.0. Install a versioned JSON asset using Tresor plugin install-url, then activate it and add it to a routing rule. plugin-digests.txt contains canonical source digests for --sha256, not JSON file checksums. All current plugins declare no permissions. Sources are MIT licensed. Author lint reports advisory unresolved-exports warnings for break_repeat and force_streaming; lint is not a compatibility proof.