tailscale / tailscale/aperture-cli

feature: Looking for protocol conversion and docs suggestion

Open Beginner friendly
#19 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
74
Forks
13
Avg merge
1h
Merged PRs (30d)
7

Description

The Problem

Currently, the documentation does not clearly state whether Aperture translates between different LLM API formats (e.g., OpenAI /v1/chat/completions ↔ Anthropic /v1/messages).

I mistakenly assumed Aperture could accept an OpenAI-style request and convert it to an Anthropic-style request before forwarding it to the backend. However, after testing, it seems Aperture simply acts as a passthrough proxy and forwards the request as-is. This leads to confusion and failed requests when the client format doesn't match the backend format.

The Request
  1. Docs Update (Primary): Please add a prominent note in the documentation explaining that Aperture is a passthrough proxy and does not perform protocol conversion. Clients must use the native request format of the target provider (e.g., Anthropic format for Anthropic backends, OpenAI format for OpenAI backends).
  2. Feature Request (Secondary): As a future enhancement, it would be great if Aperture could optionally translate request/response formats (e.g., accept OpenAI input, convert and forward as Anthropic). This would allow tools locked to a specific API format (like Claude Code or OpenAI Codex CLI) to seamlessly use different backends without needing an external conversion proxy.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the project documentation entry point and the existing explanation of Aperture's proxy behavior. Add a prominent note that it is a passthrough proxy and does not convert request or response formats, including the native-format examples from the issue. Done means the documentation clearly sets this expectation; the protocol-conversion enhancement is a separate future feature.

Written by the indexing model from the issue text.

Assessment

Domain
api, documentation
Issue type
Documentation
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.