deveco-code:基于 OpenHarmony 的 AI 辅助应用开发工具项目

An open-source AI Agent for HarmonyOS applcation development.

分支5Tags0
文件最后提交记录最后更新时间
feat(opencode): unify CLI user-visible paths to deveco branding 1. rename database files from opencode.db to deveco.db 2. rename managed config directories and MDM plist domain to deveco 3. remove legacy /.opencode/ search patterns (keep /.deveco/ only) 4. update global.test.ts assertion for deveco temp path 5. overhaul upstream-sync skill brand mapping documentation Signed-off-by: OwenO <ouwen7@huawei.com> 11 天前
sync: OpenCode v1.15.0 -> v1.15.1 Upstream commits: - feat(tui): add minimal thinking mode with click-to-expand - feat(tui): enable pinned session switching - refactor(instance): retire WithInstance adapter - refactor(lsp): require explicit instance context - refactor(workspace): centralize adapter invocation - refactor(flags): migrate flags to runtime flags - fix(tui): dedupe consecutive prompt history entries - fix(tui): show config error details on startup - fix(tool): bridge custom tool zod metadata - fix: markdown table rendering - fix(watcher): resolve symlinked .git path - Various Effect instance context refactoring Conflicts resolved: 44 files - package.json/bun.lock: accept upstream versions - flag/flag.ts: accepted upstream removals, kept DEVECO_ prefix - runtime-flags.ts: accepted upstream new flags, kept DEVECO_ prefix - bridge.ts: accepted upstream refactoring (standalone bind/fromPromise) - lsp/server.ts: accepted upstream flags parameter refactoring - instance.ts: accepted upstream deletion (retired WithInstance adapter) - TUI files: accepted upstream features, kept DEVECO_ branding - Test files: accepted upstream test updates, kept DEVECO_ env vars - config.ts: accepted upstream import changes - instruction.ts, skill, db, workspace-routing: accepted upstream refactoring Brand identifiers preserved throughout, HarmonyOS tools and plugins retained Baseline updated in BASELINE.md Signed-off-by: OwenO <ouwen7@huawei.com> 14 天前
chore: remove pre-commit hook and restore default skills loading - Remove .husky/pre-commit specs documentation check - Restore Defaults/InstallationVersion imports and default skills extraction logic in skill discovery (lost during upstream sync) Signed-off-by: zhangyuchen <zhangyuchen45@huawei.com> 19 天前
sync: OpenCode v1.14.48 -> v1.14.49 Upstream commits: - fix keymap fallback priority and TUI config diagnostics (#27384) - fix(server): map busy sessions in http handlers (#27375) - fix(provider): restore model suggestions (#27372) - fix(run): restore non-interactive exit behavior (#27371) - refactor(flags): route installation/llm client through runtime flags (#27368, #27369) - effect(git/installation/worktree/format/snapshot): migrate to AppProcess.run (#27185-#27190) - refactor(flags): route control-plane/sync/session workspaces through runtime flags (#27335-#27337) - effect(core): add stdin option to AppProcess.run; migrate snapshot+clipboard (#27224) - chore: delete unused util/lock and util/color modules (#27223, #27331) - core: expose v2 model listing API (#25821) - feat: session switching (DEVECO_EXPERIMENTAL_SESSION_SWITCHING) - feat(app): ctrl/cmd+number keybinds to switch projects (#26280) - feat(tui): pin, quick-switch, and cycle recent sessions (#26858) - Tests migrated to Effect style (testEffect, it.instance, it.live) - Zod removal from core, replaced with Effect Schema Conflicts resolved: 74 files - package.json (18): accept upstream version, preserve name=deveco and workspace deps - bun.lock: accept upstream - extension.toml: accept upstream version URL - flag.ts: keep DEVECO_* naming, add DEVECO_EXPERIMENTAL_SESSION_SWITCHING - llm.ts: keep x-deveco-* headers and User-Agent brand - websearch.ts: keep DEVECO_WEBSEARCH_PROVIDER env var - logo.tsx/ui.ts: keep local branded UI (not upstream animated logo) - AGENTS.md: keep local doc index, upstream content -> OPENCODE-AGENTS.md - Source files: accept upstream Flag->RuntimeFlags refactor, replace OPENCODE_->DEVECO_ - Test files: accept upstream Effect migration, replace OPENCODE_->DEVECO_ Brand identifiers preserved throughout, DEVECO_* flags maintained Product rebranded from CodeGenie to DevEco Code Signed-off-by: OwenO <ouwen7@huawei.com> 15 天前
docs(contributing): Add "Setting up a Debugger" section (#4421) Co-authored-by: GitHub Action <action@github.com>6 个月前
app: refactor server management backend (#13813) 3 个月前
docs: update README layout and clarify login requirement Add README screenshot and centered header, sync README_EN, and correct login docs to reflect that Huawei account sign-in is required. Co-authored-by: Cursor <cursoragent@cursor.com> Signed-off-by: Josie_0306 <zhaojunjie15@h-partners.com> Co-authored-by: Cursor <cursoragent@cursor.com> Signed-off-by: Josie_0306 <zhaojunjie15@h-partners.com> Co-authored-by: Cursor <cursoragent@cursor.com> 10 小时前
feat: enable type-aware no-floating-promises rule, fix all 177 violations (#22741)1 个月前
sync: OpenCode v1.15.4 -> v1.15.5 Upstream commits: - Preview native LLM runtime stack (#27114) - feat(tui): add syntax highlighting for elixir, fsharp, r, make, vim, xml, agda - perf(app): virtualize session timeline rows (#26949) - fix(plugin): ask in tools from plugins returns promise instead of effect - fix(bus): acquire PubSub subscription eagerly to close /event race - refactor(session): move prompt reminders out of core loop - refactor(session): extract prompt tool resolution - refactor(session): extract reference prompt helpers - refactor(reference): split materialization state - refactor(repository): add cache service + type cache failures - fix(core): fix file references in workspaces - fix(ui): guard reasoning renderer, fix question dock overflow - fix(tui): copy pasted prompt content, collapse long tool output lines - Load models.dev snapshot from build global (models-snapshot.js deleted) - Upgrade Bun to final non-rust version - Multiple test migrations to instance fixtures Conflicts resolved: 28 files - package.json (17): version bump, accept upstream - packages/opencode/package.json: accept upstream + keep name/bin/deveco-codegenie deps - packages/web/package.json: accept upstream + fix deveco workspace dep - bun.lock/extension.toml/sdks/vscode/package.json: accept upstream - build scripts (3): DEVECO_MODELS_DEV define, generate.ts export - runtime-flags.ts: new experimentalNativeLlm flag with DEVECO_ prefix - session/llm.ts: accept upstream native LLM runtime architecture, keep DEVECO_ headers + debug logging - test files (3): DEVECO_TEST_HOME branding Brand identifiers preserved throughout, HarmonyOS tools and plugins retained Baseline updated in BASELINE.md Signed-off-by: OwenO <ouwen7@huawei.com> 13 天前
sync: OpenCode v1.15.4 -> v1.15.5 Upstream commits: - Preview native LLM runtime stack (#27114) - feat(tui): add syntax highlighting for elixir, fsharp, r, make, vim, xml, agda - perf(app): virtualize session timeline rows (#26949) - fix(plugin): ask in tools from plugins returns promise instead of effect - fix(bus): acquire PubSub subscription eagerly to close /event race - refactor(session): move prompt reminders out of core loop - refactor(session): extract prompt tool resolution - refactor(session): extract reference prompt helpers - refactor(reference): split materialization state - refactor(repository): add cache service + type cache failures - fix(core): fix file references in workspaces - fix(ui): guard reasoning renderer, fix question dock overflow - fix(tui): copy pasted prompt content, collapse long tool output lines - Load models.dev snapshot from build global (models-snapshot.js deleted) - Upgrade Bun to final non-rust version - Multiple test migrations to instance fixtures Conflicts resolved: 28 files - package.json (17): version bump, accept upstream - packages/opencode/package.json: accept upstream + keep name/bin/deveco-codegenie deps - packages/web/package.json: accept upstream + fix deveco workspace dep - bun.lock/extension.toml/sdks/vscode/package.json: accept upstream - build scripts (3): DEVECO_MODELS_DEV define, generate.ts export - runtime-flags.ts: new experimentalNativeLlm flag with DEVECO_ prefix - session/llm.ts: accept upstream native LLM runtime architecture, keep DEVECO_ headers + debug logging - test files (3): DEVECO_TEST_HOME branding Brand identifiers preserved throughout, HarmonyOS tools and plugins retained Baseline updated in BASELINE.md Signed-off-by: OwenO <ouwen7@huawei.com> 13 天前
!225 merge spec_develop_06021423 into develop 为每个user story生成用例,每个user story最多修复3次。将goal agent文档路径从.specs修改为spec, 避免mac上文件夹被隐藏。 Created-by: gcw_aoI7zQkc Commit-by: zhanglulin Merged-by: openharmony_ci Description: ### Issue for this PR Closes [#163](https://gitcode.com/openharmony-sig/deveco-code/issues/163) ### Type of change - [x] Bug fix - [ ] New feature - [ ] Refactor / code improvement - [ ] Documentation ### What does this PR do? Please provide a description of the issue, the changes you made to fix it, and why they work. It is expected that you understand why your changes work and if you do not understand why at least say as much so a maintainer knows how much to value the PR. **If you paste a large clearly AI generated description here your PR may be IGNORED or CLOSED!** ### How did you verify your code works? ### Screenshots / recordings _If this is a UI change, please include a screenshot or recording._ ### Checklist - [x] I have tested my changes locally - [x] I have not included unrelated changes in this PR _If you do not follow this template your PR will be automatically rejected._ See merge request: openharmony-sig/deveco-code!2252 小时前
sync: OpenCode v1.14.50 -> v1.14.51 Upstream commits: - feat: add experimental background subagents (#27084) - feat(desktop): add mcp client registration status and authentication handling (#27525) - feat(provider): add NVIDIA endpoints origin header (#27394) - fix(session): prevent double auto-compaction from filterCompacted reorder (#27545) - fix(session): finalize interrupted assistant messages (#27254) - fix: image resizer wasm loading, reenable image resizing (#26805) - fix(provider): remove LiteLLM workarounds ported upstream (#26819) - fix(tui): preserve text selection on question prompt options (#24988) - fix(tool): close shell truncation stream (#27517) - fix(worktree): accept missing create payload (#27582) - fix: bug with azure gpt-5.5 w/ completions api (#26222) - refactor(server): simplify listener lifecycle (#27413) - refactor(server): centralize session busy mapping (#27473) - Refactor event HTTP API route modules (#27441) - refactor(flags): migrate multiple flags to runtime flags (#27605-#27615) - refactor(http-recorder): tighten cassette safety, fix WS leaks (#26730) Conflicts resolved: 46 files - package.json (18): accepted upstream versions, preserved name: "deveco" and workspace dep - bun.lock: accepted upstream - extension.toml: accepted upstream version + download URL - flag.ts, runtime-flags.ts: accepted upstream, replaced OPENCODE_ -> DEVECO_ env var prefixes - provider.ts, registry.ts, shell.ts, storage/db.ts: accepted upstream architecture, preserved DEVECO_ branding - lsp.ts, server.ts, formatter.ts, project.ts: accepted upstream, replaced OPENCODE_ -> DEVECO_ - image.ts: accepted upstream wasm fix, replaced __OPENCODE_PHOTON_WASM_PATH -> __DEVECO_PHOTON_WASM_PATH - skill/index.ts: accepted upstream, replaced OPENCODE_SKILL_PATTERN/OPENCODE_DISABLE_EXTERNAL_SKILLS -> DEVECO_ - server/shared/ui.ts, share/session.ts: accepted upstream - Test files (9): accepted upstream, replaced OPENCODE_ -> DEVECO_ env var prefixes Brand identifiers preserved throughout, HarmonyOS tools and plugins retained Baseline updated in BASELINE.md Signed-off-by: OwenO <ouwen7@huawei.com> 14 天前
sync: OpenCode v1.15.4 -> v1.15.5 Upstream commits: - Preview native LLM runtime stack (#27114) - feat(tui): add syntax highlighting for elixir, fsharp, r, make, vim, xml, agda - perf(app): virtualize session timeline rows (#26949) - fix(plugin): ask in tools from plugins returns promise instead of effect - fix(bus): acquire PubSub subscription eagerly to close /event race - refactor(session): move prompt reminders out of core loop - refactor(session): extract prompt tool resolution - refactor(session): extract reference prompt helpers - refactor(reference): split materialization state - refactor(repository): add cache service + type cache failures - fix(core): fix file references in workspaces - fix(ui): guard reasoning renderer, fix question dock overflow - fix(tui): copy pasted prompt content, collapse long tool output lines - Load models.dev snapshot from build global (models-snapshot.js deleted) - Upgrade Bun to final non-rust version - Multiple test migrations to instance fixtures Conflicts resolved: 28 files - package.json (17): version bump, accept upstream - packages/opencode/package.json: accept upstream + keep name/bin/deveco-codegenie deps - packages/web/package.json: accept upstream + fix deveco workspace dep - bun.lock/extension.toml/sdks/vscode/package.json: accept upstream - build scripts (3): DEVECO_MODELS_DEV define, generate.ts export - runtime-flags.ts: new experimentalNativeLlm flag with DEVECO_ prefix - session/llm.ts: accept upstream native LLM runtime architecture, keep DEVECO_ headers + debug logging - test files (3): DEVECO_TEST_HOME branding Brand identifiers preserved throughout, HarmonyOS tools and plugins retained Baseline updated in BASELINE.md Signed-off-by: OwenO <ouwen7@huawei.com> 13 天前
sync: OpenCode v1.15.4 -> v1.15.5 Upstream commits: - Preview native LLM runtime stack (#27114) - feat(tui): add syntax highlighting for elixir, fsharp, r, make, vim, xml, agda - perf(app): virtualize session timeline rows (#26949) - fix(plugin): ask in tools from plugins returns promise instead of effect - fix(bus): acquire PubSub subscription eagerly to close /event race - refactor(session): move prompt reminders out of core loop - refactor(session): extract prompt tool resolution - refactor(session): extract reference prompt helpers - refactor(reference): split materialization state - refactor(repository): add cache service + type cache failures - fix(core): fix file references in workspaces - fix(ui): guard reasoning renderer, fix question dock overflow - fix(tui): copy pasted prompt content, collapse long tool output lines - Load models.dev snapshot from build global (models-snapshot.js deleted) - Upgrade Bun to final non-rust version - Multiple test migrations to instance fixtures Conflicts resolved: 28 files - package.json (17): version bump, accept upstream - packages/opencode/package.json: accept upstream + keep name/bin/deveco-codegenie deps - packages/web/package.json: accept upstream + fix deveco workspace dep - bun.lock/extension.toml/sdks/vscode/package.json: accept upstream - build scripts (3): DEVECO_MODELS_DEV define, generate.ts export - runtime-flags.ts: new experimentalNativeLlm flag with DEVECO_ prefix - session/llm.ts: accept upstream native LLM runtime architecture, keep DEVECO_ headers + debug logging - test files (3): DEVECO_TEST_HOME branding Brand identifiers preserved throughout, HarmonyOS tools and plugins retained Baseline updated in BASELINE.md Signed-off-by: OwenO <ouwen7@huawei.com> 13 天前
sync: OpenCode v1.15.4 -> v1.15.5 Upstream commits: - Preview native LLM runtime stack (#27114) - feat(tui): add syntax highlighting for elixir, fsharp, r, make, vim, xml, agda - perf(app): virtualize session timeline rows (#26949) - fix(plugin): ask in tools from plugins returns promise instead of effect - fix(bus): acquire PubSub subscription eagerly to close /event race - refactor(session): move prompt reminders out of core loop - refactor(session): extract prompt tool resolution - refactor(session): extract reference prompt helpers - refactor(reference): split materialization state - refactor(repository): add cache service + type cache failures - fix(core): fix file references in workspaces - fix(ui): guard reasoning renderer, fix question dock overflow - fix(tui): copy pasted prompt content, collapse long tool output lines - Load models.dev snapshot from build global (models-snapshot.js deleted) - Upgrade Bun to final non-rust version - Multiple test migrations to instance fixtures Conflicts resolved: 28 files - package.json (17): version bump, accept upstream - packages/opencode/package.json: accept upstream + keep name/bin/deveco-codegenie deps - packages/web/package.json: accept upstream + fix deveco workspace dep - bun.lock/extension.toml/sdks/vscode/package.json: accept upstream - build scripts (3): DEVECO_MODELS_DEV define, generate.ts export - runtime-flags.ts: new experimentalNativeLlm flag with DEVECO_ prefix - session/llm.ts: accept upstream native LLM runtime architecture, keep DEVECO_ headers + debug logging - test files (3): DEVECO_TEST_HOME branding Brand identifiers preserved throughout, HarmonyOS tools and plugins retained Baseline updated in BASELINE.md Signed-off-by: OwenO <ouwen7@huawei.com> 13 天前
sync: OpenCode v1.14.48 -> v1.14.49 Upstream commits: - fix keymap fallback priority and TUI config diagnostics (#27384) - fix(server): map busy sessions in http handlers (#27375) - fix(provider): restore model suggestions (#27372) - fix(run): restore non-interactive exit behavior (#27371) - refactor(flags): route installation/llm client through runtime flags (#27368, #27369) - effect(git/installation/worktree/format/snapshot): migrate to AppProcess.run (#27185-#27190) - refactor(flags): route control-plane/sync/session workspaces through runtime flags (#27335-#27337) - effect(core): add stdin option to AppProcess.run; migrate snapshot+clipboard (#27224) - chore: delete unused util/lock and util/color modules (#27223, #27331) - core: expose v2 model listing API (#25821) - feat: session switching (DEVECO_EXPERIMENTAL_SESSION_SWITCHING) - feat(app): ctrl/cmd+number keybinds to switch projects (#26280) - feat(tui): pin, quick-switch, and cycle recent sessions (#26858) - Tests migrated to Effect style (testEffect, it.instance, it.live) - Zod removal from core, replaced with Effect Schema Conflicts resolved: 74 files - package.json (18): accept upstream version, preserve name=deveco and workspace deps - bun.lock: accept upstream - extension.toml: accept upstream version URL - flag.ts: keep DEVECO_* naming, add DEVECO_EXPERIMENTAL_SESSION_SWITCHING - llm.ts: keep x-deveco-* headers and User-Agent brand - websearch.ts: keep DEVECO_WEBSEARCH_PROVIDER env var - logo.tsx/ui.ts: keep local branded UI (not upstream animated logo) - AGENTS.md: keep local doc index, upstream content -> OPENCODE-AGENTS.md - Source files: accept upstream Flag->RuntimeFlags refactor, replace OPENCODE_->DEVECO_ - Test files: accept upstream Effect migration, replace OPENCODE_->DEVECO_ Brand identifiers preserved throughout, DEVECO_* flags maintained Product rebranded from CodeGenie to DevEco Code Signed-off-by: OwenO <ouwen7@huawei.com> 15 天前
chore: add .editorconfig (#536) Co-authored-by: Adam Spiers <opencode@adamspiers.org>10 个月前
chore: restructure upstream sync skill and update config - Move upstream sync skill from .claude/skills/ to .agents/skills/ - Fix stale path reference in AGENTS.md routing table - Add Signed-off-by to DEV-WORKFLOW.md commit template - Add upstream AGENTS.md → OPENCODE-AGENTS.md overwrite rule in SKILL.md - Remove stale CODEGENIE_ row from brand identifier mapping - Add .claude to .gitignore Signed-off-by: OwenO <ouwen7@huawei.com> 15 天前
sync: OpenCode v1.14.41 -> v1.14.42 Upstream commits: - feat(core): add scout agent for repo research (#24149) - Add native LLM core foundation (#24712) - feat(opencode): add interactive split-footer mode to run (#23557) - feat(server): add HTTP API response compression (#26440) - feat(core): be smarter about generating a worktree name (#26368) - feat(core): allow external workspace creation (#26212) - feat(desktop): working indicator on project sidebar (#26223) - feat(desktop): allow silent install and only user-wide scope (#26253) - feat(websearch): add parallel provider rollout (#26227) - fix(server): clean up post-Hono-deletion scar tissue (#26542) - fix(server): validate permission and question ids (#26456) - fix(server): include auth challenge on typed 401 (#26455) - fix(server): return structured validation errors (#26457) - fix(server): match Hono wire format for authorize errors (#26474) - fix(tui): sort session picker by full updated timestamp (#24725) - fix(cli): forward signals from npm shim (#26259) - fix(workspace): claim detached sessions to source project (#26413) - fix(tui): retain cleared prompt drafts (#26258) - fix(provider): align Gemini thinking controls (#26279) - fix(provider): align Anthropic Opus 4.5 efforts (#26275) - fix(provider): constrain OpenAI deep research efforts (#26273) - fix(provider): align GPT-5 reasoning variants (#26268) - fix(skill): allow missing descriptions (#26391) - fix: ensure tools are always in same order (#26370) - fix: adjust tui retry dialog logic (#26366) - fix(web): normalize shell output carriage returns (#26426) - fix: tweaks to transform logic for anthropic and bedrock (#26276) - flatten to keybind compatible config (#26421) - introduce opentui keymap as sole key/cmd engine (#26053) - internal which-key plugin, inactive by default (#26337) - refactor(desktop): convert main process to Effect-TS (#26148) - research: delete Hono backend (#25667) - release: v1.14.42 Conflicts resolved: 77 files - package.json (17): accepted upstream versions, preserved name: "codegenie" - bun.lock, nix/hashes.json: accepted upstream - extension.toml: accepted upstream version and download URL - server source (12): accepted upstream architecture, preserved CODEGENIE_ brand - server tests (27): accepted upstream test structure, preserved CODEGENIE_ brand - tui/plugin (6): accepted upstream TUI changes, preserved CodeGenie customizations - desktop (2): accepted upstream Effect-TS refactor, preserved brand - bin/codegenie: preserved CODEGENIE_BIN_PATH and .codegenie cache - modify/delete (6): accepted upstream deletions (Hono cleanup) - sdk/build (1): accepted upstream - flag.ts: accepted upstream flags, converted OPENCODE_ to CODEGENIE_ Brand identifiers preserved throughout, HarmonyOS tools and plugins retained Signed-off-by: zhangyuchen <zhangyuchen45@huawei.com> 20 天前
feat: enable type-aware no-misused-spread rule, fix 8 violations (#22749)1 个月前
desktop: add more basic menu bar items 3 个月前
sync: OpenCode v1.15.2 -> v1.15.3 Upstream commits: - fix(cli): preserve instance context in async commands - fix read stream byte cap - fix(cli): agent create InstanceRef context Conflicts resolved: 20 files - **/package.json, bun.lock, extension.toml: version bump (theirs) - packages/opencode/package.json: version bump, kept name "deveco" - packages/web/package.json: version bump, restored "deveco" workspace dep Brand identifiers preserved throughout Baseline updated in BASELINE.md Signed-off-by: OwenO <ouwen7@huawei.com> 13 天前
fix: complete remaining brand migration (TUI, postinstall, docs, registry) Signed-off-by: zhangyuchen <zhangyuchen45@huawei.com> 18 天前
add codegenie cli 29 天前
sync: OpenCode v1.14.39 -> v1.14.40 Upstream commits: - fix(provider): preserve assistant message content when reasoning blocks present (#21370) - fix(server): apply cors before legacy auth (#26092) - feat(config): support well-known remote_config (#26054) - fix(cli): avoid AppRuntime re-entry for network options (#26052) - fix(tui): filter only connected workspaces in dialog; add warp synthetic message (#25915) - fix(tui): preserve selected model on refresh (#25993) - feat(desktop): implement clipboard write permission handling (#25998) - fix(ui): preserve SVG tags in DOMPurify config for KaTeX math rendering (#25866) - fix(desktop): suppress EPIPE errors in console transport (#25980) - fix(desktop): disable auto install on app quit (#25976) - feat(desktop): add test onboarding env (#25968) - Type session not-found errors (#25818) - fix(app): require query functions for sync queries (#25939) - fix(server): restore web terminal CSP allowances (#25937) - fix: sanitize surrogates (#25934) - fix(cf-ai-gateway): route provider options through openaiCompatible key (#25573) - fix(core): use current workspace with /new; fix warping into local project (#25894) - fix(core): better state handling of editor context (#25911) - fix(TUI): update agent create target path from "/agent" to "/agents" (#14427) - fix: retry server_is_overloaded errors (#25888) - fix(compaction): order compaction summary before retained tail (#25851) Conflicts resolved: 46 files (16 package.json version bumps, 21 README deletions, bun.lock, extension.toml, transform.ts ToolResultPart+sanitizeSurrogates, workspace.ts imports merge, home.tsx CodeGenie onboarding + useEditorContext, acp.ts resolveNetworkOptions Effect migration, desktop/server.ts XDG_STATE_HOME, desktop/renderer/index.tsx BrowserApiErrors filter, httpapi-pty.test.ts app() parametrization) Brand identifiers preserved throughout, OPENCODE_ residuals cleaned from 25+ auto-merged files Signed-off-by: zhangyuchen <zhangyuchen45@huawei.com> 21 天前
refactor(agents): restructure upstream-sync skill by separation of concerns 1. extract brand mapping rules to references/brand-mapping.md 2. extract known pitfalls to references/pitfalls.md (merge LESSONS.md duplicates) 3. extract custom features verification checklist to references/custom-features-checklist.md 4. slim SKILL.md to core workflow + navigation pointers only 5. slim LESSONS.md to version-specific temporary records only 6. update DEV-WORKFLOW.md: main dev branch renamed to develop 7. add mcp-bridge packages to bunfig.toml minimumReleaseAgeExcludes Signed-off-by: OwenO <ouwen7@huawei.com> 12 天前
docs: cleanup casing 11 个月前
refactor: rename CodeGenie branding to DevEco Code Replace all CodeGenie branding identifiers with DevEco Code equivalents: - Logo files: codegenie-logo.jpg → deveco-code-logo.jpg - Directory rename: codegenieUI/ → devecoUI/ - File rename: codegenie-legal.ts → deveco-legal.ts - Update comments and import paths across TUI components - Update analytics test guide paths Signed-off-by: OwenO <ouwen7@huawei.com> 15 天前
sync: OpenCode v1.14.48 -> v1.14.49 Upstream commits: - fix keymap fallback priority and TUI config diagnostics (#27384) - fix(server): map busy sessions in http handlers (#27375) - fix(provider): restore model suggestions (#27372) - fix(run): restore non-interactive exit behavior (#27371) - refactor(flags): route installation/llm client through runtime flags (#27368, #27369) - effect(git/installation/worktree/format/snapshot): migrate to AppProcess.run (#27185-#27190) - refactor(flags): route control-plane/sync/session workspaces through runtime flags (#27335-#27337) - effect(core): add stdin option to AppProcess.run; migrate snapshot+clipboard (#27224) - chore: delete unused util/lock and util/color modules (#27223, #27331) - core: expose v2 model listing API (#25821) - feat: session switching (DEVECO_EXPERIMENTAL_SESSION_SWITCHING) - feat(app): ctrl/cmd+number keybinds to switch projects (#26280) - feat(tui): pin, quick-switch, and cycle recent sessions (#26858) - Tests migrated to Effect style (testEffect, it.instance, it.live) - Zod removal from core, replaced with Effect Schema Conflicts resolved: 74 files - package.json (18): accept upstream version, preserve name=deveco and workspace deps - bun.lock: accept upstream - extension.toml: accept upstream version URL - flag.ts: keep DEVECO_* naming, add DEVECO_EXPERIMENTAL_SESSION_SWITCHING - llm.ts: keep x-deveco-* headers and User-Agent brand - websearch.ts: keep DEVECO_WEBSEARCH_PROVIDER env var - logo.tsx/ui.ts: keep local branded UI (not upstream animated logo) - AGENTS.md: keep local doc index, upstream content -> OPENCODE-AGENTS.md - Source files: accept upstream Flag->RuntimeFlags refactor, replace OPENCODE_->DEVECO_ - Test files: accept upstream Effect migration, replace OPENCODE_->DEVECO_ Brand identifiers preserved throughout, DEVECO_* flags maintained Product rebranded from CodeGenie to DevEco Code Signed-off-by: OwenO <ouwen7@huawei.com> 15 天前
sync: OpenCode v1.14.48 -> v1.14.49 Upstream commits: - fix keymap fallback priority and TUI config diagnostics (#27384) - fix(server): map busy sessions in http handlers (#27375) - fix(provider): restore model suggestions (#27372) - fix(run): restore non-interactive exit behavior (#27371) - refactor(flags): route installation/llm client through runtime flags (#27368, #27369) - effect(git/installation/worktree/format/snapshot): migrate to AppProcess.run (#27185-#27190) - refactor(flags): route control-plane/sync/session workspaces through runtime flags (#27335-#27337) - effect(core): add stdin option to AppProcess.run; migrate snapshot+clipboard (#27224) - chore: delete unused util/lock and util/color modules (#27223, #27331) - core: expose v2 model listing API (#25821) - feat: session switching (DEVECO_EXPERIMENTAL_SESSION_SWITCHING) - feat(app): ctrl/cmd+number keybinds to switch projects (#26280) - feat(tui): pin, quick-switch, and cycle recent sessions (#26858) - Tests migrated to Effect style (testEffect, it.instance, it.live) - Zod removal from core, replaced with Effect Schema Conflicts resolved: 74 files - package.json (18): accept upstream version, preserve name=deveco and workspace deps - bun.lock: accept upstream - extension.toml: accept upstream version URL - flag.ts: keep DEVECO_* naming, add DEVECO_EXPERIMENTAL_SESSION_SWITCHING - llm.ts: keep x-deveco-* headers and User-Agent brand - websearch.ts: keep DEVECO_WEBSEARCH_PROVIDER env var - logo.tsx/ui.ts: keep local branded UI (not upstream animated logo) - AGENTS.md: keep local doc index, upstream content -> OPENCODE-AGENTS.md - Source files: accept upstream Flag->RuntimeFlags refactor, replace OPENCODE_->DEVECO_ - Test files: accept upstream Effect migration, replace OPENCODE_->DEVECO_ Brand identifiers preserved throughout, DEVECO_* flags maintained Product rebranded from CodeGenie to DevEco Code Signed-off-by: OwenO <ouwen7@huawei.com> 15 天前
!223 merge develop into develop docs: update README layout and clarify login requirement Created-by: Josie_0306 Commit-by: Josie_0306 Merged-by: openharmony_ci Description: ### Issue for this PR Closes # ### Type of change - [ ] Bug fix - [ ] New feature - [ ] Refactor / code improvement - [Y ] Documentation ### What does this PR do? docs: update README layout and clarify login requirement **If you paste a large clearly AI generated description here your PR may be IGNORED or CLOSED!** ### How did you verify your code works? ### Screenshots / recordings _If this is a UI change, please include a screenshot or recording._ ### Checklist - [ ] I have tested my changes locally - [ ] I have not included unrelated changes in this PR _If you do not follow this template your PR will be automatically rejected._ See merge request: openharmony-sig/deveco-code!2236 小时前
!223 merge develop into develop docs: update README layout and clarify login requirement Created-by: Josie_0306 Commit-by: Josie_0306 Merged-by: openharmony_ci Description: ### Issue for this PR Closes # ### Type of change - [ ] Bug fix - [ ] New feature - [ ] Refactor / code improvement - [Y ] Documentation ### What does this PR do? docs: update README layout and clarify login requirement **If you paste a large clearly AI generated description here your PR may be IGNORED or CLOSED!** ### How did you verify your code works? ### Screenshots / recordings _If this is a UI change, please include a screenshot or recording._ ### Checklist - [ ] I have tested my changes locally - [ ] I have not included unrelated changes in this PR _If you do not follow this template your PR will be automatically rejected._ See merge request: openharmony-sig/deveco-code!2236 小时前
add codegenie cli 29 天前
docs: add policy about AI-generated security reports We receive a large number of AI-generated security reports and don't have the resources to review them all. This policy clarifies that such submissions will result in an automatic ban to protect our maintainers' time. 3 个月前
ignore: update download stats 2026-01-29 4 个月前
!223 merge develop into develop docs: update README layout and clarify login requirement Created-by: Josie_0306 Commit-by: Josie_0306 Merged-by: openharmony_ci Description: ### Issue for this PR Closes # ### Type of change - [ ] Bug fix - [ ] New feature - [ ] Refactor / code improvement - [Y ] Documentation ### What does this PR do? docs: update README layout and clarify login requirement **If you paste a large clearly AI generated description here your PR may be IGNORED or CLOSED!** ### How did you verify your code works? ### Screenshots / recordings _If this is a UI change, please include a screenshot or recording._ ### Checklist - [ ] I have tested my changes locally - [ ] I have not included unrelated changes in this PR _If you do not follow this template your PR will be automatically rejected._ See merge request: openharmony-sig/deveco-code!2236 小时前
fix: 更新mcp-bridge依赖版本至1.1.8;增强verify_ui功能以支持sessionID Signed-off-by: AlphaZx <congjiye@outlook.com> 1 天前
fix: add missing workspaces and dependencies to CI pipeline 1. add http-recorder and llm packages to pipeline-prepare neededWorkspaces 2. add mcp-bridge native packages to bunfig minimumReleaseAgeExcludes Signed-off-by: OwenO <ouwen7@huawei.com> 12 天前
add codegenie cli 29 天前
sync: OpenCode v1.15.1 -> v1.15.2 Upstream commits: - fix(sync): publish events on injected project bus (#27825) - core: reduce prompts for shell, todowrite, and task tools (#26821) - tui: newly pinned sessions now append to the end of the list - fixed issue in opencode run (InstanceRef provider) - chore: reduce alerts noise - feat(nix): add opencode-electron derivation (#16163) - Remove Ring 2.6 1T from Zen docs (#27849) - sync release versions for v1.15.1 Conflicts resolved: 20 files - **/package.json: accepted upstream version bumps, kept name: "deveco" - bun.lock: accepted upstream - packages/extensions/zed/extension.toml: accepted upstream version + URL Brand identifiers preserved throughout, HarmonyOS tools and plugins retained Baseline updated in BASELINE.md Signed-off-by: OwenO <ouwen7@huawei.com> 14 天前
fix: baseline CPU detection (#13371) 3 个月前
sync: OpenCode v1.15.4 -> v1.15.5 Upstream commits: - Preview native LLM runtime stack (#27114) - feat(tui): add syntax highlighting for elixir, fsharp, r, make, vim, xml, agda - perf(app): virtualize session timeline rows (#26949) - fix(plugin): ask in tools from plugins returns promise instead of effect - fix(bus): acquire PubSub subscription eagerly to close /event race - refactor(session): move prompt reminders out of core loop - refactor(session): extract prompt tool resolution - refactor(session): extract reference prompt helpers - refactor(reference): split materialization state - refactor(repository): add cache service + type cache failures - fix(core): fix file references in workspaces - fix(ui): guard reasoning renderer, fix question dock overflow - fix(tui): copy pasted prompt content, collapse long tool output lines - Load models.dev snapshot from build global (models-snapshot.js deleted) - Upgrade Bun to final non-rust version - Multiple test migrations to instance fixtures Conflicts resolved: 28 files - package.json (17): version bump, accept upstream - packages/opencode/package.json: accept upstream + keep name/bin/deveco-codegenie deps - packages/web/package.json: accept upstream + fix deveco workspace dep - bun.lock/extension.toml/sdks/vscode/package.json: accept upstream - build scripts (3): DEVECO_MODELS_DEV define, generate.ts export - runtime-flags.ts: new experimentalNativeLlm flag with DEVECO_ prefix - session/llm.ts: accept upstream native LLM runtime architecture, keep DEVECO_ headers + debug logging - test files (3): DEVECO_TEST_HOME branding Brand identifiers preserved throughout, HarmonyOS tools and plugins retained Baseline updated in BASELINE.md Signed-off-by: OwenO <ouwen7@huawei.com> 13 天前
sync: OpenCode v1.15.4 -> v1.15.5 Upstream commits: - Preview native LLM runtime stack (#27114) - feat(tui): add syntax highlighting for elixir, fsharp, r, make, vim, xml, agda - perf(app): virtualize session timeline rows (#26949) - fix(plugin): ask in tools from plugins returns promise instead of effect - fix(bus): acquire PubSub subscription eagerly to close /event race - refactor(session): move prompt reminders out of core loop - refactor(session): extract prompt tool resolution - refactor(session): extract reference prompt helpers - refactor(reference): split materialization state - refactor(repository): add cache service + type cache failures - fix(core): fix file references in workspaces - fix(ui): guard reasoning renderer, fix question dock overflow - fix(tui): copy pasted prompt content, collapse long tool output lines - Load models.dev snapshot from build global (models-snapshot.js deleted) - Upgrade Bun to final non-rust version - Multiple test migrations to instance fixtures Conflicts resolved: 28 files - package.json (17): version bump, accept upstream - packages/opencode/package.json: accept upstream + keep name/bin/deveco-codegenie deps - packages/web/package.json: accept upstream + fix deveco workspace dep - bun.lock/extension.toml/sdks/vscode/package.json: accept upstream - build scripts (3): DEVECO_MODELS_DEV define, generate.ts export - runtime-flags.ts: new experimentalNativeLlm flag with DEVECO_ prefix - session/llm.ts: accept upstream native LLM runtime architecture, keep DEVECO_ headers + debug logging - test files (3): DEVECO_TEST_HOME branding Brand identifiers preserved throughout, HarmonyOS tools and plugins retained Baseline updated in BASELINE.md Signed-off-by: OwenO <ouwen7@huawei.com> 13 天前
sync: OpenCode v1.14.48 -> v1.14.49 Upstream commits: - fix keymap fallback priority and TUI config diagnostics (#27384) - fix(server): map busy sessions in http handlers (#27375) - fix(provider): restore model suggestions (#27372) - fix(run): restore non-interactive exit behavior (#27371) - refactor(flags): route installation/llm client through runtime flags (#27368, #27369) - effect(git/installation/worktree/format/snapshot): migrate to AppProcess.run (#27185-#27190) - refactor(flags): route control-plane/sync/session workspaces through runtime flags (#27335-#27337) - effect(core): add stdin option to AppProcess.run; migrate snapshot+clipboard (#27224) - chore: delete unused util/lock and util/color modules (#27223, #27331) - core: expose v2 model listing API (#25821) - feat: session switching (DEVECO_EXPERIMENTAL_SESSION_SWITCHING) - feat(app): ctrl/cmd+number keybinds to switch projects (#26280) - feat(tui): pin, quick-switch, and cycle recent sessions (#26858) - Tests migrated to Effect style (testEffect, it.instance, it.live) - Zod removal from core, replaced with Effect Schema Conflicts resolved: 74 files - package.json (18): accept upstream version, preserve name=deveco and workspace deps - bun.lock: accept upstream - extension.toml: accept upstream version URL - flag.ts: keep DEVECO_* naming, add DEVECO_EXPERIMENTAL_SESSION_SWITCHING - llm.ts: keep x-deveco-* headers and User-Agent brand - websearch.ts: keep DEVECO_WEBSEARCH_PROVIDER env var - logo.tsx/ui.ts: keep local branded UI (not upstream animated logo) - AGENTS.md: keep local doc index, upstream content -> OPENCODE-AGENTS.md - Source files: accept upstream Flag->RuntimeFlags refactor, replace OPENCODE_->DEVECO_ - Test files: accept upstream Effect migration, replace OPENCODE_->DEVECO_ Brand identifiers preserved throughout, DEVECO_* flags maintained Product rebranded from CodeGenie to DevEco Code Signed-off-by: OwenO <ouwen7@huawei.com> 15 天前
sync 8 个月前
feat: complete brand migration from CodeGenie to DevEco Code Migrate all remaining CODEGENIE/codegenie references to DEVECO/deveco across the entire codebase: - Fix critical build define mismatch (CODEGENIE_* → DEVECO_*) that caused version/channel to always be "local" in built artifacts - Rename npm scope to @deveco and package name to @deveco/deveco - Rename plugin files: codegenie.ts → deveco.ts, codegenie-models.ts → deveco-models.ts, codegenie-onboarding.tsx → deveco-onboarding.tsx - Update provider ID, class names, and function names - Update all env vars, build scripts, SDK headers, and display text - Fix electron.vite.config.ts CODEGENIE_SERVER_DIST variable reference bug - Update binary output name from bin/codegenie to bin/deveco Signed-off-by: zhangyuchen <zhangyuchen45@huawei.com> 18 天前

DevEco Code

面向 HarmonyOS(鸿蒙)开发场景的 AI Agent 工具。

npm license GitCode

English | npm 包页面 | GitCode 仓库 | OpenCode

DevEco Code


快速开始

# 1. 安装
npm install -g @deveco/deveco-code

# 2. 启动
deveco

# 3. 开始对话 —— 在终端中直接描述你的鸿蒙开发需求

如需编译构建、设备运行等能力,请先安装 DevEco Studio 并配置 DEVECO_HOME 环境变量。

简介

DevEco Code 是一款面向 HarmonyOS 开发场景的 AI Agent 工具,支持代码编写、编译构建、设备运行、文档查阅、运行时调试及 ArkTS 问题修复等能力。

DevEco Code 基于开源项目 OpenCode 扩展开发,保留了 OpenCode 的终端交互、配置体系、 Provider / MCP / Skill / Plugin 等能力,并针对鸿蒙工程增加了 DevEco Studio、Hvigor、HDC、ArkTS 检查和设备调试相关集成。

支持平台

  • Windows x64
  • macOS Apple Silicon
  • macOS Intel x64

安装前置

DevEco Code 通过 npm 分发,安装前请先准备以下环境:

  1. 安装 Node.js LTS
  2. 如需使用鸿蒙工程的编译、运行和调试能力,请安装 DevEco Studio
  3. 配置 DEVECO_HOME 环境变量指向 DevEco Studio 安装目录

可先在终端验证 Node.js 环境:

node -v
npm -v

安装与卸载

# 安装
npm install -g @deveco/deveco-code

# 查看版本
deveco --version

# 启动
deveco

# 更新
deveco upgrade

# 卸载运行时数据
deveco uninstall

# 卸载 npm 全局包
npm uninstall -g @deveco/deveco-code

macOS 如果遇到全局安装权限问题,可尝试 sudo -i npm install -g @deveco/deveco-code

登录与模型

启动 deveco 需华为账号登录。登录后可使用 DevEco Code 提供的免费模型通道。

# 退出登录
deveco auth logout

在 DevEco Code 中输入 /models 可进入模型配置界面。当前免费提供 glm-5deepseek-v3.2 两款模型,单账号默认每分钟 50 次请求。也可以通过 Ctrl+A 进入 Provider 选择界面,配置智谱、阿里等 OpenAI-compatible 模型。

也可以通过 deveco.jsonc 配置模型:

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "deveco": {
      "name": "DevEco Code",
      "models": {
        "glm-5": {
          "tool_call": true,
          "limit": {
            "context": 200000,
            "output": 8192
          }
        }
      },
      "options": {
        "baseURL": "https://api.openbitfun.com/v1",
        "apiKey": "{env:DEVECO_API_KEY}"
      }
    }
  }
}

配置文件读取优先级:

  1. 项目目录下 .deveco/deveco.jsonc
  2. 项目目录下 deveco.jsonc
  3. 用户目录下 .config/deveco/deveco.jsonc

Agent 模式

DevEco Code 面向鸿蒙开发提供以下 Agent 模式(按 Tab 键切换):

  • build:默认模式,适合工程生成、代码生成、配置修正、测试执行、推包运行和发布执行
  • plan:适合需求拆解、技术方案、发布规划、测试规划和文档生成
  • goal:适合 spec 定义、规范驱动、代码生成和功能验证

鸿蒙场景能力

DevEco Code 集成了常用鸿蒙开发工具能力:

工具 说明
build_project 执行编译构建并导出构建产物
start_app 在模拟器或真机上运行应用
hdc_log 收集/清理设备日志/查看连接模拟器
check_ets_files ArkTS 静态语法检查
arkts_knowledge_search 鸿蒙知识搜索(需要登录华为账号才能使用)
switch_cwd 切换构建项目路径

常见场景包括:从 0 到 1 创建鸿蒙工程、增量开发页面、修复编译报错、真机调试,以及基于多模态模型的图生文界面生成。

扩展能力

DevEco Code 兼容 OpenCode 的 Skill、MCP 和 Plugin 扩展方式。

Skills

npx skills add vercel-labs/agent-skills

也可以把 Skill 放到 ~/.config/deveco/skills,重启 DevEco Code 后加载。

MCP

可在 ~/.config/deveco/deveco.jsonc 中配置 MCP:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "playwright": {
      "type": "local",
      "command": ["npx", "@playwright/mcp@latest"],
      "enabled": true
    }
  }
}

Plugins

npm install -g oh-my-opencode

然后在 deveco.jsonc 中配置插件入口:

{
  "plugin": [
    "file:///C:/Users/<username>/AppData/Roaming/npm/node_modules/oh-my-opencode/dist/index.js"
  ]
}

从 OpenCode 迁移

如果需要从 OpenCode 迁移到 DevEco Code,请将配置文件迁移到 DevEco Code 目录。主配置文件可参考:

# Windows PowerShell
Copy-Item -Force "{源路径}\opencode.jsonc" "~\.config\deveco\deveco.jsonc"
# macOS
cp {源路径}/opencode.jsonc ~/.config/deveco/deveco.jsonc

Skills、Agents、Plugins 也可以迁移到 ~/.config/deveco 下的对应目录;MCP 配置项可迁移到 deveco.jsonc 中。

FAQ

这和 OpenCode 有什么关系?

DevEco Code 基于 OpenCode 扩展开发,保留其终端 UI、Provider、MCP、Skill、Plugin 和配置体系,并额外针对 HarmonyOS 开发链路加入编译构建、设备运行、日志采集、ArkTS 检查和运行时调试等能力。

Contributing

欢迎贡献!请在提交 Pull Request 前阅读 CONTRIBUTING.md

License

MIT License

基于 OpenCode 构建的声明

本项目基于开源项目 OpenCode 扩展开发。DevEco Code 并非 OpenCode 团队出品,也与 OpenCode 团队无任何附属或关联关系。如有与 DevEco Code 相关的问题,请通过 GitCode Issue 反馈,而非联系 OpenCode 社区。


反馈与交流 GitCode Issue

项目介绍

An open-source AI Agent for HarmonyOS applcation development.

https://gitcode.com/openharmony-sig/deveco-code定制我的领域

下载使用量

0

项目总下载次数(含Clone、Pull、 zip 包及 release 下载),每日凌晨更新

语言类型

TypeScript49.49%
MDX32.11%
TSX14.63%
CSS2.49%
JavaScript0.36%