dimcode 0.0.16-beta.2 → 0.0.16
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 +196 -17
- package/assets/gui/200.html +12 -0
- package/assets/gui/404.html +12 -0
- package/assets/gui/_nuxt/B4BeXTM8.js +1 -0
- package/assets/gui/_nuxt/BTTJEMKv.js +42 -0
- package/assets/gui/_nuxt/CBflTB_3.js +1 -0
- package/assets/gui/_nuxt/Cd_MtzEZ.js +957 -0
- package/assets/gui/_nuxt/DLcXGJ1M.js +261 -0
- package/assets/gui/_nuxt/DTsXV384.js +2 -0
- package/assets/gui/_nuxt/DlAUqK2U.js +1 -0
- package/assets/gui/_nuxt/DzShUmTH.js +1 -0
- package/assets/gui/_nuxt/KaTeX_AMS-Regular.BQhdFMY1.woff2 +0 -0
- package/assets/gui/_nuxt/KaTeX_AMS-Regular.DMm9YOAa.woff +0 -0
- package/assets/gui/_nuxt/KaTeX_AMS-Regular.DRggAlZN.ttf +0 -0
- package/assets/gui/_nuxt/KaTeX_Caligraphic-Bold.ATXxdsX0.ttf +0 -0
- package/assets/gui/_nuxt/KaTeX_Caligraphic-Bold.BEiXGLvX.woff +0 -0
- package/assets/gui/_nuxt/KaTeX_Caligraphic-Bold.Dq_IR9rO.woff2 +0 -0
- package/assets/gui/_nuxt/KaTeX_Caligraphic-Regular.CTRA-rTL.woff +0 -0
- package/assets/gui/_nuxt/KaTeX_Caligraphic-Regular.Di6jR-x-.woff2 +0 -0
- package/assets/gui/_nuxt/KaTeX_Caligraphic-Regular.wX97UBjC.ttf +0 -0
- package/assets/gui/_nuxt/KaTeX_Fraktur-Bold.BdnERNNW.ttf +0 -0
- package/assets/gui/_nuxt/KaTeX_Fraktur-Bold.BsDP51OF.woff +0 -0
- package/assets/gui/_nuxt/KaTeX_Fraktur-Bold.CL6g_b3V.woff2 +0 -0
- package/assets/gui/_nuxt/KaTeX_Fraktur-Regular.CB_wures.ttf +0 -0
- package/assets/gui/_nuxt/KaTeX_Fraktur-Regular.CTYiF6lA.woff2 +0 -0
- package/assets/gui/_nuxt/KaTeX_Fraktur-Regular.Dxdc4cR9.woff +0 -0
- package/assets/gui/_nuxt/KaTeX_Main-Bold.Cx986IdX.woff2 +0 -0
- package/assets/gui/_nuxt/KaTeX_Main-Bold.Jm3AIy58.woff +0 -0
- package/assets/gui/_nuxt/KaTeX_Main-Bold.waoOVXN0.ttf +0 -0
- package/assets/gui/_nuxt/KaTeX_Main-BoldItalic.DxDJ3AOS.woff2 +0 -0
- package/assets/gui/_nuxt/KaTeX_Main-BoldItalic.DzxPMmG6.ttf +0 -0
- package/assets/gui/_nuxt/KaTeX_Main-BoldItalic.SpSLRI95.woff +0 -0
- package/assets/gui/_nuxt/KaTeX_Main-Italic.3WenGoN9.ttf +0 -0
- package/assets/gui/_nuxt/KaTeX_Main-Italic.BMLOBm91.woff +0 -0
- package/assets/gui/_nuxt/KaTeX_Main-Italic.NWA7e6Wa.woff2 +0 -0
- package/assets/gui/_nuxt/KaTeX_Main-Regular.B22Nviop.woff2 +0 -0
- package/assets/gui/_nuxt/KaTeX_Main-Regular.Dr94JaBh.woff +0 -0
- package/assets/gui/_nuxt/KaTeX_Main-Regular.ypZvNtVU.ttf +0 -0
- package/assets/gui/_nuxt/KaTeX_Math-BoldItalic.B3XSjfu4.ttf +0 -0
- package/assets/gui/_nuxt/KaTeX_Math-BoldItalic.CZnvNsCZ.woff2 +0 -0
- package/assets/gui/_nuxt/KaTeX_Math-BoldItalic.iY-2wyZ7.woff +0 -0
- package/assets/gui/_nuxt/KaTeX_Math-Italic.DA0__PXp.woff +0 -0
- package/assets/gui/_nuxt/KaTeX_Math-Italic.flOr_0UB.ttf +0 -0
- package/assets/gui/_nuxt/KaTeX_Math-Italic.t53AETM-.woff2 +0 -0
- package/assets/gui/_nuxt/KaTeX_SansSerif-Bold.CFMepnvq.ttf +0 -0
- package/assets/gui/_nuxt/KaTeX_SansSerif-Bold.D1sUS0GD.woff2 +0 -0
- package/assets/gui/_nuxt/KaTeX_SansSerif-Bold.DbIhKOiC.woff +0 -0
- package/assets/gui/_nuxt/KaTeX_SansSerif-Italic.C3H0VqGB.woff2 +0 -0
- package/assets/gui/_nuxt/KaTeX_SansSerif-Italic.DN2j7dab.woff +0 -0
- package/assets/gui/_nuxt/KaTeX_SansSerif-Italic.YYjJ1zSn.ttf +0 -0
- package/assets/gui/_nuxt/KaTeX_SansSerif-Regular.BNo7hRIc.ttf +0 -0
- package/assets/gui/_nuxt/KaTeX_SansSerif-Regular.CS6fqUqJ.woff +0 -0
- package/assets/gui/_nuxt/KaTeX_SansSerif-Regular.DDBCnlJ7.woff2 +0 -0
- package/assets/gui/_nuxt/KaTeX_Script-Regular.C5JkGWo-.ttf +0 -0
- package/assets/gui/_nuxt/KaTeX_Script-Regular.D3wIWfF6.woff2 +0 -0
- package/assets/gui/_nuxt/KaTeX_Script-Regular.D5yQViql.woff +0 -0
- package/assets/gui/_nuxt/KaTeX_Size1-Regular.C195tn64.woff +0 -0
- package/assets/gui/_nuxt/KaTeX_Size1-Regular.Dbsnue_I.ttf +0 -0
- package/assets/gui/_nuxt/KaTeX_Size1-Regular.mCD8mA8B.woff2 +0 -0
- package/assets/gui/_nuxt/KaTeX_Size2-Regular.B7gKUWhC.ttf +0 -0
- package/assets/gui/_nuxt/KaTeX_Size2-Regular.Dy4dx90m.woff2 +0 -0
- package/assets/gui/_nuxt/KaTeX_Size2-Regular.oD1tc_U0.woff +0 -0
- package/assets/gui/_nuxt/KaTeX_Size3-Regular.CTq5MqoE.woff +0 -0
- package/assets/gui/_nuxt/KaTeX_Size3-Regular.DgpXs0kz.ttf +0 -0
- package/assets/gui/_nuxt/KaTeX_Size4-Regular.BF-4gkZK.woff +0 -0
- package/assets/gui/_nuxt/KaTeX_Size4-Regular.DWFBv043.ttf +0 -0
- package/assets/gui/_nuxt/KaTeX_Size4-Regular.Dl5lxZxV.woff2 +0 -0
- package/assets/gui/_nuxt/KaTeX_Typewriter-Regular.C0xS9mPB.woff +0 -0
- package/assets/gui/_nuxt/KaTeX_Typewriter-Regular.CO6r4hn1.woff2 +0 -0
- package/assets/gui/_nuxt/KaTeX_Typewriter-Regular.D3Ib7_Hf.ttf +0 -0
- package/assets/gui/_nuxt/ULB_ug-y.js +2511 -0
- package/assets/gui/_nuxt/_baseUniq-BP57Elhf.js +1 -0
- package/assets/gui/_nuxt/arc-Y1WZXZUo.js +1 -0
- package/assets/gui/_nuxt/architectureDiagram-VXUJARFQ-aO7Rb24c.js +36 -0
- package/assets/gui/_nuxt/blockDiagram-VD42YOAC-B3uFbaWi.js +122 -0
- package/assets/gui/_nuxt/builds/latest.json +1 -0
- package/assets/gui/_nuxt/builds/meta/23cb514b-b517-423e-9289-35684b02b352.json +1 -0
- package/assets/gui/_nuxt/c4Diagram-YG6GDRKO-DHJl7yiB.js +10 -0
- package/assets/gui/_nuxt/channel-DpNic2cF.js +1 -0
- package/assets/gui/_nuxt/chunk-4BX2VUAB-CWm83ERH.js +1 -0
- package/assets/gui/_nuxt/chunk-55IACEB6-Du_n8jC4.js +1 -0
- package/assets/gui/_nuxt/chunk-B4BG7PRW-BTzCu0pf.js +165 -0
- package/assets/gui/_nuxt/chunk-DI55MBZ5-DBddr-cr.js +220 -0
- package/assets/gui/_nuxt/chunk-FMBD7UC4-8fDVfHv2.js +15 -0
- package/assets/gui/_nuxt/chunk-QN33PNHL-CR7hsK0L.js +1 -0
- package/assets/gui/_nuxt/chunk-QZHKN3VN-DaFYAnGP.js +1 -0
- package/assets/gui/_nuxt/chunk-TZMSLE5B-BjCFOyRb.js +1 -0
- package/assets/gui/_nuxt/classDiagram-2ON5EDUG-CqyEtcjO.js +1 -0
- package/assets/gui/_nuxt/classDiagram-v2-WZHVMYZB-CqyEtcjO.js +1 -0
- package/assets/gui/_nuxt/clone-DCFnqWq9.js +1 -0
- package/assets/gui/_nuxt/cose-bilkent-S5V4N54A-CA9LZ8Zj.js +1 -0
- package/assets/gui/_nuxt/css.worker-BL6kSyU1.js +93 -0
- package/assets/gui/_nuxt/cytoscape.esm-5J0xJHOV.js +321 -0
- package/assets/gui/_nuxt/dagre-6UL2VRFP-CBQSftkS.js +4 -0
- package/assets/gui/_nuxt/defaultLocale-CCNgq9ws.js +1 -0
- package/assets/gui/_nuxt/diagram-PSM6KHXK-DsTyKY6m.js +24 -0
- package/assets/gui/_nuxt/diagram-QEK2KX5R-D9APFlGs.js +43 -0
- package/assets/gui/_nuxt/diagram-S2PKOQOG-IKVKLS18.js +24 -0
- package/assets/gui/_nuxt/editor.worker-BDzEcYpU.js +26 -0
- package/assets/gui/_nuxt/entry.CEtVlF9V.css +1 -0
- package/assets/gui/_nuxt/erDiagram-Q2GNP2WA-CH15dTWb.js +60 -0
- package/assets/gui/_nuxt/error-404.DF6r4GP7.css +1 -0
- package/assets/gui/_nuxt/error-500.Bo5pzFPU.css +1 -0
- package/assets/gui/_nuxt/flowDiagram-NV44I4VS-zt5vccS4.js +162 -0
- package/assets/gui/_nuxt/ganttDiagram-JELNMOA3-DvD26RKf.js +267 -0
- package/assets/gui/_nuxt/gitGraphDiagram-NY62KEGX-BEF64eCN.js +65 -0
- package/assets/gui/_nuxt/graph-CvZayWR8.js +1 -0
- package/assets/gui/_nuxt/html.worker-BJUDQ4P_.js +470 -0
- package/assets/gui/_nuxt/index.BGLZpmxK.css +1 -0
- package/assets/gui/_nuxt/infoDiagram-WHAUD3N6-BqqPKCej.js +2 -0
- package/assets/gui/_nuxt/init-Gi6I4Gst.js +1 -0
- package/assets/gui/_nuxt/journeyDiagram-XKPGCS4Q-D37U2RLk.js +139 -0
- package/assets/gui/_nuxt/json.worker-CbPvaBPT.js +58 -0
- package/assets/gui/_nuxt/kanban-definition-3W4ZIXB7-o0rG_onk.js +89 -0
- package/assets/gui/_nuxt/katex-XbL3y5x-.js +261 -0
- package/assets/gui/_nuxt/layout-BVt2QQzT.js +1 -0
- package/assets/gui/_nuxt/linear-CjtgffNP.js +1 -0
- package/assets/gui/_nuxt/min-CuqY3rK3.js +1 -0
- package/assets/gui/_nuxt/mindmap-definition-VGOIOE7T-4BDFzlaj.js +68 -0
- package/assets/gui/_nuxt/ordinal-Cboi1Yqb.js +1 -0
- package/assets/gui/_nuxt/pieDiagram-ADFJNKIX-DOY587kc.js +30 -0
- package/assets/gui/_nuxt/quadrantDiagram-AYHSOK5B-C0uhckN3.js +7 -0
- package/assets/gui/_nuxt/requirementDiagram-UZGBJVZJ-D0pHyv4t.js +64 -0
- package/assets/gui/_nuxt/sankeyDiagram-TZEHDZUN-B9uFH2wG.js +10 -0
- package/assets/gui/_nuxt/sequenceDiagram-WL72ISMW-CmLKcFaQ.js +145 -0
- package/assets/gui/_nuxt/stateDiagram-FKZM4ZOC-DXLM32ee.js +1 -0
- package/assets/gui/_nuxt/stateDiagram-v2-4FDKWEC3-Bwg-9iwU.js +1 -0
- package/assets/gui/_nuxt/timeline-definition-IT6M3QCI-Bz55IcKP.js +61 -0
- package/assets/gui/_nuxt/treemap-KMMF4GRG-D3QBlffy.js +128 -0
- package/assets/gui/_nuxt/ts.worker-BkEcNiLV.js +67718 -0
- package/assets/gui/_nuxt/vendor-katex.ltkKqWhd.css +1 -0
- package/assets/gui/_nuxt/vendor-markstream.D6yyxftE.css +1 -0
- package/assets/gui/_nuxt/xychartDiagram-PRI3JC2R-CPU3Crx9.js +7 -0
- package/assets/gui/favicon.ico +0 -0
- package/assets/gui/index.html +12 -0
- package/assets/gui/robots.txt +2 -0
- package/dist/cli.mjs +716 -719
- package/dist/google.json +1 -1
- package/dist/models/aihubmix.json +1 -1
- package/dist/models/openrouter.json +1 -1
- package/dist/models/siliconflow-com.json +1 -1
- package/dist/models/siliconflow.json +1 -1
- package/dist/models/zenmux.json +1 -1
- package/dist/openai.json +1 -1
- package/dist/xai.json +1 -1
- package/dist/zai-coding-plan.json +1 -1
- package/dist/zai.json +1 -1
- package/dist/zhipuai-coding-plan.json +1 -1
- package/dist/zhipuai.json +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -2,11 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
# Dimcode CLI
|
|
4
4
|
|
|
5
|
-
>
|
|
5
|
+
> An AI coding agent CLI and terminal coding assistant with a beautiful interactive TUI
|
|
6
6
|
|
|
7
7
|
[](https://badge.fury.io/js/dimcode)
|
|
8
8
|
|
|
9
|
-
Dimcode is
|
|
9
|
+
Dimcode is an AI coding CLI for terminal-first developers who want fast code generation, refactoring, repo search, code review, and agent-style workflows directly in the shell.
|
|
10
|
+
|
|
11
|
+
If you are searching for a CLI coding tool similar to Claude Code, Codex, OpenCode, or Cursor's terminal workflow, Dimcode is built for the same terminal-native use case while adding a polished multi-session TUI, tool approvals, MCP support, and flexible provider setup.
|
|
12
|
+
|
|
13
|
+
Dimcode helps you move fast with:
|
|
10
14
|
|
|
11
15
|
- 🎨 **Beautiful TUI** - Modern terminal interface built with Vue 3
|
|
12
16
|
|
|
@@ -25,6 +29,18 @@ Dimcode is a command-line interface for AI-powered coding assistance. It helps y
|
|
|
25
29
|
| Weekly downloads | [](https://www.npmjs.com/package/dimcode) |
|
|
26
30
|
| Total downloads | [](https://www.npmjs.com/package/dimcode) |
|
|
27
31
|
|
|
32
|
+
## Why Developers Search for Dimcode
|
|
33
|
+
|
|
34
|
+
Dimcode is designed for developers looking for:
|
|
35
|
+
|
|
36
|
+
- An **AI coding CLI** for daily programming tasks
|
|
37
|
+
- A **terminal coding assistant** for large codebases
|
|
38
|
+
- A **Claude Code alternative** with a richer TUI
|
|
39
|
+
- A **Codex CLI alternative** for multi-session work
|
|
40
|
+
- An **OpenCode alternative** with built-in tool approvals
|
|
41
|
+
- A **Cursor alternative for terminal users** who prefer staying in the shell
|
|
42
|
+
- A **CLI AI agent** for refactors, debugging, repo Q&A, and web research
|
|
43
|
+
|
|
28
44
|
## ⚡ Get Started in 30 Seconds
|
|
29
45
|
|
|
30
46
|
1. Install the CLI
|
|
@@ -47,6 +63,8 @@ Create a React component for a todo list
|
|
|
47
63
|
|
|
48
64
|
## 📦 Installation
|
|
49
65
|
|
|
66
|
+
Install Dimcode as your AI coding assistant CLI:
|
|
67
|
+
|
|
50
68
|
### Global Installation (Recommended)
|
|
51
69
|
|
|
52
70
|
```bash
|
|
@@ -146,29 +164,45 @@ Type slash commands directly in the input field:
|
|
|
146
164
|
- `Tab` moves focus to the next input field; `Shift+Tab` moves to the previous
|
|
147
165
|
- The CLI is mouse-friendly for selection, scrolling, and clicking buttons/controls
|
|
148
166
|
|
|
167
|
+
## Dimcode vs Other AI Coding Tools
|
|
168
|
+
|
|
169
|
+
If you are comparing Dimcode with Claude Code, Codex, OpenCode, or Cursor, the main difference is that Dimcode focuses on a terminal-first agent experience with:
|
|
170
|
+
|
|
171
|
+
- **Interactive TUI workflows** instead of a minimal chat-only shell
|
|
172
|
+
- **Multi-session conversation management** for parallel coding tasks
|
|
173
|
+
- **Tool approvals and built-in tools** for safer repo operations
|
|
174
|
+
- **Flexible provider and model configuration** for custom setups
|
|
175
|
+
- **ACP / MCP connectivity** for editor and tool integrations
|
|
176
|
+
|
|
177
|
+
That makes it a good fit for developers who want an AI code assistant in the terminal, but need more control and visibility than a basic CLI chat loop.
|
|
178
|
+
|
|
149
179
|
## ⚙️ Configuration
|
|
150
180
|
|
|
151
|
-
###
|
|
181
|
+
### Connect a Provider
|
|
152
182
|
|
|
153
|
-
|
|
183
|
+
Use one of these flows:
|
|
184
|
+
|
|
185
|
+
1. Launch the CLI:
|
|
154
186
|
|
|
155
187
|
```bash
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
188
|
+
dim
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
2. Open provider setup:
|
|
192
|
+
|
|
193
|
+
```text
|
|
194
|
+
/connect
|
|
195
|
+
```
|
|
160
196
|
|
|
161
|
-
|
|
162
|
-
SERPER_API_KEY=your_serper_key_here
|
|
197
|
+
3. Choose your provider and model, then start chatting.
|
|
163
198
|
|
|
164
|
-
|
|
165
|
-
DIMCODE_HOME=~/.dimcode
|
|
199
|
+
You can also open settings any time with:
|
|
166
200
|
|
|
167
|
-
|
|
168
|
-
|
|
201
|
+
```text
|
|
202
|
+
/settings
|
|
169
203
|
```
|
|
170
204
|
|
|
171
|
-
|
|
205
|
+
or press `Ctrl+K`.
|
|
172
206
|
|
|
173
207
|
### First-time Setup
|
|
174
208
|
|
|
@@ -178,7 +212,145 @@ On first launch, Dimcode will guide you through:
|
|
|
178
212
|
2. **Model Selection** - Choose your preferred AI model
|
|
179
213
|
3. **Tool Approvals** - Configure which tools can run automatically
|
|
180
214
|
|
|
181
|
-
|
|
215
|
+
### Codex OAuth
|
|
216
|
+
|
|
217
|
+
If you want to use Codex OAuth, you can sign in from the CLI:
|
|
218
|
+
|
|
219
|
+
```bash
|
|
220
|
+
dim auth codex
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
Inside the app, `/codexlogin` opens the same login flow.
|
|
224
|
+
|
|
225
|
+
### Common CLI Setup Tasks
|
|
226
|
+
|
|
227
|
+
- Use `/connect` to add or switch a provider
|
|
228
|
+
- Use `/settings` to manage custom provider settings
|
|
229
|
+
- Use `/models` to change the active model
|
|
230
|
+
- Use `/approvals` to control tool execution permissions
|
|
231
|
+
- Use `/tool-settings` to configure tool-specific settings such as WebSearch
|
|
232
|
+
- Use `/mcp` to manage MCP integrations
|
|
233
|
+
|
|
234
|
+
Settings and local session data are stored in `~/.dimcode/dimcode/` by default.
|
|
235
|
+
|
|
236
|
+
### Skills Directory
|
|
237
|
+
|
|
238
|
+
Dimcode automatically discovers skills from both global and project-local directories:
|
|
239
|
+
|
|
240
|
+
- Global: `~/.agents/skills/`
|
|
241
|
+
- Project-local: `<your-project>/.agents/skills/`
|
|
242
|
+
- Compatibility paths also supported: `~/.claude/skills/` and `<your-project>/.claude/skills/`
|
|
243
|
+
|
|
244
|
+
Each skill should live in its own folder with a `SKILL.md` file:
|
|
245
|
+
|
|
246
|
+
```text
|
|
247
|
+
~/.agents/skills/my-skill/SKILL.md
|
|
248
|
+
<your-project>/.agents/skills/my-skill/SKILL.md
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
If the same skill name exists in multiple places, project-local skills override global skills, and `.agents/skills` takes priority over `.claude/skills`.
|
|
252
|
+
|
|
253
|
+
### Web Search Key
|
|
254
|
+
|
|
255
|
+
To enable web search in the CLI, open:
|
|
256
|
+
|
|
257
|
+
```text
|
|
258
|
+
/tool-settings
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
Then paste your WebSearch / Serper API key into the `WebSearch API Key` field and save.
|
|
262
|
+
|
|
263
|
+
By default, Dimcode stores tool settings in:
|
|
264
|
+
|
|
265
|
+
```text
|
|
266
|
+
~/.dimcode/tools.json
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
If you prefer environment variables for advanced setups, Dimcode also checks:
|
|
270
|
+
|
|
271
|
+
- `DIMCODE_WEBSEARCH_KEY`
|
|
272
|
+
- `SERPER_API_KEY`
|
|
273
|
+
|
|
274
|
+
### MCP Configuration
|
|
275
|
+
|
|
276
|
+
To configure MCP servers from the CLI, open:
|
|
277
|
+
|
|
278
|
+
```text
|
|
279
|
+
/mcp
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
Paste MCP JSON into the editor, then use the built-in format / test actions before saving. Example:
|
|
283
|
+
|
|
284
|
+
```json
|
|
285
|
+
{
|
|
286
|
+
"mcpServers": {
|
|
287
|
+
"context7": {
|
|
288
|
+
"url": "https://mcp.context7.com/mcp",
|
|
289
|
+
"headers": {
|
|
290
|
+
"CONTEXT7_API_KEY": "YOUR_API_KEY"
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
For Context7, this is the recommended hosted HTTP setup. If your MCP client supports MCP OAuth, Context7's official OAuth endpoint is:
|
|
298
|
+
|
|
299
|
+
```text
|
|
300
|
+
https://mcp.context7.com/mcp/oauth
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
In Dimcode, use the standard remote HTTP endpoint plus auth headers unless native MCP OAuth support is added for remote servers.
|
|
304
|
+
|
|
305
|
+
CLI MCP settings are stored locally in:
|
|
306
|
+
|
|
307
|
+
```text
|
|
308
|
+
~/.dimcode/tools.json
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
If you use `DIMCODE_HOME`, replace `~/.dimcode` with that directory.
|
|
312
|
+
|
|
313
|
+
You can also skip `/mcp` and edit that file directly. The file format is:
|
|
314
|
+
|
|
315
|
+
```json
|
|
316
|
+
{
|
|
317
|
+
"version": 1,
|
|
318
|
+
"updatedAt": 1735689600000,
|
|
319
|
+
"settings": {
|
|
320
|
+
"mcpServers": [
|
|
321
|
+
{
|
|
322
|
+
"id": "mcp_context7",
|
|
323
|
+
"name": "context7",
|
|
324
|
+
"transport": "http",
|
|
325
|
+
"url": "https://mcp.context7.com/mcp",
|
|
326
|
+
"headers": {
|
|
327
|
+
"CONTEXT7_API_KEY": "YOUR_API_KEY"
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
]
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
Use `/mcp` when you want the friendlier editor and connection test UI. Edit `~/.dimcode/tools.json` directly when you want to script, sync, or manage MCP config as a file.
|
|
336
|
+
|
|
337
|
+
## ACP Server
|
|
338
|
+
|
|
339
|
+
Dimcode can run as an ACP server for editors and tools such as Zed or OpenClaw `acpx`.
|
|
340
|
+
|
|
341
|
+
Preferred commands:
|
|
342
|
+
|
|
343
|
+
```bash
|
|
344
|
+
dim acp
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
```bash
|
|
348
|
+
node /absolute/path/to/repo/scripts/acpx-agent.mjs
|
|
349
|
+
```
|
|
350
|
+
|
|
351
|
+
For GUI launchers, prefer absolute paths instead of relying on shell `PATH`.
|
|
352
|
+
Do not configure `bun run acp-server` in `acpx` or editor settings; it only works when the cwd is the repository root.
|
|
353
|
+
If you use Codex OAuth, run `dim auth codex` once first. If you use a custom provider, make sure `~/.dimcode/config.json` already contains a valid provider setup.
|
|
182
354
|
|
|
183
355
|
## 🔧 Built-in Tools
|
|
184
356
|
|
|
@@ -211,7 +383,7 @@ Dimcode comes with powerful built-in tools:
|
|
|
211
383
|
|
|
212
384
|
### Skills
|
|
213
385
|
|
|
214
|
-
Skills are specialized capabilities that can be activated to extend
|
|
386
|
+
Skills are specialized capabilities that can be activated to extend Dimcode's functionality. Built-in skills include:
|
|
215
387
|
|
|
216
388
|
- **skill-installer** - Install Codex skills from curated list or GitHub repos
|
|
217
389
|
- **skill-creator** - Guide for creating effective skills
|
|
@@ -239,6 +411,13 @@ dim
|
|
|
239
411
|
# Then type: "Search for the latest best practices in TypeScript 5.3"
|
|
240
412
|
```
|
|
241
413
|
|
|
414
|
+
### Compare CLI Coding Agents
|
|
415
|
+
|
|
416
|
+
```bash
|
|
417
|
+
dim
|
|
418
|
+
# Then type: "Compare Dimcode with Claude Code, Codex, OpenCode, and Cursor for terminal-first development"
|
|
419
|
+
```
|
|
420
|
+
|
|
242
421
|
## 🔐 Security & Privacy
|
|
243
422
|
|
|
244
423
|
- **Tool Approvals**: By default, sensitive operations (file writes, shell commands) require user approval
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>GoatChain GUI</title><script type="text/javascript">
|
|
2
|
+
(function() {
|
|
3
|
+
try {
|
|
4
|
+
const savedTheme = localStorage.getItem('goatchain-theme');
|
|
5
|
+
const prefersDark = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
|
|
6
|
+
const shouldUseDark = savedTheme === 'dark' || (!savedTheme && prefersDark);
|
|
7
|
+
if (shouldUseDark) {
|
|
8
|
+
document.documentElement.classList.add('dark');
|
|
9
|
+
}
|
|
10
|
+
} catch (e) {}
|
|
11
|
+
})();
|
|
12
|
+
</script><link rel="stylesheet" href="/_nuxt/entry.CEtVlF9V.css" crossorigin><link rel="stylesheet" href="/_nuxt/vendor-markstream.D6yyxftE.css" crossorigin><link rel="stylesheet" href="/_nuxt/vendor-katex.ltkKqWhd.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DTsXV384.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/Cd_MtzEZ.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DLcXGJ1M.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/ULB_ug-y.js"><script type="module" src="/_nuxt/DTsXV384.js" crossorigin></script><meta name="description" content="GoatChain GUI - shared event stream viewer and query console."><script id="unhead:payload" type="application/json">{"title":"GoatChain GUI"}</script></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/",buildId:"23cb514b-b517-423e-9289-35684b02b352",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1771915830058,false]</script></body></html>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>GoatChain GUI</title><script type="text/javascript">
|
|
2
|
+
(function() {
|
|
3
|
+
try {
|
|
4
|
+
const savedTheme = localStorage.getItem('goatchain-theme');
|
|
5
|
+
const prefersDark = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
|
|
6
|
+
const shouldUseDark = savedTheme === 'dark' || (!savedTheme && prefersDark);
|
|
7
|
+
if (shouldUseDark) {
|
|
8
|
+
document.documentElement.classList.add('dark');
|
|
9
|
+
}
|
|
10
|
+
} catch (e) {}
|
|
11
|
+
})();
|
|
12
|
+
</script><link rel="stylesheet" href="/_nuxt/entry.CEtVlF9V.css" crossorigin><link rel="stylesheet" href="/_nuxt/vendor-markstream.D6yyxftE.css" crossorigin><link rel="stylesheet" href="/_nuxt/vendor-katex.ltkKqWhd.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DTsXV384.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/Cd_MtzEZ.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DLcXGJ1M.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/ULB_ug-y.js"><script type="module" src="/_nuxt/DTsXV384.js" crossorigin></script><meta name="description" content="GoatChain GUI - shared event stream viewer and query console."><script id="unhead:payload" type="application/json">{"title":"GoatChain GUI"}</script></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/",buildId:"23cb514b-b517-423e-9289-35684b02b352",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1771915830059,false]</script></body></html>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{u as s,c as a,o as i,a as t,t as n,b as u,w as c,d as l,e as d}from"./Cd_MtzEZ.js";import{_ as f}from"./DlAUqK2U.js";const p={class:"antialiased bg-white dark:bg-[#020420] dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-[#020420] tracking-wide"},m={class:"max-w-520px text-center"},h=["textContent"],b=["textContent"],x=["textContent"],g={class:"flex items-center justify-center w-full"},y={__name:"error-404",props:{appName:{type:String,default:"Nuxt"},status:{type:Number,default:404},statusText:{type:String,default:"Page not found"},description:{type:String,default:"Sorry, the page you are looking for could not be found."},backHome:{type:String,default:"Go back home"}},setup(e){const r=e;return s({title:`${r.status} - ${r.statusText} | ${r.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:'*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1,h2{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(k,w)=>{const o=d;return i(),a("div",p,[t("div",m,[t("h1",{class:"font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]",textContent:n(e.status)},null,8,h),t("h2",{class:"font-semibold mb-2 sm:text-3xl text-2xl",textContent:n(e.statusText)},null,8,b),t("p",{class:"mb-4 px-2 text-[#64748B] text-md",textContent:n(e.description)},null,8,x),t("div",g,[u(o,{to:"/",class:"font-medium hover:text-[#00DC82] text-sm underline underline-offset-3"},{default:c(()=>[l(n(e.backHome),1)]),_:1})])])])}}},N=f(y,[["__scopeId","data-v-c8d5998f"]]);export{N as default};
|