Skip to content

docs: refresh README positioning#322

Merged
Astro-Han merged 2 commits into
devfrom
docs/readme-refresh
Apr 29, 2026
Merged

docs: refresh README positioning#322
Astro-Han merged 2 commits into
devfrom
docs/readme-refresh

Conversation

@Astro-Han

@Astro-Han Astro-Han commented Apr 29, 2026

Copy link
Copy Markdown
Owner

Summary

Rewrites the English and Chinese README positioning around PawWork as an open-source desktop AI agent that works out of the box.

Adds a real homepage screenshot and keeps a session screenshot placeholder so the README has visual context without blocking on a second capture.

Why

The existing README was outdated against #281: it underplayed coding tasks, used stale build instructions, did not explain the current model/provider story, and described Windows support too broadly.

This refresh aligns the README with the current product direction: Codex App / Claude Desktop alternative, OpenCode Zen free quota, built-in search, task cards, multi-provider model support, and clearer macOS / Windows release notes.

Related Issue

Closes #281

How To Verify

git diff --check origin/dev..HEAD
rg -n "cd packages/desktop-electron|AI Agent for everyday work|MIT license|免费 Plan|API Key|Windows-supported|pawwork-home.svg" README.md README_CN.md assets/readme || true

No runtime tests were run because this is a documentation-only change.

Screenshots or Recordings

The README now includes assets/readme/pawwork-home.png and assets/readme/pawwork-session.svg.

Checklist

  • I linked the related issue, or stated why there is no issue
  • This PR has type, scope, and priority labels, or I requested maintainer labeling
  • I listed the relevant verification steps, including tests when behavior changed
  • I manually checked visible UI or copy changes when needed, with screenshots or recordings
  • I considered macOS and Windows impact for desktop, packaging, updater, signing, paths, shell, or permissions changes
  • I called out docs, release notes, dependencies, permissions, credentials, deletion behavior, or generated/local file changes when relevant
  • I am targeting dev, and my PR title and commit messages use Conventional Commits in English

Summary by CodeRabbit

  • Documentation
    • Rebranded README/README_CN as an out-of-the-box desktop alternative and reorganized messaging.
    • Added "Why" and "What You Can Ask" sections with categorized example tasks.
    • Updated "How It Works" to a task-card workflow (select task, files/tools/models/search, review outputs).
    • New "Models, Plans, and Search" section with free-plan/search details and expanded connectivity notes (API keys/OAuth/OpenAI‑compatible).
    • Simplified download/build instructions, revised credits to "Built on OpenCode", and updated device badges.

@coderabbitai

coderabbitai Bot commented Apr 29, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: cc66fb1a-011e-4054-9ca1-e35575b4a3a6

📥 Commits

Reviewing files that changed from the base of the PR and between eb70c03 and f68885d.

📒 Files selected for processing (2)
  • README.md
  • README_CN.md
📜 Recent review details
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (7)
  • GitHub Check: smoke-macos-arm64
  • GitHub Check: unit-windows-app
  • GitHub Check: unit-windows-opencode-server-tools
  • GitHub Check: unit-windows-opencode-config-project
  • GitHub Check: unit-windows-opencode-session
  • GitHub Check: unit-windows-desktop
  • GitHub Check: e2e-artifacts
