feat: add Qoder CN adapter - #143
Merged
Merged
Conversation
Verified against a live ~/.qoder-cn install (2026-09): - skills: ~/.qoder-cn/skills + Universal ~/.agents/skills alias - MCP: settings.json mcpServers (Claude-style); root mcp.json is an empty app-created placeholder, not a config surface - plugins: installed_plugins_v2.json manifest (enabled + timestamps) - memory: global memory/*.md + external projects/<enc-cwd>/memory keyed by session-transcript cwd (Claude pattern) - rules: AGENTS.md; project: .agents/skills, .qoder/rules Hooks/knowledge-base deferred (issue RealZST#142).
…, not absent Qoder CN does have a hooks system (settings.json `hooks` key, Claude-shaped, per docs.qoder.cn/cli/hooks-reference). Reading it is left for a follow-up PR, so hook_format() stays None; the placeholder path and the 'no hook system' wording go away so the next PR only has to flip the format.
The user-level rules directory is documented alongside the project one (docs.qoder.cn/cli/memory); only AGENTS.md was listed before.
Global AGENTS.md was already a rules file; the project-level one was declared as memory, which split the same file across two categories. Both now land under Rules (matching Codex), and AGENTS.local.md joins it.
Uses LobeHub's qoder mark. Hover swings it from its top point like a hanging tag (±11deg, 1.8s per cycle). Click eases the swing to rest, fades the fill, traces both outlines back in over 2.8s, then restores the fill. The swing angle is a registered custom property so it can transition. The back face uses --mascot-icon-color so it survives dark cards.
Owner
|
Thanks for adding Qoder CN! I also tested it on Qoder CLI CN 1.1.63 and pushed five commits on top of yours:
Thanks again! Merged. |
This was referenced Sep 25, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refs #142 — the first PR for the agreed
qoder-cnadapter.What
Adds a
Qoder CNadapter (crates/hk-core/src/adapter/qoder_cn.rs): the CN build of Qoder (Alibaba's agentic coding IDE, bundlecom.qodercn.app, data root~/.qoder-cn). Tested against Qoder CN 0.3.4 desktop on a real macOS install.Covered in this PR (per the scope agreed in #142):
~/.qoder-cn/skills(product-native, standardSKILL.mdlayout) +~/.agents/skills(Universal Agent Skills alias Qoder CN also loads — confirmed in the app bundle's skill-source tagging and by a live install). Project scope:.agents/skills.~/.qoder-cn/settings.json→mcpServers(Claude-style entry schema,RemoteMcpSchema::TypeAndUrl). The bare rootmcp.jsonis an empty placeholder the desktop app creates at startup (birth == mtime, never written; absent from the official docs) — deliberately not a config surface.plugins/installed_plugins_v2.jsonmanifest — per-entryenabled, installPath, and preciseinstalledAt/lastUpdatedtimestamps.global_memory_files()→~/.qoder-cn/memory/*.md;external_project_memory()→projects/<encoded-cwd>/memory/*.mdwith the owner cwd read from session transcripts (Claude's pattern).AGENTS.md(global) and.qoder/rules/**/*.md(project).Deferred, agreed in #142: hooks (no hook system found on disk —
HookFormat::None), knowledge packs (qoder-knowledge/, to be revisited as a config-file category), and the project-level three-file MCP merge (.qoder/settings.json/.mcp.json/.qoder/settings.local.json) — I'll verify the override order empirically and follow up in a second PR.Verification (real install)
cargo test --workspaceandnpm test(312 frontend tests) pass locally.hk status/hk list --agent qoder-cnagainst the live machine:(85 skills in
~/.qoder-cn/skills+ 1 shared from~/.agents/skills; 11 plugins ==enabledPluginscount; the 7 MCP servers are exactly thesettings.jsonentries.)Web UI:
The Agents page shows Qoder CN with its settings file,
AGENTS.mdrules, and the memory tree grouped under the real install paths.Notes for review
all_adapters()order: appendedqoder-cnlast; pinned tests andAGENT_ORDERupdated to 14.mcp_remote_capability_derivation:TypeAndUrl→ both transports, no special case.