-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path6.html
More file actions
276 lines (276 loc) · 17.4 KB
/
Copy path6.html
File metadata and controls
276 lines (276 loc) · 17.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="description" content="CodeClub - OpenCode 终端界面" />
<meta name="author" content="Jackson" />
<title>OpenCode 终端界面 - CodeClub</title>
<link rel="icon" type="image/x-icon" href="../../img/logo.png" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap"
rel="stylesheet"
/>
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css"
crossorigin="anonymous"
referrerpolicy="no-referrer"
/>
<link rel="stylesheet" href="../../css/main.css" />
<link rel="stylesheet" href="../../css/dark-mode.css" />
<link rel="stylesheet" href="../../css/mobile-optimizations.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/marked/12.0.0/marked.min.js"></script>
<style>
.tutorial-page {
max-width: 1200px;
margin: 70px auto 40px;
padding: 0 20px;
display: flex;
gap: 20px;
}
.tutorial-sidebar {
width: 240px;
flex-shrink: 0;
position: sticky;
top: 70px;
max-height: calc(100vh - 90px);
overflow-y: auto;
background: var(--bg-secondary, #fff);
border-radius: 8px;
padding: 16px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.tutorial-sidebar h3 {
font-size: 15px;
margin: 0 0 12px;
color: var(--text-primary, #1a1a2e);
padding-bottom: 8px;
border-bottom: 2px solid var(--primary, #3b82f6);
}
.tutorial-sidebar a {
display: block;
padding: 5px 8px;
color: var(--text-secondary, #666);
text-decoration: none;
font-size: 13px;
border-radius: 4px;
line-height: 1.4;
}
.tutorial-sidebar a:hover {
background: var(--primary, #3b82f6);
color: #fff;
}
.tutorial-sidebar a.active {
background: var(--primary, #3b82f6);
color: #fff;
font-weight: 600;
}
.tutorial-main {
flex: 1;
min-width: 0;
}
.tutorial-article {
background: var(--bg-secondary, #fff);
border-radius: 8px;
padding: 32px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.tutorial-article h1 {
font-size: 26px;
margin-bottom: 16px;
color: var(--text-primary, #1a1a2e);
border-bottom: 2px solid var(--primary, #3b82f6);
padding-bottom: 12px;
}
.markdown-body {
font-size: 15px;
line-height: 1.8;
color: var(--text-secondary, #333);
}
.markdown-body h1 {
font-size: 24px;
border-bottom: 1px solid var(--border, #e5e7eb);
padding-bottom: 8px;
}
.markdown-body h2 {
font-size: 20px;
border-bottom: 1px solid var(--border, #e5e7eb);
padding-bottom: 6px;
}
.markdown-body h3 {
font-size: 17px;
}
.markdown-body pre {
background: #1e1e2e;
color: #cdd6f4;
padding: 16px;
border-radius: 8px;
overflow-x: auto;
}
.markdown-body code {
font-family: 'Fira Code', 'Cascadia Code', monospace;
font-size: 14px;
}
.markdown-body p code {
background: #f1f5f9;
padding: 2px 6px;
border-radius: 4px;
color: #e83e8c;
}
.markdown-body blockquote {
border-left: 4px solid var(--primary, #3b82f6);
padding: 12px 20px;
margin: 16px 0;
background: #f8fafc;
border-radius: 0 8px 8px 0;
}
.markdown-body img {
max-width: 100%;
border-radius: 8px;
}
.markdown-body table {
border-collapse: collapse;
width: 100%;
margin: 16px 0;
}
.markdown-body table th,
.markdown-body table td {
border: 1px solid var(--border, #e5e7eb);
padding: 8px 12px;
text-align: left;
}
.markdown-body table th {
background: var(--bg-primary, #f8fafc);
font-weight: 600;
}
.markdown-body table tr:nth-child(2n) {
background: var(--bg-primary, #f8fafc);
}
.markdown-body ul,
.markdown-body ol {
padding-left: 24px;
margin: 12px 0;
}
.markdown-body li {
margin: 4px 0;
}
.markdown-body hr {
border: none;
border-top: 1px solid var(--border, #e5e7eb);
margin: 24px 0;
}
.markdown-body a {
color: var(--primary, #3b82f6);
text-decoration: none;
}
.markdown-body a:hover {
text-decoration: underline;
}
.page-navigation {
display: flex;
justify-content: space-between;
margin-top: 24px;
padding-top: 16px;
border-top: 1px solid var(--border, #e5e7eb);
}
.page-nav-link {
color: var(--primary, #3b82f6);
text-decoration: none;
font-weight: 500;
font-size: 14px;
}
.page-nav-link:hover {
text-decoration: underline;
}
.source-link {
margin-top: 16px;
font-size: 13px;
color: var(--text-secondary, #999);
}
.source-link a {
color: var(--primary, #3b82f6);
}
@media (max-width: 768px) {
.tutorial-page {
flex-direction: column;
}
.tutorial-sidebar {
width: 100%;
position: static;
max-height: 200px;
}
}
</style>
</head>
<body>
<nav class="navbar">
<div class="navbar-container">
<a class="navbar-brand" href="../../index.html">
<img src="../../img/logo.png" alt="CodeClub" width="32" height="32" />
<span>CodeClub</span>
</a>
<button class="mobile-menu-toggle" aria-label="切换导航菜单"><span></span><span></span><span></span></button>
<ul class="navbar-nav">
<li><a class="nav-link" href="../../index.html">首页</a></li>
<li><a class="nav-link" href="../../nav.html">网址导航</a></li>
<li><a class="nav-link" href="../../blog/">博客</a></li>
<li><a class="nav-link" href="../../wiki/index.html" target="_blank">WiKi</a></li>
<li><a class="nav-link active" href="../index.html">教程</a></li>
<li><a class="nav-link" href="../../book.html">图书</a></li>
<li><a class="nav-link" href="../../contact.html">联系我</a></li>
<li><a class="nav-link" href="../../about.html">关于我</a></li>
</ul>
</div>
</nav>
<div class="tutorial-page">
<div class="tutorial-sidebar">
<h3>📖 OpenCode</h3>
<a href="0.html">OpenCode 教程</a>
<a href="1.html">OpenCode 简介</a>
<a href="2.html">OpenCode 安装</a>
<a href="3.html">OpenCode 配置</a>
<a href="4.html">OpenCode 第一次使用</a>
<a href="5.html">OpenCode VSCode</a>
<a href="6.html" class="active">OpenCode 终端界面</a>
<a href="7.html">OpenCode CLI 使用</a>
<a href="8.html">OpenCode Web 使用</a>
<a href="9.html">OpenCode GitHub</a>
<a href="10.html">OpenCode GitLab</a>
<a href="11.html">OpenCode 工具</a>
<a href="12.html">OpenCode 规则</a>
<a href="13.html">OpenCode 代理</a>
<a href="14.html">OpenCode 主题</a>
<a href="15.html">OpenCode 快捷键</a>
<a href="16.html">OpenCode 自定义命令</a>
<a href="17.html">OpenCode 格式化工具</a>
<a href="18.html">OpenCode 权限配置</a>
<a href="19.html">OpenCode LSP 服务器配置</a>
<a href="20.html">OpenCode MCP 服务器配置</a>
<a href="21.html">OpenCode Skills</a>
<a href="22.html">OpenCode 自定义工具</a>
</div>
<div class="tutorial-main">
<div class="tutorial-article">
<div class="markdown-body" id="md-content"></div>
<div class="page-navigation">
<a href="5.html" class="page-nav-link">← OpenCode VSCode</a>
<a href="7.html" class="page-nav-link">OpenCode CLI 使用 →</a>
</div>
<div class="source-link">原文来源:<a href="https://www.runoob.com" target="_blank">菜鸟教程</a></div>
</div>
</div>
</div>
<footer class="footer">
<div class="footer-content"><p>© 2024 CodeClub. All rights reserved.</p></div>
</footer>
<script src="../../js/dark-mode.js"></script>
<script src="../../js/mobile-menu.js"></script>
<script>
const md = `# OpenCode 终端界面\n\n\nOpenCode 提供了一个交互式终端界面(TUI,Terminal User Interface),用于在命令行中与 AI 进行高效协作开发。\n\n\n\n**TUI 是 OpenCode 的核心使用方式**,所有代码分析、修改、执行都通过这个界面完成。\n\n\n\n**OpenCode TUI 本质是一个可执行命令的 AI 对话终端,它把开发、命令行和 AI 融合在一起。**\n\n\n\n---\n\n\n\n## 一、启动 TUI\n\n\n\n### 1、在当前目录启动\n\n\n\n\`\`\`\n\nopencode\n\n\`\`\`\n\n\n如果出现 **EACCES: permission denied, open \'\'** 是权限问题,我们可以修复目录权限:\n\n\n\n\`\`\`\nsudo chown -R $(whoami) ~/.local\n\`\`\`\n\n然后执行:\n\n\`\`\`\n\nchmod -R 755 ~/.local\n\`\`\`\n\n也可以暴力一点,直接用 sudo:\n\n\n\n\`\`\`\n\nsudo opencode\n\`\`\`\n\n\n会自动加载当前项目作为工作目录:\n\n\n\n\n\n\n---\n\n\n\n### 2、指定项目目录启动\n\n\n\n\`\`\`\n\nopencode /path/to/project\n\n\`\`\`\n\n\n适用于快速切换项目\n\n\n\n\n---\n\n\n\n## 二、基本交互\n\n\n进入 TUI 后,你可以直接输入自然语言:\n\n\n\n\n\`\`\`\n\n帮我快速总结这个项目的结构\n\n\`\`\`\n\n\nOpenCode 会结合项目代码给出分析结果:\n\n\n\n\n\n\n---\n\n\n\n## 三、文件引用(核心功能)\n\n\n你可以使用 **@** 来引用项目中的文件:\n\n\n\n\n\`\`\`\n\n这个项目的认证逻辑是如何实现的?查看 @packages/functions/src/api/index.ts\n\n\`\`\`\n\n\n**特点:**\n\n\n\n\n\n\n- 支持模糊搜索文件路径\n\n- 自动读取文件内容\n\n- 无需复制代码\n\n\n\n非常适合阅读陌生代码\n\n\n\n\n---\n\n\n\n## 四、执行 Bash 命令\n\n\n按下 **!** 会切换到 shell 模式,该模式下的内容会作为 shell 命令执行:\n\n\n\n\`\`\`\n!\n\`\`\`\n\n执行命令:\n\n\n\n\`\`\`\n\nls -la\n\n\`\`\`\n\n\n\n\n执行结果会自动加入对话上下文。\n\n\n\n这样我们可以边问 AI,边执行系统命令。\n\n\n\n\n---\n\n\n\n## 五、斜杠命令(/ 命令)\n\n\n输入 **/** 可以执行内置命令,例如:\n\n\n\n\n\`\`\`\n\n/help\n\n\`\`\`\n\n\n打开帮助面板。\n\n\n\n\n\n### 常用命令一览\n\n\n\n\n\n命令\n说明\n\n\n\n\n\n/connect\n配置模型 API\n\n\n\n/models\n查看可用模型\n\n\n\n/init\n初始化项目配置(生成 AGENTS.md)\n\n\n\n/new\n新建会话\n\n\n\n/sessions\n切换会话\n\n\n\n/undo\n撤销修改(含代码)\n\n\n\n/redo\n重做修改\n\n\n\n/share\n分享当前对话\n\n\n\n/export\n导出对话为 Markdown\n\n\n\n/exit\n退出 OpenCode\n\n\n\n\n\n\n---\n\n\n\n## 六、快捷键(效率提升)\n\n\nOpenCode 支持快捷键操作:\n\n\n\n\n\n\n功能\n快捷键\n\n\n\n\n\n命令面板\nCtrl + X → H\n\n\n\n新建会话\nCtrl + X → N\n\n\n\n撤销\nCtrl + X → U\n\n\n\n重做\nCtrl + X → R\n\n\n\n模型列表\nCtrl + X → M\n\n\n\n\n\n**说明:**\n\n\n\n\n\n\n- Ctrl + X 是默认"前导键"\n\n- 类似 Vim 的快捷键模式\n\n\n\n\n---\n\n\n\n## 七、编辑器集成(/editor)\n\n\n你可以使用外部编辑器编写复杂提示:\n\n\n\n\n\`\`\`\n\n/editor\n\n\`\`\`\n\n\n需要提前配置:\n\n\n\n\n\`\`\`\n\nexport EDITOR="code --wait"\n\n\`\`\`\n\n\n**支持编辑器:**\n\n\n\n\n\n\n- VS Code(code)\n\n- Cursor(cursor)\n\n- Vim / Neovim\n\n- Nano\n\n\n\n\n---\n\n\n\n## 八、会话管理\n\n\n\n### 查看会话\n\n\n\n\`\`\`\n\n/sessions\n\n\`\`\`\n\n\n\n### 新建会话\n\n\n\n\`\`\`\n\n/new\n\n\`\`\`\n\n\n可以在多个任务之间切换\n\n\n\n\n---\n\n\n\n## 九、撤销与重做(重要)\n\n\n\n### 撤销\n\n\n\n\`\`\`\n\n/undo\n\n\`\`\`\n\n\n作用:\n\n\n\n\n\n- 撤销消息\n\n- 回滚代码修改\n\n\n\n\n### 重做\n\n\n\n\`\`\`\n\n/redo\n\n\`\`\`\n\n\n**注意:**\n\n\n\n\n\n\n- 依赖 Git 管理代码变更\n\n- 建议项目开启 Git\n\n\n\n\n---\n\n\n\n## 十、TUI 配置\n\n\n可以通过配置文件自定义行为:\n\n\n\n\n\`\`\`\n\nopencode.json\n\n\`\`\`\n\n\n示例:\n\n\n\n\n\`\`\`\n\n{\n "tui": {\n "scroll_speed": 3,\n "scroll_acceleration": {\n "enabled": true\n }\n }\n}\n\n\`\`\`\n\n\n**说明:**\n\n\n\n\n\n\n- scroll_speed:滚动速度\n\n- scroll_acceleration:平滑滚动(推荐开启)\n\n\n\n\n---\n\n\n\n## 十一、使用建议\n\n\n\n\n\n- 多使用 @ 引用文件,提高准确率\n\n- 复杂任务先用计划模式,使用 Tab 键切换模式。\n\n- 小步迭代,不要一次做太复杂。\n\n- 重要操作前确保 Git 已提交。\n\n\n\n \n \n \n \n \n\n \n \n [ OpenCode CLI 使用](http://www.runoob.com/opencode/opencode-cli.html)\n \n\n \n \n \n \n \n\n\n\n\n \n \n \n### 点我分享笔记\n\n \n \n \n \n \n \n [取消](https://www.runoob.comjavascript:;)\n\n\n \n \n \n \n \n \n\n\n 分享笔记\n \n \n \n \n \n \n\n 昵称昵称 (必填)\n 邮箱邮箱 (必填)\n 引用地址引用地址\n \n\n \n \n \n \n\n \n \n\n\n\n\n\n\n\n\n\n \n\n \n\n\n\n\n\n\n \n \n \n \n \n \n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n 在线实例\n\n\n ·[HTML 实例](https://www.runoob.com/html/html-examples.html)\n\n\n ·[CSS 实例](https://www.runoob.com/css/css-examples.html)\n\n\n ·[JavaScript 实例](https://www.runoob.com/js/js-examples.html)\n\n\n ·[Ajax 实例](https://www.runoob.com/ajx/ajax-examples.html)\n\n\n ·[jQuery 实例](https://www.runoob.com/jquery/jquery-examples.html)\n\n\n ·[XML 实例](https://www.runoob.com/xml/xml-examples.html)\n\n\n ·[Java 实例](https://www.runoob.com/java/java-examples.html)\n\n\n\n\n\n 字符集&工具\n\n\n · [HTML 字符集设置](https://www.runoob.com/charsets/html-charsets.html)\n\n\n · [HTML ASCII 字符集](https://www.runoob.com/tags/html-ascii.html)\n\n\n · [JS 混淆/加密](https://www.jyshare.com/front-end/6939/)\n\n\n · [PNG/JPEG 图片压缩](https://www.jyshare.com/front-end/6232/)\n\n\n · [HTML 拾色器](https://www.runoob.com/tags/html-colorpicker.html)\n\n\n · [JSON 格式化工具](https://www.jyshare.com/front-end/53)\n\n\n · [随机数生成器](https://www.jyshare.com/front-end/6680/)\n\n\n\n\n 最新更新\n\n\n ·\n [\n OpenCode 自定义... ](http://www.runoob.com/opencode/opencode-custom-tools.html)\n\n\n ·\n [\n OpenCode Skills ](http://www.runoob.com/opencode/opencode-skills.html)\n\n\n ·\n [\n OpenCode MCP 服... ](http://www.runoob.com/opencode/opencode-mcp.html)\n\n\n ·\n [\n OpenCode LSP 服... ](http://www.runoob.com/opencode/opencode-lsp.html)\n\n\n ·\n [\n OpenCode 权限配置 ](http://www.runoob.com/opencode/opencode-permissions.html)\n\n\n ·\n [\n OpenCode 格式化... ](http://www.runoob.com/opencode/opencode-formatter.html)\n\n\n ·\n [\n OpenCode 自定义... ](http://www.runoob.com/opencode/opencode-commands.html)\n\n\n\n\n 站点信息\n\n\n ·\n [意见反馈](https://www.runoob.commailto:admin@runoob.com)\n\n\n ·\n [免责声明](https://www.runoob.com/disclaimer)\n\n\n ·\n [关于我们](https://www.runoob.com/aboutus)\n\n\n ·\n [文章归档](https://www.runoob.com/archives)\n\n\n\n\n\n\n\n **关注微信**\n\n\n\n \n\n\n\n\n\n\n Copyright © 2013-2026 **[菜鸟教程](https://www.runoob.com//www.runoob.com/)** \n **[runoob.com](https://www.runoob.com//www.runoob.com/)** All Rights Reserved. 备案号:[闽ICP备15012807号-1](https://beian.miit.gov.cn/)\n\n\n\n [ ](https://www.runoob.comjavascript:void(0))\n [](https://www.runoob.comjavascript:void(0))\n [](https://www.runoob.comjavascript:void(0))\n\n\n\n#### 微信关注\n\n `;
document.getElementById('md-content').innerHTML = marked.parse(md);
</script>
</body>
</html>