🧰 Additional context used
🧠 Learnings (4)
📓 Common learnings
Learnt from: Astro-Han
Repo: Astro-Han/pawwork PR: 224
File: packages/app/src/i18n/zh.ts:0-0
Timestamp: 2026-04-24T17:08:46.780Z
Learning: In Astro-Han/pawwork PR `#224`, the first-occurrence `PawWork 爪印` branding rule originally specified in issue `#196` was superseded by an updated Chinese-branding spec. On all zh UI surfaces in `packages/app/src/i18n/zh.ts` (e.g., `dialog.model.unpaid.freeModels.title`, `session.new.subtitle`, `sidebar.gettingStarted.line1`), the correct and intentional target is fully localized `爪印` branding — no `PawWork` prefix. Do NOT flag these strings as missing the first-occurrence `PawWork 爪印` rule in future reviews.
Learnt from: Astro-Han
Repo: Astro-Han/pawwork PR: 270
File: packages/opencode/src/tool/edit.ts:48-48
Timestamp: 2026-04-28T08:14:31.436Z
Learning: In `packages/opencode/src/tool/edit.ts` (Astro-Han/pawwork), the `filePath` schema description (`"The absolute path to the file to modify"`) is upstream-inherited from `dev:packages/opencode/src/tool/edit.ts:48`. The runtime actually accepts relative paths (resolved via `Instance.directory` at lines 79-81), but the description fix is intentionally deferred to a single PawWork-authored description-cleanup PR that will also cover the identical mismatch in `packages/opencode/src/tool/write.ts:24`. Do NOT re-flag the too-narrow `filePath` description in upstream-sync PRs; flag it only in the dedicated description-cleanup PR.
📚 Learning: 2026-04-24T17:08:46.780Z
Learnt from: Astro-Han
Repo: Astro-Han/pawwork PR: 224
File: packages/app/src/i18n/zh.ts:0-0
Timestamp: 2026-04-24T17:08:46.780Z
Learning: In Astro-Han/pawwork PR `#224`, the first-occurrence `PawWork 爪印` branding rule originally specified in issue `#196` was superseded by an updated Chinese-branding spec. On all zh UI surfaces in `packages/app/src/i18n/zh.ts` (e.g., `dialog.model.unpaid.freeModels.title`, `session.new.subtitle`, `sidebar.gettingStarted.line1`), the correct and intentional target is fully localized `爪印` branding — no `PawWork` prefix. Do NOT flag these strings as missing the first-occurrence `PawWork 爪印` rule in future reviews.

Applied to files:

  • README.md
  • README_CN.md
📚 Learning: 2026-04-29T04:23:45.886Z
Learnt from: Astro-Han
Repo: Astro-Han/pawwork PR: 320
File: packages/ui/src/i18n/zh.ts:0-0
Timestamp: 2026-04-29T04:23:45.886Z
Learning: In Astro-Han/pawwork `packages/ui/src/i18n/zh.ts`, the canonical zh translations for message-part context counters (commit fa6771a35, PR `#320`) are:
- `ui.messagePart.context.read.one/.other` → `读取 {{count}} 个文件`
- `ui.messagePart.context.search.one/.other` → `搜索 {{count}} 处匹配` (`处` is the correct measure word for grep-style file:line hits, chosen for verb+count+量词+名词 symmetry with the other two labels)
- `ui.messagePart.context.list.one/.other` → `列出 {{count}} 个目录`
Do NOT suggest `搜索 {{count}} 次` or `浏览 {{count}} 处` for these keys in future reviews.

Applied to files:

  • README_CN.md
📚 Learning: 2026-04-28T03:01:37.478Z
Learnt from: Astro-Han
Repo: Astro-Han/pawwork PR: 282
File: packages/ui/src/i18n/zh.ts:109-109
Timestamp: 2026-04-28T03:01:37.478Z
Learning: In Astro-Han/pawwork PR `#282` (`packages/ui/src/i18n/zh.ts`), the translation for `ui.tool.questions` is intentionally `提出问题` (verb-object structure), NOT `向你提问` (prepositional-phrase structure). The choice was made after a UI smoke run to keep consistent verb-object phrasing across all zh tool-card labels (`执行命令`, `列出目录`, `查找文件`, `搜索文本`, `读取文件`, `读取网页`, `批量修改`, `查看待办`). Do NOT flag `提出问题` as incorrect for this key.

Applied to files:

  • README_CN.md
🔇 Additional comments (9)
README.md (5)

27-27: Hyphenation fix is correctly applied (Open-source control).

This matches prior review feedback and is now consistent.


3-13: Top-level positioning is strong and objective-aligned.

The new opening clearly communicates “open-source alternative” and “works out of the box” without over-claiming setup requirements.


23-27: “Why PawWork” bullets are well-structured and readable.

This section now gives a practical value framing (setup, task cards, model choice, control) with concise language.


69-70: Platform notes and build-from-source command are accurate.

The unsigned Windows note is explicit, and bun run dev:desktop aligns with the root script wiring (dev:desktop).

Also applies to: 74-83


85-89: OpenCode attribution rewrite is clear and appropriately scoped.

The section gives proper upstream credit while clarifying PawWork-specific product-layer additions.

README_CN.md (4)

3-13: Positioning and onboarding copy is aligned and clear.

The rewritten intro correctly matches the new product narrative (desktop-first, out-of-the-box, free-start path) and resolves the prior ambiguity around setup requirements.


