Your Intelligence, Orchestrated. Every builder. Every team. Every agent. For Everyone.
$ npx -y skills add tingly-dev/tingly-box --agent claude-code
Run the curl in your terminal, the rest in Claude Code.
Repo: tingly-dev/tingly-box
What's inside

Announcement: Here is fault record. Please update to the latest version to resolve known issues. Thank you for your continued support.
Tingly Box serves agents, coordinates AI models, optimizes context, and routes requests for maximum efficiency β with built-in remote control and secure, customizable integrations.

From npm / npx (recommended)
# Install and run (auto restart, migrate and open webui while run without any args)
# A golang binary release but npx to wrap cli for convenience
npx tingly-box@latest
# or -y for convenience
npx -y tingly-box@latest
# if any network trouble, try bundle with binary built-in
npx -y tingly-box-bundle@latest
# npm mirror is supported for CN (one of below)
npx --registry=https://registry.npmmirror.com -y tingly-box-bundle@latest
npx --registry=https://mirrors.huaweicloud.com/repository/npm/ -y tingly-box-bundle@latest
npx --registry=http://mirrors.tencent.com/npm/ -y tingly-box-bundle@latest
if any trouble, please check tingly-box output, or call for an issue to help.
Install Node & NPX
# MacOS & Linux
## Install Node.js LTS via nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
## Restart terminal or load nvm
source ~/.nvm/nvm.sh
## Install Node.js LTS
nvm install --lts
## Verify installation
node -v
npx -v
# Windows
## Powershell with Winget
winget install OpenJS.NodeJS.LTS
## Restart terminal, then verify installation
node -v
npx -v
## Or download and install Node.js LTS manually:
https://nodejs.org/en/download
From Docker (GitHub Host)
mkdir tingly-data
docker run -d \
--name tingly-box \
-p 12580:12580 \
-v `pwd`/tingly-data:/home/tingly/.tingly-box \
ghcr.io/tingly-dev/tingly-box
From Docker Compose (Recommend for isolated env)
# Build and start in detached mode
docker-compose up -d
# View logs
docker-compose logs -f tingly-box
# Stop services
docker-compose down
# Access Web UI at http://localhost:12581
# (Note: Port 12581 is used to avoid conflict with host tingly on 12580)
Any application is ready to use.
We've provided detailed config guide in application

DeepSeek is optimized for mainstream agent workflows, offering broad compatibility across protocol adapters, agent clients, extended context, vision, web search, and cache optimization.
| Module | Status | What It Solves |
|---|---|---|
| Model List | β Supported | Keeps the official model list up to date in real time |
| Protocol Adaptation | β Supported | Supports official Anthropic/OpenAI APIs with bidirectional conversion |
| Reasoning Capability | β Supported | Provides compatibility with Thinking workflows |
| Cache Hit Optimization | β Supported | Improves cache hit rates for DeepSeek requests |
| Vision Proxy | β Supported | Enables DeepSeek to understand and process images |
| Web Search | β Supported | Calls official Web tools through the Anthropic endpoint |
| 1M Context Window | β Supported | Enables one-click setup for 1M context |
| Codex Adaptation | β Supported | Ensures compatibility with mainstream agent workflows |
| Claude Code / Desktop Adaptation | β Supported | Ensures compatibility with mainstream agent workflows |
Supports one-click configuration where available. For applications that require manual setup, detailed in-app configuration guides are provided.
Any compatible application is ready to use.
Detailed configuration guides are available inside each application.
Tingly Box now supports remote control through popular IM platforms. Interact with your AI agents remotely without direct server access.
Supported Platforms
Quick Setup
http://localhost:12580Use Cases

from openai import OpenAI
client = OpenAI(
api_key="your-tingly-model-token",
base_url="http://localhost:12580/tingly/openai/v1"
)
response = client.chat.completions.create(
model="tingly-gpt",
messages=[{"role": "user", "content": "Hello!"}]
)
print(response)
from anthropic import Anthropic
client = Anthropic(
api_key="your-tingly-model-token",
base_url="http://localhost:12580/tingly/anthropic"
)
response = client.messages.create(
model="tingly",
max_tokens=1024,
messages=[
{"role": "user", "content": "Hello!"}
]
)
print(response)
Tingly Box proxies requests transparently for SDKs and CLI tools.
You can also add OAuth providers (like Claude Code) and use your existing quota in any OpenAI-compatible tool:
# 1. Add Claude Code via OAuth in Web UI (http://localhost:12580)
# 2. Configure your tool with Tingly Box endpoint
Requests route through your OAuth-authorized provider, using your existing Claude Code quota instead of requiring a separate API key.
This works with any tool that supports OpenAI-compatible endpoints: Cherry Studio, VS Code extensions, or custom AI agents.

Launch the web management interface:
npx tingly-box@latest
Then open http://localhost:12580 in your browser.

