# code-agent **Repository Path**: enkilee/code-agent ## Basic Information - **Project Name**: code-agent - **Description**: UBML / Code Agent 是基于UBML实现智能辅助低代码开发的智能体 - **Primary Language**: TypeScript - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 15 - **Created**: 2026-06-24 - **Last Updated**: 2026-06-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # code-agent 基于 [OpenCode](https://github.com/anomalyco/opencode) 的智能体平台,面向 **UBML 低代码页面** 的智能辅助开发。Vendor 代码从你的 **GitHub fork** 导入,领域定制与 UI 扩展写在 `packages/extension/`。 > **v2.0.0-beta.1**:OpenCode vendor 架构基线 + UBML schema/prompt 回迁 + Vue 预览应用。 ## UBML 领域资产 本项目通过解析 UBML(Unified Business Modeling Language)元模型的 JSON Schema,获取低代码组件的语义化知识,结合大语言模型理解页面结构、生成与修改页面配置。相关资产已迁入 extension: | 路径 | 说明 | |------|------| | `packages/extension/assets/ubml/schemas/` | 55 个组件 / 编辑器 JSON Schema | | `packages/extension/assets/ubml/prompts/` | 领域会话 prompt 模板(如 `qwen.md`) | | `packages/extension/src/ubml/` | `listUbmlSchemaIds()`、`getUbmlSchema()` 等加载 API | | `packages/extension/preview/` | Vue + Farris 低代码页面预览(独立 dev server) | ```bash # 主 Web UI(OpenCode + extension) bun run dev # UBML 页面预览(:3100) bun run dev:preview ``` 在 TypeScript 中引用 schema: ```ts import { getUbmlSchema, listUbmlSchemaIds } from "@code-agent/extension/ubml" ``` ## 仓库关系 ``` anomalyco/opencode (官方 upstream) ↓ merge chenshj/opencode (你的 fork) ← /Users/sagi/source/github/opencode ↓ vendor import code-agent (本仓库) ← /Users/sagi/source/ubml/code-agent ``` ## 前置条件 - **Bun 1.3.14+** - **jq**、**rsync** - 已 clone 的 fork:`/Users/sagi/source/github/opencode`(`dev` 分支) ```bash git clone https://github.com/chenshj/opencode.git /Users/sagi/source/github/opencode ``` ## 快速开始 ```bash cd /Users/sagi/source/ubml/code-agent chmod +x script/*.sh script/vendor/*.sh # 1. 从 fork 导入 vendor 包 bash script/vendor/import-opencode.sh # 2. 安装依赖 bun install # 3. 启动(后端 4096 + 前端 3000) bun run dev # 4. 打开 http://localhost:3000 ,选工作目录,配置 Provider,发送消息 ``` ## 同步策略 ### 仅同步 fork 最新代码到 code-agent ```bash # fork 已 git pull 后 bash script/vendor/sync-upstream.sh ``` ### 从官方 upstream 合并到 fork,再导入 code-agent ```bash # 在 fork 中 merge anomalyco/opencode/dev,然后 import bash script/vendor/sync-fork-from-upstream.sh # 合并后推送 fork PUSH_FORK=1 bash script/vendor/sync-fork-from-upstream.sh ``` ### 导入 fork 指定 commit ```bash IMPORT_REF=04e5ca9d1 bash script/vendor/import-opencode.sh ``` ## 目录结构 ``` code-agent/ ├── vendor/MANIFEST.json # fork 路径与导入清单 ├── vendor/VERSION # 当前导入的 fork SHA ├── packages/opencode|core|... # 从 fork 导入 ├── packages/extension/ # ★ 你的扩展(Apache-2.0) └── script/vendor/ ├── import-opencode.sh # fork → code-agent ├── sync-upstream.sh # pull fork + import └── sync-fork-from-upstream.sh # merge 官方 + import ``` ## 验证 ```bash bun run dev # 终端 1 bun run smoke # 终端 2(需已配置 LLM provider) ``` ## 许可 - 本仓库自有代码:Apache-2.0 - OpenCode vendor 代码:MIT(见 `vendor/opencode/LICENSE`) 详细步骤见 [docs/SETUP.md](./docs/SETUP.md)。 ## SDD 开发(OpenSpec) - 项目规约:`AGENTS.md`、`openspec/project.md` - 工作流:`docs/SDD-WORKFLOW.md` - 在 Cursor 中:`/opsx:propose "你的变更描述"` 开始一次迭代