23-27: Capabilities/model sections are consistent with the PR goals.

The “为什么选择” and “模型、账号和搜索” sections now provide a coherent capability and provider/account model narrative for Chinese readers.

Also applies to: 59-64


69-70: Download and source-run instructions look correct.

macOS/Windows release notes are explicit, and the switch to bun run dev:desktop matches the intended root-level workflow.

Also applies to: 74-83


15-17: ✓ Image assets are present and committed.

Both pawwork-home.png and pawwork-session.svg exist in assets/readme/ and are tracked by git, so they will render on GitHub in this PR.


📝 Walkthrough

Walkthrough

README.md and README_CN.md updated to reposition PawWork as an open-source alternative to Codex App and Claude Desktop. Content restructured with new "Why PawWork", "What You Can Ask PawWork To Do", "Models, Plans, and Search", and "How It Works" flows; build instruction changed to bun run dev:desktop; credits reworded to "Built on OpenCode".

Changes

Cohort / File(s) Summary
README Documentation
README.md, README_CN.md
Rewrote top-level positioning and narrative to "open-source alternative to Codex App and Claude Desktop"; replaced old prompt framing and comparison table with "Why PawWork" and categorized example tasks (documents/data, research/writing, code/technical). Added "How It Works" flow (task cards → required files/tools/models/search → review steps/outputs), new "Models, Plans, and Search" section (OpenCode Zen free quota, web search, API/OAuth/BYOK notes, supported providers/plans), simplified download/build instructions and changed dev command to bun run dev:desktop, replaced Credits with "Built on OpenCode", and updated device badges/status.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

Suggested labels

P3

Poem

🐰 I hopped through lines of README gold,
Rewrote the tale so new and bold.
Zen search, task cards, build commands inline,
Built on OpenCode — the stars align.
Hop in, explorer, the desktop's fine! 🥕

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title 'docs: refresh README positioning' accurately describes the main change—a comprehensive rewrite of the README files to reposition the product with updated messaging, structure, and details.
Description check ✅ Passed The PR description covers all required template sections: Summary, Why, Related Issue, How To Verify (with commands), Screenshots, and a completed Checklist addressing all template items.
Linked Issues check ✅ Passed The PR successfully addresses all core objectives from issue #281: repositions PawWork as an open-source alternative [#281], adds coding examples [#281], fixes build instructions [#281], clarifies model/provider support [#281], updates platform support wording [#281], and improves onboarding description [#281].
Out of Scope Changes check ✅ Passed All changes are directly scoped to README repositioning per issue #281—updates to README.md, README_CN.md, and readme asset files. No unrelated code or configuration changes detected.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/readme-refresh

Review rate limit: 1/3 review remaining, refill in 22 minutes and 27 seconds.

Comment @coderabbitai help to get the list of available commands and usage tips.

