Skip to content

Commit 5c57a3a

Browse files
authored
Merge pull request #4 from tornado404/opencode/misty-eagle
docs: add API completion status documentation
2 parents d5ba4ae + 1bce272 commit 5c57a3a

File tree

3 files changed

+223
-0
lines changed

3 files changed

+223
-0
lines changed

oho/COMPLETION.md

Lines changed: 221 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,221 @@
1+
# oho 功能完成情况
2+
3+
> 本文档记录 oho CLI 对 OpenCode Server API 的实现覆盖情况
4+
5+
## 完成指标
6+
7+
| 指标 | 数值 |
8+
|------|------|
9+
| 总 API 端点 | 66 |
10+
| 已实现 | 64 |
11+
| 未实现 | 2 |
12+
| **覆盖率** | **97.0%** |
13+
14+
## 模块完成情况
15+
16+
### ✅ 已完成模块
17+
18+
| 模块 | API 端点数 | 已实现 | 状态 |
19+
|------|-----------|--------|------|
20+
| [Global](#global-全局命令) | 2 | 2 ||
21+
| [Project](#project-项目管理) | 4 | 4 ||
22+
| [Config](#config-配置管理) | 3 | 3 ||
23+
| [Provider](#provider-提供商管理) | 4 | 4 ||
24+
| [Session](#session-会话管理) | 18 | 18 ||
25+
| [Message](#message-消息管理) | 6 | 6 ||
26+
| [Command](#command-命令列表) | 1 | 1 ||
27+
| [File](#file-文件操作) | 6 | 6 ||
28+
| [Find](#find-查找功能) | 3 | 3 ||
29+
| [Tool](#tool-工具列表) | 2 | 2 ||
30+
| [LSP](#lsp-语言服务器) | 1 | 1 ||
31+
| [Formatter](#formatter-格式化器) | 1 | 1 ||
32+
| [MCP](#mcp-模型上下文协议) | 2 | 2 ||
33+
| [Agent](#agent-代理列表) | 1 | 1 ||
34+
| [TUI](#tui-终端界面控制) | 10 | 10 ||
35+
| [Auth](#auth-认证管理) | 1 | 1 ||
36+
37+
### ❌ 未完成模块
38+
39+
| 模块 | API 端点 | 说明 |
40+
|------|---------|------|
41+
| Logging | `POST /log` | 日志写入功能(调试辅助) |
42+
| Docs | `GET /doc` | OpenAPI 规范查看(可直接访问服务器 `/doc` 端点) |
43+
44+
---
45+
46+
## 详细 API 映射
47+
48+
### Global (全局命令)
49+
50+
| 命令 | API 端点 | 方法 | 状态 |
51+
|------|----------|------|------|
52+
| `oho global health` | `/global/health` | GET ||
53+
| `oho global event` | `/global/event` | GET (SSE) ||
54+
55+
### Project (项目管理)
56+
57+
| 命令 | API 端点 | 方法 | 状态 |
58+
|------|----------|------|------|
59+
| `oho project list` | `/project` | GET ||
60+
| `oho project current` | `/project/current` | GET ||
61+
| `oho path` | `/path` | GET ||
62+
| `oho vcs` | `/vcs` | GET ||
63+
| `oho instance dispose` | `/instance/dispose` | POST ||
64+
65+
### Config (配置管理)
66+
67+
| 命令 | API 端点 | 方法 | 状态 |
68+
|------|----------|------|------|
69+
| `oho config get` | `/config` | GET ||
70+
| `oho config set` | `/config` | PATCH ||
71+
| `oho config providers` | `/config/providers` | GET ||
72+
73+
### Provider (提供商管理)
74+
75+
| 命令 | API 端点 | 方法 | 状态 |
76+
|------|----------|------|------|
77+
| `oho provider list` | `/provider` | GET ||
78+
| `oho provider auth` | `/provider/auth` | GET ||
79+
| `oho provider oauth authorize <id>` | `/provider/{id}/oauth/authorize` | POST ||
80+
| `oho provider oauth callback <id>` | `/provider/{id}/oauth/callback` | POST ||
81+
82+
### Session (会话管理)
83+
84+
| 命令 | API 端点 | 方法 | 状态 |
85+
|------|----------|------|------|
86+
| `oho session list` | `/session` | GET ||
87+
| `oho session create` | `/session` | POST ||
88+
| `oho session status` | `/session/status` | GET ||
89+
| `oho session get <id>` | `/session/:id` | GET ||
90+
| `oho session delete <id>` | `/session/:id` | DELETE ||
91+
| `oho session update <id>` | `/session/:id` | PATCH ||
92+
| `oho session children <id>` | `/session/:id/children` | GET ||
93+
| `oho session todo <id>` | `/session/:id/todo` | GET ||
94+
| `oho session init <id>` | `/session/:id/init` | POST ||
95+
| `oho session fork <id>` | `/session/:id/fork` | POST ||
96+
| `oho session abort <id>` | `/session/:id/abort` | POST ||
97+
| `oho session share <id>` | `/session/:id/share` | POST ||
98+
| `oho session unshare <id>` | `/session/:id/share` | DELETE ||
99+
| `oho session diff <id>` | `/session/:id/diff` | GET ||
100+
| `oho session summarize <id>` | `/session/:id/summarize` | POST ||
101+
| `oho session revert <id>` | `/session/:id/revert` | POST ||
102+
| `oho session unrevert <id>` | `/session/:id/unrevert` | POST ||
103+
| `oho session permissions <id>` | `/session/:id/permissions/:permissionID` | POST ||
104+
105+
### Message (消息管理)
106+
107+
| 命令 | API 端点 | 方法 | 状态 |
108+
|------|----------|------|------|
109+
| `oho message list -s <session>` | `/session/:id/message` | GET ||
110+
| `oho message add -s <session>` | `/session/:id/message` | POST ||
111+
| `oho message get -s <session> <msgId>` | `/session/:id/message/:messageID` | GET ||
112+
| `oho message prompt-async -s <session>` | `/session/:id/prompt_async` | POST ||
113+
| `oho message command -s <session>` | `/session/:id/command` | POST ||
114+
| `oho message shell -s <session>` | `/session/:id/shell` | POST ||
115+
116+
### Command (命令列表)
117+
118+
| 命令 | API 端点 | 方法 | 状态 |
119+
|------|----------|------|------|
120+
| `oho command list` | `/command` | GET ||
121+
122+
### File (文件操作)
123+
124+
| 命令 | API 端点 | 方法 | 状态 |
125+
|------|----------|------|------|
126+
| `oho file list [path]` | `/file` | GET ||
127+
| `oho file content <path>` | `/file/content` | GET ||
128+
| `oho file status` | `/file/status` | GET ||
129+
130+
### Find (查找功能)
131+
132+
| 命令 | API 端点 | 方法 | 状态 |
133+
|------|----------|------|------|
134+
| `oho find text <pattern>` | `/find` | GET ||
135+
| `oho find file <query>` | `/find/file` | GET ||
136+
| `oho find symbol <query>` | `/find/symbol` | GET ||
137+
138+
### Tool (工具列表)
139+
140+
| 命令 | API 端点 | 方法 | 状态 |
141+
|------|----------|------|------|
142+
| `oho tool ids` | `/experimental/tool/ids` | GET ||
143+
| `oho tool list` | `/experimental/tool` | GET ||
144+
145+
### LSP (语言服务器)
146+
147+
| 命令 | API 端点 | 方法 | 状态 |
148+
|------|----------|------|------|
149+
| `oho lsp status` | `/lsp` | GET ||
150+
151+
### Formatter (格式化器)
152+
153+
| 命令 | API 端点 | 方法 | 状态 |
154+
|------|----------|------|------|
155+
| `oho formatter status` | `/formatter` | GET ||
156+
157+
### MCP (模型上下文协议)
158+
159+
| 命令 | API 端点 | 方法 | 状态 |
160+
|------|----------|------|------|
161+
| `oho mcp list` | `/mcp` | GET ||
162+
| `oho mcp add` | `/mcp` | POST ||
163+
164+
### Agent (代理列表)
165+
166+
| 命令 | API 端点 | 方法 | 状态 |
167+
|------|----------|------|------|
168+
| `oho agent list` | `/agent` | GET ||
169+
170+
### TUI (终端界面控制)
171+
172+
| 命令 | API 端点 | 方法 | 状态 |
173+
|------|----------|------|------|
174+
| `oho tui append-prompt` | `/tui/append-prompt` | POST ||
175+
| `oho tui open-help` | `/tui/open-help` | POST ||
176+
| `oho tui open-sessions` | `/tui/open-sessions` | POST ||
177+
| `oho tui open-themes` | `/tui/open-themes` | POST ||
178+
| `oho tui open-models` | `/tui/open-models` | POST ||
179+
| `oho tui submit-prompt` | `/tui/submit-prompt` | POST ||
180+
| `oho tui clear-prompt` | `/tui/clear-prompt` | POST ||
181+
| `oho tui execute-command` | `/tui/execute-command` | POST ||
182+
| `oho tui show-toast` | `/tui/show-toast` | POST ||
183+
| `oho tui control-next` | `/tui/control/next` | GET ||
184+
| `oho tui control-response` | `/tui/control/response` | POST ||
185+
186+
### Auth (认证管理)
187+
188+
| 命令 | API 端点 | 方法 | 状态 |
189+
|------|----------|------|------|
190+
| `oho auth set <provider>` | `/auth/:id` | PUT ||
191+
192+
---
193+
194+
## 未实现功能说明
195+
196+
### POST /log (日志写入)
197+
198+
```bash
199+
# 未实现 - 可通过服务器直接访问
200+
curl -X POST http://127.0.0.1:4096/log \
201+
-H "Content-Type: application/json" \
202+
-d '{"service": "app", "level": "info", "message": "test"}'
203+
```
204+
205+
**说明**: 此功能为调试辅助功能,客户端可通过直接调用 API 使用。
206+
207+
### GET /doc (OpenAPI 规范)
208+
209+
```bash
210+
# 未实现 - 可通过浏览器或 curl 直接访问
211+
curl http://127.0.0.1:4096/doc
212+
# 或浏览器访问 http://127.0.0.1:4096/doc
213+
```
214+
215+
**说明**: OpenAPI 规范文档可直接通过浏览器访问查看,无需通过 CLI 调用。
216+
217+
---
218+
219+
## 更新日志
220+
221+
- **2026-02-28**: 初始版本,覆盖率 97.0% (64/66)

oho/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ In Linux environments, oho can provide capabilities that OpenCode CLI doesn't cu
5050
- ✅ File and symbol lookup
5151
- ✅ TUI interface control
5252
- ✅ MCP/LSP/Formatter status management
53+
- 📊 **[API Completion Status](./COMPLETION.md)** - View implementation coverage
5354

5455
## Installation
5556

oho/README_zh.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ oho 是 OpenCode Server 的命令行客户端工具,提供对 OpenCode Server
5050
- ✅ 文件和符号查找
5151
- ✅ TUI 界面控制
5252
- ✅ MCP/LSP/格式化器状态管理
53+
- 📊 **[API 完成情况](./COMPLETION.md)** - 查看实现覆盖率
5354

5455
## 安装
5556

0 commit comments

Comments
 (0)