User Manual β Installation, configuration, and operational guide
Guardrails β Policy-based safety checks, built-in protections, and protected credential masking
MCP Web Tools β Local stdio MCP server for web_search / web_fetch
By contributing to this repository, you agree that your contributions may be included in this project under the MPL-2.0 and may also be used by Tingly Inc. under separate commercial licensing terms.
See CONTRIBUTING.md and NOTICE for details.
We welcome contributions! Check the steps below to build from source code.
| Tool | Version | Install |
|---|---|---|
| Go | 1.26+ | https://go.dev/doc/install |
| Node.js | 20+ | https://nodejs.org/ |
| pnpm | latest | npm install -g pnpm |
| task | latest | go install github.com/go-task/task/v3/cmd/task@latest or https://taskfile.dev/installation/ |
Tip: you can also copy individual shell commands out of
Taskfile.ymland run them directly if you prefer not to installtask.
git clone https://github.com/tingly-dev/tingly-box.git
cd tingly-box
git submodule update --init --recursive
The frontend is a React + Vite app located in frontend/. You can work on it independently of the Go backend.
Login token: the frontend requires an auth token to log in. When the backend starts it prints the full login URL (e.g.
Web UI: http://localhost:12580/login/<token>). If you need to retrieve it later, run:tingly-box token view auth --reveal
Mock mode β no running backend required, uses built-in fixture data:
task web:mock
# or directly:
cd frontend && pnpm install && pnpm dev:mock
Open http://localhost:9245 in your browser. Use the token obtained above to log in.
Dev mode β proxies API calls to a local backend (start the backend first, see step 3):
task web
# or directly:
cd frontend && pnpm install && pnpm dev
Run the Go server (hot-reload via go run):
task start
# or directly:
go run ./cli/tingly-box --verbose start --debug --port 12580 --browser=false
Open http://localhost:12580 in your browser (serves the last built frontend bundle).
Builds the frontend, embeds it into the binary, then compiles Go:
task build
The output binary is written to ./build/tingly-box.
The GUI build is not yet publicly released. Skip this step unless you are specifically working on the desktop app.
task wails:build
task swagger # Regenerate openapi.json from Go source
task codegen # Regenerate frontend API client from openapi.json
task go:test # Run Go unit tests
| Telegram | |
|---|---|
| https://t.me/+V1sqeajw1pYwMzU1 | tingly-box |
Special badges are minted to recognize the contributions from following contributors:
This project is available under:
For commercial licensing inquiries, contact biz@tingly.dev.
If Tingly Box has been useful to you, consider supporting its development.
Donations are optional. A β on GitHub or a contribution is just as appreciated.
| WeChat Pay | Alipay |
|---|---|
.agents/
skills
.claude/
install-sdlc.sh
skills/
test-skill/
SKILL.md
ui-preview/
docs-screenshots.mjs
regression-credentials.mjs
scenario-routing-graph.mjs
screenshot.mjs
SKILL.md
.design/
affinity.pencil.md
afk.md
agentboot-refactor.md
bot-arch.md
bot-capability-access-control.md
bot-interaction-api.md
claude-code-config.md
codex-auth.md
codex-config.md
connect-ai-flow.md
dashboard.md
dual-provider.md
failover.pencil.md
harness-agent-testing.md
harness-duo.md
harness-matrix.md
host-binding.md
icon-hierarchy.md
images/
claude-code-apply-success.png
claude-code-env-preview.png
claude-code-quick-config.png
codex-catalog-off.png
codex-manual-catalog.png
codex-manual-no-catalog.png
codex-quick-config.png
connect-ai-credentials.png
connect-ai-form-add.png
connect-ai-form-advanced.png
connect-ai-picker.png
icon-tabler-access-control.png
icon-tabler-dashboard-cards.png
icon-tabler-dashboard-dark.png
icon-tabler-dashboard-light.png
icon-tabler-routing-graph-dark.png
icon-tabler-routing-graph-light.png
icon-tabler-routing-smart-dark.png
icon-tabler-routing-smart-light.png
icon-tabler-system.png
logging-requests-view.png
logs-requests.png
logs-system.png
logs-timeline.png
imbot-platform-seams.md
imbot-sync.md
kimi-config.md
loadbalance.pencil.md
logging-redesign.md
model-list.md
oauth.md
onboarding-ux.md
openai-endpoint-routing.md
otel.md
probe.md
protocolserver.md
quota-semantics.md
remote-cc-profile.md
remote-storage.md
rule-flag-testing.md
rule-flags.md
rule-uuid.md
runtime-port-file.md
security.md
shortcut.md
smart-guide-on-claude-code.md
smart-guide-react-anthropic-sdk.md
stream-converter-pipeline.md
stream-usage-tracking.md
test-infrastructure.md
third-party-credentials.md
tier-routing.md
tier-routing.pencil.md
transform-refactor-plan.md
ttft.md
tui.md
user-agent.md
ux-principles.md
vision-proxy.md
vmodel-benchmark.md
vmodel-sequence.md
vmodel.md
.github/
actions/
docker-build-push/
action.yml
validate-tag/
action.yml
ISSUE_TEMPLATE/
bug_report.yml
feature_request.yml
tep.yml
pr-assets/
connect-dialog-badges.png
onboarding-badges.png
quick-start-flat-step1.png
quick-start-flat-step4.png
screenshots/
add-key-dialog.png
connect-picker.png
oauth-screen2.png
scripts/
verify-binary.sh
workflows/
docker-npx.yml
harness-matrix.yml
homepage.yml
npm.yml
release.yml
verify-build.yml
.gitignore
.gitmodules
afk/
client.go
compact_test.go
compact.go
effort_test.go
engine_test.go
engine.go
go.mod
go.sum
harness_test.go
harness.go
session/
session_test.go
session.go
skill/
skill_e2e_test.go
loader_test.go
loader.go
parser.go
skill.go
standard_test.go
tool.go
thinking_test.go
truncate_test.go
truncate.go
agentboot/
agent.go
agentboot_test.go
claude/
accumulator_test.go
accumulator.go
agent_concurrency_test.go
agent.go
cli_builder_test.go
cli_builder.go
cli_discovery_test.go
config.go
constant.go
content.go
discovery.go
driver.go
environment.go
examples/
session/
main.go
README.md
fixture/
fixture_test.go
fixture.go
script.go
formatter_test.go
formatter.go
message.go
prompt_builder.go
ref/
assistant.json
README.md
stream-json.md
stream-json.schema.json
service.go
session/
filter_test.go
filter.go
parser_content_test.go
parser_test.go
parser.go
path_test.go
path.go
store_test.go
store.go
settings_ask_test.go
settings_ask.go
tool_renderer_test.go
tool_renderer.go
transport.go
utils.go
config.go
driver.go
e2e_test.go
errors.go
events.go
examples/
httpserver/
main.go
go.mod
go.sum
handle_test.go
handle.go
history/
errors.go
session_events.go
session_metadata.go
session_store.go
lifecycle.go
options.go
process/
fake.go
osexec.go
process_test.go
process.go
protocol/
decoder_test.go
decoder.go
encoder.go
events.go
testdata/
assistant_then_result.jsonl
permission_request.jsonl
README.md
result_test.go
result.go
run_test.go
run.go
runner_config_test.go
runner_execute.go
runner_lifecycle_test.go
runner_shutdown_test.go
runner_state.go
runner_store_test.go
runner_test.go
runner.go
service_run_test.go
service.go
transport.go
ai/
agent/
apply_support.go
claude_code_test.go
claude_code.go
codex_test.go
codex.go
info.go
interface.go
main_test.go
opencode_test.go
opencode.go
parse_test.go
parse.go
README.md
restore_test.go
restore.go
types_test.go
types.go
utils.go
credential_test.go
credential.go
go.mod
go.sum
issuer.go
oauth/
anthropic_hook_test.go
antigravity_hook_test.go
callback_server.go
codex_hook_test.go
config.go
devicecode.go
errors.go
example/
cli/
main.go
gemini_hook_test.go
hook.go
iflow_hook_test.go
jwt.go
kimi_hook_test.go
manager.go
oauth_test.go
options.go
qwen_hook_test.go
registry.go
requestbody.go
session.go
sessionstore_test.go
sessionstore.go
statestore_test.go
statestore.go
token.go
tokenstore.go
protocol.go
provider_test.go
provider.go
quota/
fetcher/
fetcher_test.go
fetcher.go
anthropic_test.go
anthropic.go
codex_e2e_test.go
codex_test.go
codex.go
copilot.go
cursor.go
gemini_test.go
gemini.go
helpers.go
invariants_test.go
kimi_code_test.go
kimi_code.go
kimik2_test.go
kimik2.go
minimax_cn.go
minimax_shared.go
minimax_test.go
minimax.go
openai_test.go
openai.go
openrouter_e2e_test.go
openrouter_test.go
openrouter.go
register.go
taskfile_samples_test.go
vertexai.go
zai_glm.go
zai_shared.go
zai_test.go
zai.go
manager_test.go
manager.go
refresher.go
semantic_test.go
semantic.go
store_test.go
store.go
types.go
README.md
build/
appicon.png
config.yml
darwin/
icons.icns
Info.dev.plist
Info.plist
Taskfile.yml
docker/
docker-compose.yml
docker.build.Dockerfile
docker.npx.Dockerfile
linux/
appimage/
build.sh
desktop
nfpm/
nfpm.yaml
scripts/
postinstall.sh
postremove.sh
preinstall.sh
preremove.sh
Taskfile.yml
npx/
tingly-box/
tingly-box-bundle/
.npmignore
bin.js
download.sh
package.json
pnpm-lock.yaml
tingly-box-gui/
bin.js
package-lock.json
package.json
bin.js
package-lock.json
package.json
Taskfile.curl.yml
Taskfile.docker.yml
Taskfile.linux.yml
Taskfile.quota.yml
Taskfile.windows.yml
Taskfile.yml
windows/
icon.ico
info.json
msix/
app_manifest.xml
... 1600 moreShowing a partial view of a very large repo.
FAQ
tingly-box is a Claude Code plugin with 2 hand-picked skills for development work, indexed on Flowy. Install it with the command on its page. It includes test-skill, ui-preview. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.