Skip to content

Commit f529c73

Browse files
yanacuti1121claude
andauthored
feat(i18n): Vietnamese language support — vi locale + README.vi.md (#193)
* feat(i18n): update Vietnamese UI strings + layout header Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * i18n(vi): add 2 missing openclaw VI keys (994/999 → 999/999) - openclaw.workspace.title → 'Không gian làm việc OpenClaw' - openclaw.configs.hint → 'Chọn cấu hình đã lưu, hoặc mở editor để chỉnh sửa JSON5 đầy đủ.' Vietnamese now has complete coverage matching EN (999 keys). * docs(i18n): add README.vi.md — Vietnamese translation * docs: add Vietnamese README link in header * fix: address CodeRabbit review comments on PR #193 - README.vi.md: add alt="Contributors" to contributor image (accessibility) - layout-shell.css: add transform: translateY(0) to vi active state to match the established zh/en animation pattern * fix: restore upstream release.yml lost in merge — release-changelog test now passes The 45a5c92 upstream sync resolved .github/workflows/release.yml the wrong way: it kept the fork's old version, dropping the 'Generate release notes from actual commit range' step and generate_release_notes: false that upstream added together with release-changelog.test.mjs. Verified locally on Node 22: ci:lint 218 files pass, ci:test exit 0 (fail 0). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix(css): complete vi lang-switch rule — mutual exclusion with en/zh Addresses CodeRabbit review: when vi is active, en/zh labels are hidden; vi label is hidden when en/zh are active — same pattern as the existing en/zh exclusion rules. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix(i18n): add 4 missing vi keys — full parity with en.mjs (1200/1200) Review feedback from @ymkiux on #193: vi.mjs was missing keys present in en.mjs. After syncing upstream/main (which brought claude.model.* translations), the remaining 4 are now translated: - side.plugins.templatesCount - diff.title.claudeSettings - sessions.preview.copyPath - openclaw.action.applyAria Verified: en 1200 / vi 1200, 0 missing, 0 extra, 0 duplicates. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix(i18n): add 4 missing zh-only keys to vi.mjs (settings.backup.title/meta, settings.trashConfig.title/meta) * fix(i18n): drop obsolete claudeMd keys from vi.mjs after merging upstream's claudeProject rename PR #195 (merged upstream) renamed modal.agents.{title,hint,contentLabel,placeholder}.claudeMd to .claudeProject / added .claudeProjectGlobal, to support per-project and global CLAUDE.md editing. vi.mjs still had the old 4 keys, which CI's merge-base test (i18n-locales.test.mjs, fallback=zh) flagged as unknown once merged against current upstream main -- the keys are gone from en.mjs/zh.mjs too. Merged upstream/main into this branch first (clean, no conflicts) to pick up the new claudeProject* keys -- vi.mjs already had correct Vietnamese translations for those via the same merge. Then removed the 4 leftover old keys, confirmed unreferenced by any app code outside the locale files. Full unit suite: 664/664 passed. Lint: 220 files passed. Fixes the only failing CI check on PR #193 (ci (20) -- partial locale overrides only known keys and preserves placeholders). --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent b8ca791 commit f529c73

4 files changed

Lines changed: 1034 additions & 0 deletions

File tree

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
<a href="https://sakurabytecore.github.io/codexmate/">[Documentation]</a>
1111
<a href="#quick-start">[Quick Start]</a>
1212
<a href="README.zh.md">[简体中文]</a>
13+
<a href="README.vi.md">[Tiếng Việt]</a>
1314
</p>
1415

1516
[![Version](https://img.shields.io/npm/v/codexmate?style=flat-square&color=A179FF)](https://www.npmjs.com/package/codexmate)

README.vi.md

Lines changed: 170 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,170 @@
1+
<div align="center">
2+
3+
<img src="site/.vitepress/public/images/logo.png" alt="Codex Mate logo" width="160" />
4+
5+
# Codex Mate
6+
7+
**Một dashboard duy nhất cho tất cả AI coding agent cục bộ của bạn. Chuyển đổi provider, quản lý phiên làm việc và điều phối tác vụ giữa Codex, Claude Code và OpenClaw. Không cloud, trung tâm điều khiển agent hoàn toàn cục bộ.**
8+
9+
<p>
10+
<a href="https://sakurabytecore.github.io/codexmate/">[Tài liệu]</a>
11+
<a href="#bắt-đầu-nhanh">[Bắt đầu nhanh]</a>
12+
<a href="README.md">[English]</a>
13+
<a href="README.zh.md">[简体中文]</a>
14+
</p>
15+
16+
[![Version](https://img.shields.io/npm/v/codexmate?style=flat-square&color=A179FF)](https://www.npmjs.com/package/codexmate)
17+
[![Build](https://img.shields.io/github/actions/workflow/status/SakuraByteCore/codexmate/release.yml?style=flat-square&color=44cc11)](https://github.com/SakuraByteCore/codexmate/actions/workflows/release.yml)
18+
[![Downloads](https://img.shields.io/npm/dt/codexmate?style=flat-square)](https://www.npmjs.com/package/codexmate)
19+
[![Install](https://img.shields.io/badge/cài%20đặt-brew%20%7C%20curl%20%7C%20npm-0A0?style=flat-square)](#bắt-đầu-nhanh)
20+
[![Platform](https://img.shields.io/badge/nền%20tảng-Termux%20%7C%20Linux%20%7C%20macOS%20%7C%20Windows-555?style=flat-square)](#bắt-đầu-nhanh)
21+
[![Node](https://img.shields.io/node/v/codexmate?style=flat-square&logo=node.js&logoColor=white)](https://nodejs.org/)
22+
[![License](https://img.shields.io/npm/l/codexmate?style=flat-square)](LICENSE)
23+
[![Stars](https://img.shields.io/github/stars/SakuraByteCore/codexmate?style=flat-square&color=gold)](https://github.com/SakuraByteCore/codexmate/stargazers)
24+
[![Issues](https://img.shields.io/github/issues/SakuraByteCore/codexmate?style=flat-square&color=ff69b4)](https://github.com/SakuraByteCore/codexmate/issues)
25+
26+
<br />
27+
28+
<img src="site/.vitepress/public/images/readme-hero.png" alt="Giao diện Codex Mate" width="100%" />
29+
30+
</div>
31+
32+
---
33+
34+
> [!TIP]
35+
> **Ưu tiên cục bộ**: Toàn bộ cấu hình và phiên làm việc được lưu trong thư mục home của bạn. Không có telemetry, không cần tài khoản cloud.
36+
37+
> [!IMPORTANT]
38+
> Dự án đang ở giai đoạn đầu. Chúng tôi đang tìm kiếm các nhà phát triển để cùng xây dựng hệ sinh thái agent cục bộ!
39+
40+
## Codex Mate là gì?
41+
42+
Bạn có bao giờ cảm thấy rối khi phải quản lý nhiều AI agent cục bộ? Mỗi tool lại có định dạng cấu hình, nơi lưu phiên và thư mục skill riêng.
43+
44+
**Codex Mate** cung cấp một trung tâm điều khiển thống nhất để giải quyết sự hỗn loạn đó. Đây là CLI + Web UI ưu tiên cục bộ, được thiết kế để quản lý [Codex](https://github.com/openai/codex), [Claude Code](https://github.com/anthropic-ai/claude-code)[OpenClaw](https://github.com/moeru-ai/openclaw) một cách liền mạch.
45+
46+
### Điểm nổi bật
47+
48+
Khác với các wrapper đơn giản, Codex Mate hoạt động như một **Agent Bridge cục bộ**:
49+
- **Trình duyệt phiên thống nhất**: Tìm kiếm và xuất phiên làm việc từ tất cả tool trong một nơi duy nhất.
50+
- **Bridge tương thích OpenAI**: Dùng Codex với bất kỳ UI nào hỗ trợ OpenAI bằng cách chuẩn hóa Responses API.
51+
- **Chợ skill cục bộ**: Chia sẻ và nhập skill giữa các app agent khác nhau.
52+
- **Điều phối tác vụ**: Lập kế hoạch và thực thi tác vụ phức tạp với theo dõi phụ thuộc.
53+
54+
---
55+
56+
## Tiến độ hiện tại
57+
58+
| Tính năng | Trạng thái | Mô tả |
59+
| --- | --- | --- |
60+
| **Quản lý Provider** || Chuyển đổi provider/model cho Codex, Claude và OpenClaw |
61+
| **Đồng bộ Agent trực tiếp** || Giám sát cấu hình & trạng thái Codex/Claude theo thời gian thực |
62+
| **Trình duyệt phiên** || Liệt kê, lọc và xuất phiên (Codex/Claude/Gemini) |
63+
| **Phân tích sử dụng** || Trực quan hóa xu hướng tin nhắn và dự án nổi bật |
64+
| **Chợ skill cục bộ** || Import/export skill giữa các app agent |
65+
| **Hàng đợi tác vụ** || Thực thi tác vụ theo DAG và xem log |
66+
| **Bridge OpenAI** || Chuyển đổi Codex Responses API sang định dạng OpenAI chuẩn |
67+
| **Mẫu Prompt** || Plugin prompt tái sử dụng được với hỗ trợ biến |
68+
| **Tích hợp MCP** || Expose tool và resource cục bộ qua MCP stdio |
69+
| **Tự động cập nhật** || Cập nhật nhanh qua `codexmate update` |
70+
71+
---
72+
73+
## Bắt đầu nhanh
74+
75+
### Cài đặt qua Homebrew (macOS / Linux)
76+
77+
```bash
78+
brew tap SakuraByteCore/codexmate
79+
brew install codexmate
80+
```
81+
82+
Yêu cầu [Node.js](https://nodejs.org/) (`brew install node` nếu chưa có).
83+
84+
### Cài đặt qua npm
85+
86+
```bash
87+
npm install -g codexmate
88+
codexmate run
89+
```
90+
91+
Nếu cổng mặc định `3737` bận, Codex Mate tự động thử cổng kế tiếp (`3738`, `3739`, ...). Để chỉ định cổng cố định:
92+
93+
```bash
94+
CODEXMATE_PORT=8080 codexmate run
95+
```
96+
97+
Windows PowerShell:
98+
99+
```powershell
100+
$env:CODEXMATE_PORT=8080; codexmate run
101+
```
102+
103+
### Cài đặt qua curl (Standalone)
104+
105+
```bash
106+
curl -fsSL https://raw.githubusercontent.com/SakuraByteCore/codexmate/main/scripts/install.sh | bash
107+
```
108+
109+
### Agent được hỗ trợ
110+
111+
- **Codex**: `npm install -g @openai/codex`
112+
- **Claude Code**: `npm install -g @anthropic-ai/claude-code`
113+
- **Gemini CLI**: `npm install -g @google/gemini-cli`
114+
- **CodeBuddy**: `npm install -g @tencent-ai/codebuddy-code`
115+
- **OpenCode**: xem [tài liệu chính thức OpenCode](https://opencode.ai/)
116+
117+
---
118+
119+
## Kiến trúc
120+
121+
```mermaid
122+
%%{ init: { 'flowchart': { 'curve': 'catmullRom' } } }%%
123+
flowchart TD
124+
User([Người dùng])
125+
CLI[CLI]
126+
WebUI[Web UI]
127+
MCP[MCP Server]
128+
129+
subgraph Mate [Codex Mate Core]
130+
API[HTTP API]
131+
Config[Config Engine]
132+
Session[Quản lý phiên]
133+
Skills[Chợ Skill]
134+
Tasks[Thực thi tác vụ]
135+
end
136+
137+
subgraph Local [Hệ thống tệp cục bộ]
138+
CodexDir[~/.codex]
139+
ClaudeDir[~/.claude]
140+
ClawDir[~/.openclaw]
141+
State[Phiên/Sử dụng/Thùng rác]
142+
end
143+
144+
User --> CLI & WebUI & MCP
145+
CLI & WebUI & MCP --> API
146+
147+
API --> Config & Session & Skills & Tasks
148+
149+
Config --> CodexDir & ClaudeDir & ClawDir
150+
Session --> State
151+
Skills --> Local
152+
```
153+
154+
---
155+
156+
## Lời cảm ơn
157+
158+
Cảm ơn tất cả những người đóng góp cho Codex Mate ❤️
159+
160+
<a href="https://github.com/SakuraByteCore/codexmate/graphs/contributors">
161+
<img src="https://contrib.rocks/image?repo=SakuraByteCore/codexmate" alt="Contributors" />
162+
</a>
163+
164+
## Lịch sử Star
165+
166+
[![Star History Chart](https://api.star-history.com/svg?repos=SakuraByteCore/codexmate&type=Date)](https://star-history.com/#SakuraByteCore/codexmate&Date)
167+
168+
## Giấy phép
169+
170+
Apache-2.0

0 commit comments

Comments
 (0)