Repository navigation
feat: index 千问办公 (Qwen Work) and Qoder IDE task transcripts - #81
Open
245678000000 wants to merge 2 commits into
Open
245678000000 wants to merge 2 commits into
245678000000 wants to merge 2 commits into
Conversation
千问办公 (QwenWorkCN.app) runs the Qoder engine and writes Qoder CLI-format
transcripts to ~/.qwenworkcn/projects. Its predecessor QoderWork CN left
~/.qoderworkcn/projects, which is read as a second source; the copy in the
current folder wins de-duplication.
- QoderAdapter becomes agent-aware (twin pattern, like WorkBuddy/CodeBuddy):
new AgentId::QwenWork with qwenwork() and qwenwork_legacy() instances
- Show humanInput.text (what the user typed) instead of letting the
<system-reminder> block the app prepends hide the whole prompt; for older
rows without humanInput, only the injected text block is folded away
- Title 千问办公 sessions by the first prompt; last-prompt is just the latest
turn ("继续")
- Skip the engine's background runs (memory compaction "Target file this
round:", command checks "# Input\nCommand:") at enumeration, from a bounded
read of the file head
- Read Qoder IDE / Qoder CN task transcripts in
projects/<key>/transcript/*.jsonl (no parentUuid / active-leaf: file order
is the conversation); their tool-result sidecar is deleted with them
- Wire QwenWork into remote sync, skills, terminal (no CLI, no Open In),
theme color, brand icon, docs and the website agent list
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
@245678000000 is attempting to deploy a commit to the corey's projects Team on Vercel. A member of the Team first needs to authorize it. |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch has not been deployed
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.
Summary
千问办公 (Qwen Work,
QwenWorkCN.app, Alibaba's desktop agent) runs the Qoder engine and writes Qoder CLI-format transcripts to~/.qwenworkcn/projects. Wake didn't know about it, so none of those sessions showed up. Qoder IDE / Qoder CN task ("Quest") transcripts were also missing: they live one level deeper, in~/.qoder/projects/<key>/transcript/.千问办公 as a Qoder twin (same pattern as WorkBuddy ↔ CodeBuddy):
QoderAdapternow carries itsAgentId; newAgentId::QwenWork(qwenwork, shown as 千问办公, which is the app's display name in every locale it ships).qwenwork()reads~/.qwenworkcn/projects, andqwenwork_legacy()reads~/.qoderworkcn/projects, which its predecessor QoderWork CN left behind. 千问办公 migrated those sessions into its own folder (the migrated project dirs are still named-…-qoderworkcn-workspace-…). A session in both is de-duplicated withdedup_rank, and the current folder's copy wins.<system-reminder>text block (timezone, available tools), sois_injected_user_contentfolded the whole prompt into Meta. The engine also saves what the user typed inhumanInput.text, and the parser now shows that. For older rows withouthumanInput, only the injected text block is folded and the typed block shows as usual. This part is shared with Qoder CLI.last-promptis just the latest turn ("继续", "好"). 千问办公 sessions therefore take the first prompt, with the skill-picker preamble ("This request must be fulfilled using the "x" skill…") reduced to the skill name and<user-pasted-*>placeholders stripped. Qoder CLI keeps its existing order.Target file this round: MEMORY.md/USER.md) and command-safety (# Input\nCommand: …) runs as ordinary session files. They're skipped at enumeration (bothlist_session_filesandfile_ref), based on a bounded 16 KB read of the file head, in the spirit of the Codex internal-thread filter. If the head can't be read or has no user row, the file is kept..qwenworkcn/projects; user skills at~/.qwenworkcn/skills; brand icon from the app bundle; series color darkened from the brand green #00CB5E to #0B8A4C (ΔE00 6.1 → 14.1 from Qoder's green).Qoder IDE / Qoder CN task transcripts:
projects/<key>/transcript/task-*.session.execution.jsonlare listed and watched.parentUuid/active-leaf, so when no row carries a parent key the file order is the conversation.progress/session_metarows are known metadata.<key>/<id>/tool-results sidecar is included insession_paths.Notes for review
QwenWorkat the end ofAgentIdbecause the comment asks to confirm sidebar positions with you. Move it wherever you like.Tests
adapter_contracts::qwenwork_is_a_qoder_twin: roots, dedup rank,humanInputvs injected block, title choice, skipped background runs, no resume target.adapter_contracts::qoder_task_transcripts_are_sessions: listing,file_ref, linear parse with tool output and thinking, sidecar insession_paths.DEFAULT_INSTANCES+1 for the second 千问办公 source;stage_dir_fixturesstages the Qoder fixture as.qwenworkcnsoremote_synccovers the new layout.cargo test -p wake-core: 505 passed, 0 failed.cargo fmt --all --checkclean.cargo build -p wake --releaseandscripts/make-app.shsucceed, and I'm running the resulting app.cargo test -p wake(out of disk space). CI will cover it.🤖 Generated with Claude Code