@Astro-Han Astro-Han added documentation Improvements or additions to documentation app Application behavior and product flows P2 Medium priority labels Apr 29, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@README.md`:
- Line 27: Update the phrase "Open source control" to the hyphenated form
"Open-source control" in the README; locate the section/heading containing the
exact text "Open source control" and replace it with "Open-source control" so
the compound adjective is correctly hyphenated.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: b3c02ec5-c21e-4de9-a4d5-e0b49083feb1

📥 Commits

Reviewing files that changed from the base of the PR and between 4e903c9 and eb70c03.

⛔ Files ignored due to path filters (2)
  • assets/readme/pawwork-home.png is excluded by !**/*.png
  • assets/readme/pawwork-session.svg is excluded by !**/*.svg
📒 Files selected for processing (2)
  • README.md
  • README_CN.md
📜 Review details
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (12)
  • GitHub Check: smoke-macos-arm64
  • GitHub Check: unit-windows-opencode-session
  • GitHub Check: unit-windows-opencode-server-tools
  • GitHub Check: unit-windows-app
  • GitHub Check: unit-windows-desktop
  • GitHub Check: unit-windows-opencode-config-project
  • GitHub Check: unit-desktop
  • GitHub Check: typecheck
  • GitHub Check: unit-app
  • GitHub Check: unit-opencode
  • GitHub Check: analyze-js-ts
  • GitHub Check: e2e-artifacts
🧰 Additional context used
🧠 Learnings (4)
📓 Common learnings
Learnt from: Astro-Han
Repo: Astro-Han/pawwork PR: 224
File: packages/app/src/i18n/zh.ts:0-0
Timestamp: 2026-04-24T17:08:46.780Z
Learning: In Astro-Han/pawwork PR `#224`, the first-occurrence `PawWork 爪印` branding rule originally specified in issue `#196` was superseded by an updated Chinese-branding spec. On all zh UI surfaces in `packages/app/src/i18n/zh.ts` (e.g., `dialog.model.unpaid.freeModels.title`, `session.new.subtitle`, `sidebar.gettingStarted.line1`), the correct and intentional target is fully localized `爪印` branding — no `PawWork` prefix. Do NOT flag these strings as missing the first-occurrence `PawWork 爪印` rule in future reviews.
Learnt from: Astro-Han
Repo: Astro-Han/pawwork PR: 270
File: packages/opencode/src/tool/edit.ts:48-48
Timestamp: 2026-04-28T08:14:31.436Z
Learning: In `packages/opencode/src/tool/edit.ts` (Astro-Han/pawwork), the `filePath` schema description (`"The absolute path to the file to modify"`) is upstream-inherited from `dev:packages/opencode/src/tool/edit.ts:48`. The runtime actually accepts relative paths (resolved via `Instance.directory` at lines 79-81), but the description fix is intentionally deferred to a single PawWork-authored description-cleanup PR that will also cover the identical mismatch in `packages/opencode/src/tool/write.ts:24`. Do NOT re-flag the too-narrow `filePath` description in upstream-sync PRs; flag it only in the dedicated description-cleanup PR.
Learnt from: Astro-Han
Repo: Astro-Han/pawwork PR: 224
File: packages/desktop-electron/electron-builder.config.ts:14-18
Timestamp: 2026-04-24T17:12:26.774Z
Learning: In Astro-Han/pawwork, the `localizedMacDisplayNameByChannel` map in `packages/desktop-electron/electron-builder.config.ts` is intentionally kept separate from `localizedAppDisplayName` in `packages/desktop-electron/src/main/app-display-name.ts`. The former is a build-time packaging helper; the latter is a runtime UI helper that localizes the current app name by locale. Coupling them would introduce a build-time dependency on runtime main logic. Do not suggest deduplicating or sharing this mapping — the explicit local table is covered by focused regression tests in `electron-builder-app-update.test.ts`.
Learnt from: Astro-Han
Repo: Astro-Han/pawwork PR: 98
File: packages/desktop-electron/src/main/menu-labels.ts:1-2
Timestamp: 2026-04-22T05:32:29.012Z
Learning: In Astro-Han/pawwork, the app i18n layer (`packages/app/src/i18n/`) only contains `en.ts` and `zh.ts`, and `normalizeLocale` (in `packages/app/src/context/language.tsx`) only returns `"en"` or `"zh"`. The desktop `MenuLocale = "en" | "zh"` union in `packages/desktop-electron/src/main/menu-labels.ts` is intentionally limited to these two locales and is not a broader restriction — do not flag it as overly restrictive or suggest adding other locales.
Learnt from: Astro-Han
Repo: Astro-Han/pawwork PR: 126
File: packages/ui/src/theme/context.tsx:11-16
Timestamp: 2026-04-22T09:32:58.310Z
Learning: In Astro-Han/pawwork (`packages/ui/src/theme/context.tsx` and related files), the renaming of localStorage theme keys from `opencode-*` to `pawwork-*` (THEME_ID, COLOR_SCHEME, THEME_CSS_LIGHT, THEME_CSS_DARK) is intentional and should NOT include a migration path from the old keys. Migrating would re-couple PawWork and OpenCode browser storage namespaces, which the PR is explicitly designed to avoid. A reset to the PawWork default theme on upgrade is acceptable by design.
📚 Learning: 2026-04-24T17:08:46.780Z
Learnt from: Astro-Han
Repo: Astro-Han/pawwork PR: 224
File: packages/app/src/i18n/zh.ts:0-0
Timestamp: 2026-04-24T17:08:46.780Z
Learning: In Astro-Han/pawwork PR `#224`, the first-occurrence `PawWork 爪印` branding rule originally specified in issue `#196` was superseded by an updated Chinese-branding spec. On all zh UI surfaces in `packages/app/src/i18n/zh.ts` (e.g., `dialog.model.unpaid.freeModels.title`, `session.new.subtitle`, `sidebar.gettingStarted.line1`), the correct and intentional target is fully localized `爪印` branding — no `PawWork` prefix. Do NOT flag these strings as missing the first-occurrence `PawWork 爪印` rule in future reviews.

