xyteeecode 1.0.17 → 1.0.19

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 ADDED
@@ -0,0 +1,127 @@
1
+ # xyteeecode
2
+
3
+ xyteeecode is an AI coding agent that runs in your terminal — powered by open models, with a clean TUI, agentic tool use, and full session history.
4
+
5
+ It is the rebranded fork of [opencode](https://opencode.ai), distributed as a single self-contained binary.
6
+
7
+ ## Install
8
+
9
+ ```bash
10
+ npm install -g xyteeecode
11
+ ```
12
+
13
+ The package automatically installs the matching binary for your platform (arm64/x64, Linux/macOS/Windows).
14
+
15
+ ## Quick start
16
+
17
+ ### With Kira free models (no API key setup required after signup)
18
+
19
+ 1. Sign up for a free key at [kira](https://kiraai.vn) (the gateway used in this project).
20
+ 2. Place your key in your global config:
21
+
22
+ `~/.config/opencode/opencode.jsonc`
23
+
24
+ ```jsonc
25
+ {
26
+ "provider": {
27
+ "kira": {
28
+ "npm": "@ai-sdk/openai-compatible",
29
+ "name": "Kira",
30
+ "options": {
31
+ "baseURL": "https://kiraai.vn/api/v1",
32
+ "apiKey": "{env:KIRA_API_KEY}"
33
+ },
34
+ "models": {
35
+ "qwen3.8-flash-free": {
36
+ "name": "Qwen 3.8 Flash (free)"
37
+ },
38
+ "hy3-free": {
39
+ "name": "HY3 (free)"
40
+ },
41
+ "mimo-v2.5-free": {
42
+ "name": "Mimo 2.5 (free)"
43
+ },
44
+ "glm-5.3-free": {
45
+ "name": "GLM 5.3 (free)"
46
+ }
47
+ }
48
+ }
49
+ },
50
+ "model": "kira/qwen3.8-flash-free"
51
+ }
52
+ ```
53
+
54
+ 3. Run:
55
+
56
+ ```bash
57
+ xyteeecode
58
+ ```
59
+
60
+ Or run a one-off prompt without opening the TUI:
61
+
62
+ ```bash
63
+ xyteeecode run "explain this codebase" --model kira/qwen3.8-flash-free
64
+ ```
65
+
66
+ ### With other providers
67
+
68
+ Authenticate with any provider the CLI supports (Anthropic, OpenAI, Groq, and hundreds more via models.dev), either through the built-in `/login` flow or by adding provider config the same way as above.
69
+
70
+ ### With Connect (AgentRouter)
71
+
72
+ [AgentRouter](https://agentrouter.org) is a free AI coding gateway with OpenAI-compatible and Anthropic-compatible endpoints. Add one or both gateways to your global config:
73
+
74
+ `~/.config/opencode/opencode.jsonc`
75
+
76
+ ```jsonc
77
+ {
78
+ "provider": {
79
+ "connect": {
80
+ "npm": "@ai-sdk/openai-compatible",
81
+ "name": "Connect (OpenAI gateway)",
82
+ "options": {
83
+ "baseURL": "https://agentrouter.org/v1",
84
+ "apiKey": "{env:AGENTROUTER_API_KEY}"
85
+ },
86
+ "models": {
87
+ "deepseek-v4-flash": { "name": "DeepSeek V4 Flash" },
88
+ "glm-5.3": { "name": "GLM 5.3" },
89
+ "gpt-5.6-sol": { "name": "GPT 5.6 SOL" }
90
+ }
91
+ },
92
+ "connect-anthropic": {
93
+ "npm": "@ai-sdk/anthropic",
94
+ "name": "Connect (Anthropic gateway)",
95
+ "options": {
96
+ "baseURL": "https://agentrouter.org",
97
+ "apiKey": "{env:AGENTROUTER_API_KEY}"
98
+ },
99
+ "models": {
100
+ "claude-opus-5": { "name": "Claude Opus 5" },
101
+ "claude-opus-4-8": { "name": "Claude Opus 4-8" }
102
+ }
103
+ }
104
+ },
105
+ "model": "connect/deepseek-v4-flash"
106
+ }
107
+ ```
108
+
109
+ Note: for the Anthropic gateway the base URL must **not** include `/v1`. The model list is dynamic — always check the latest models at [https://ps.air-outer.com/console/personal](https://ps.air-outer.com/console/personal).
110
+
111
+ ## Commands
112
+
113
+ - `xyteeecode` — launch the interactive terminal UI
114
+ - `xyteeecode run "<prompt>"` — run a single prompt in the current directory
115
+ - `xyteeecode models <provider>` — list available models for a provider
116
+ - `xyteeecode agent list` — list agents
117
+ - `xyteeecode mcp list` — list MCP servers
118
+ - `xyteeecode session list` — list past sessions
119
+ - `xyteeecode --help` — all commands and flags
120
+
121
+ ## Config
122
+
123
+ Global config lives at `~/.config/opencode/opencode.jsonc`. Project config lives in `.opencode/opencode.json` at your project root.
124
+
125
+ ## License
126
+
127
+ MIT
package/bin/xyteeecode CHANGED
@@ -30,6 +30,15 @@ function run(target, inheritedEnv, bypassLoader) {
30
30
  : binDir
31
31
  }
32
32
 
33
+ // The bundled musl libc uses a stub resolver that reads /etc/resolv.conf
34
+ // and speaks raw UDP to its nameservers. Stock Termux/Android has no
35
+ // resolv.conf and no listener on 127.0.0.1:53, so getaddrinfo(3) times out
36
+ // and HTTPS to the API host fails with ETIMEDOUT. dnsbridge.so replaces
37
+ // getaddrinfo() with an implementation that queries real (public) DNS
38
+ // servers directly. It is preloaded only for the musl build.
39
+ const dnsShim = isMusl ? path.join(binDir, "dnsbridge.so") : null
40
+ const useDnsShim = !!dnsShim && fs.existsSync(dnsShim)
41
+
33
42
  // Stock Termux injects libtermux-exec-ld-preload.so through LD_PRELOAD,
34
43
  // which the bundled musl loader cannot load. Only on Termux/Android/arm64
35
44
  // with the musl build, drop the preload variables (this touches the child
@@ -52,6 +61,11 @@ function run(target, inheritedEnv, bypassLoader) {
52
61
  delete env.LD_PRELOAD
53
62
  delete env.LD_PRELOAD_64
54
63
  env.LD_LIBRARY_PATH = binDir
64
+ if (useDnsShim) env.LD_PRELOAD = dnsShim
65
+ } else if (useDnsShim) {
66
+ env.LD_PRELOAD = env.LD_PRELOAD
67
+ ? dnsShim + ":" + env.LD_PRELOAD
68
+ : dnsShim
55
69
  }
56
70
 
57
71
  const command = useLoader ? loader : target
package/package.json CHANGED
@@ -1,19 +1,34 @@
1
1
  {
2
2
  "name": "xyteeecode",
3
- "version": "1.0.17",
4
- "description": "An opencoding agent with offline-quality models for every hardware. Powered by opencode.",
3
+ "version": "1.0.19",
4
+ "description": "xyteeecode - AI coding agent CLI",
5
5
  "license": "MIT",
6
+ "homepage": "https://xyteee.com",
7
+ "keywords": [
8
+ "ai",
9
+ "coding",
10
+ "agent",
11
+ "cli",
12
+ "terminal",
13
+ "xyteeecode",
14
+ "llm"
15
+ ],
6
16
  "files": [
7
- "bin"
17
+ "bin",
18
+ "README.md"
8
19
  ],
20
+ "bin": {
21
+ "xyteeecode": "bin/xyteeecode"
22
+ },
9
23
  "engines": {
10
24
  "node": ">=18"
11
25
  },
12
- "bin": {
13
- "xyteeecode": "./bin/xyteeecode"
14
- },
15
26
  "optionalDependencies": {
16
- "xyteeecode-linux-arm64-musl": "1.0.17",
17
- "xyteeecode-linux-x64-musl": "1.0.17"
27
+ "xyteeecode-linux-arm64": "1.0.19",
28
+ "xyteeecode-linux-x64": "1.0.19",
29
+ "xyteeecode-linux-x64-baseline": "1.0.19",
30
+ "xyteeecode-linux-arm64-musl": "1.0.19",
31
+ "xyteeecode-linux-x64-musl": "1.0.19",
32
+ "xyteeecode-linux-x64-baseline-musl": "1.0.19"
18
33
  }
19
- }
34
+ }
package/LICENSE DELETED
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2025 opencode
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.