Applied to files:

  • README.md
  • README_CN.md
📚 Learning: 2026-04-28T08:14:31.436Z
Learnt from: Astro-Han
Repo: Astro-Han/pawwork PR: 270
File: packages/opencode/src/tool/edit.ts:48-48
Timestamp: 2026-04-28T08:14:31.436Z
Learning: In `packages/opencode/src/tool/edit.ts` (Astro-Han/pawwork), the `filePath` schema description (`"The absolute path to the file to modify"`) is upstream-inherited from `dev:packages/opencode/src/tool/edit.ts:48`. The runtime actually accepts relative paths (resolved via `Instance.directory` at lines 79-81), but the description fix is intentionally deferred to a single PawWork-authored description-cleanup PR that will also cover the identical mismatch in `packages/opencode/src/tool/write.ts:24`. Do NOT re-flag the too-narrow `filePath` description in upstream-sync PRs; flag it only in the dedicated description-cleanup PR.

Applied to files:

  • README.md
📚 Learning: 2026-04-22T09:32:58.310Z
Learnt from: Astro-Han
Repo: Astro-Han/pawwork PR: 126
File: packages/ui/src/theme/context.tsx:11-16
Timestamp: 2026-04-22T09:32:58.310Z
Learning: In Astro-Han/pawwork (`packages/ui/src/theme/context.tsx` and related files), the renaming of localStorage theme keys from `opencode-*` to `pawwork-*` (THEME_ID, COLOR_SCHEME, THEME_CSS_LIGHT, THEME_CSS_DARK) is intentional and should NOT include a migration path from the old keys. Migrating would re-couple PawWork and OpenCode browser storage namespaces, which the PR is explicitly designed to avoid. A reset to the PawWork default theme on upgrade is acceptable by design.

Applied to files:

  • README.md
🪛 LanguageTool
README.md

[uncategorized] ~27-~27: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...viders, and supported coding plans. - Open source control: inspect the code, choose you...

(EN_COMPOUND_ADJECTIVE_INTERNAL)

🔇 Additional comments (5)
README_CN.md (3)

11-14: 定位与模型账号说明清晰且与目标一致。

这几段把“开箱即用 + 开源替代 + 免费额度 + BYOK/OAuth + 提供商范围”讲清楚了,和本次 README 更新目标对齐。

Also applies to: 59-64


67-71: 下载与平台说明准确。

macOS 已签名/公证、Windows x64 未签名与 SmartScreen 提示都表达得清楚,减少了用户首次下载时的歧义。


78-83: 源码运行命令修正正确。

bun run dev:desktop 放在仓库根目录执行,和 issue 里要求的修正一致。

README.md (2)

11-14: Core positioning and plans/search messaging are well structured.

This cleanly delivers the out-of-the-box positioning, free-start flow, and BYOK/OAuth/provider scope expected by the linked objective.

Also applies to: 59-63


67-70: Download/build instructions look correct and actionable.

Platform notes are clear, and the source command update to bun run dev:desktop from repo root is correct.

Also applies to: 78-83

Comment thread README.md Outdated

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the README and README_CN.md files to better reflect the current state of the PawWork project, including new features, model support, and installation instructions. The review feedback suggests several improvements to the Chinese documentation to enhance professional tone, consistency, and clarity, such as using more formal terminology and ensuring consistent verb-first structures in lists.

Comment thread README_CN.md Outdated
Comment thread README_CN.md Outdated
Comment thread README_CN.md Outdated
Comment thread README_CN.md Outdated
@Astro-Han Astro-Han merged commit 676dd60 into dev Apr 29, 2026
25 checks passed
@Astro-Han Astro-Han deleted the docs/readme-refresh branch April 29, 2026 09:12
@coderabbitai coderabbitai Bot mentioned this pull request Apr 30, 2026
11 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

app Application behavior and product flows documentation Improvements or additions to documentation P2 Medium priority

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug] README and README_CN are outdated and inconsistent with current product positioning

1 participant