Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
ffb612a
feat(samples): add TypeScript web-ui-showcase sample with specs and p…
Aug 18, 2026
ac201d7
feat(server): add directories/pick route delegating to the native dir…
Aug 18, 2026
9f910c9
feat(client): expose pickAndAddDirectory on ApiClient
Aug 18, 2026
1e2f424
feat(client): add settingsOpen and sdkConsoleTab product state
Aug 18, 2026
5832210
refactor(client): extract useRuntimeTrack from RuntimeDialog
Aug 18, 2026
070a4e8
feat(client): tabbed SDK console hosting Hooks, Raw Events, MCP, Exte…
Aug 18, 2026
538191a
feat(client): single-page Settings dialog with native picker for addi…
Aug 18, 2026
4905691
refactor(client): remove the sectioned RuntimeDialog in favor of Sett…
Aug 18, 2026
10c4841
test(e2e): update settings and MCP journeys for the tabbed SDK console
Aug 18, 2026
6b3ed2f
feat(client): compact Settings dialog, split capability tabs, and hid…
Aug 18, 2026
273c2a2
feat(client): drop manual path entry and target new Sessions per work…
Aug 18, 2026
47900d6
style(client): align the workspace disclosure marker with the heading…
Aug 18, 2026
e964d21
style(client): enlarge the workspace caret and flatten the new-sessio…
Aug 18, 2026
e5e6742
style(client): enlarge the workspace caret to match the new-session g…
Aug 18, 2026
682b7b7
feat(client): use the Qoder app icon for the brand mark and hero orb
Aug 18, 2026
b887a4c
chore(client): title the home hero Qoder
Aug 18, 2026
4f431a3
fix(web-ui-showcase): harden session lifecycle and prompt state
Aug 20, 2026
783e02c
feat(showcase): 完善 TypeScript Web UI 样板
Aug 24, 2026
25cff3c
fix(showcase): guard checkpoint preview and public lockfile
Aug 24, 2026
94b3089
docs(web-ui-showcase): translate guides to English
Aug 28, 2026
6d9ddd0
fix(ci): install Playwright from showcase workspace
Aug 28, 2026
80002e1
fix(test): terminate production smoke server
Aug 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ jobs:
cache-dependency-path: typescript/package-lock.json
- run: npm ci
working-directory: typescript
- run: npx playwright install --with-deps chromium
working-directory: typescript/web-ui-showcase
- run: npm run check --workspaces
working-directory: typescript

Expand Down
6 changes: 6 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ this repository.

## Sample requirements

### Focused samples

Every sample must:

- Demonstrate one primary SDK concept.
Expand Down Expand Up @@ -63,6 +65,10 @@ Keep the TypeScript and Python versions behaviorally equivalent so readers can
switch between languages. When one concept has multiple independently copyable
variants, keep them in one sample directory and list every entry in its README.

### Comprehensive application templates

An application template may be language-specific when its framework and application architecture are part of what it teaches. It must demonstrate one coherent end-to-end application, keep SDK calls easy to locate, document module ownership, provide deterministic credential-free tests, and include an opt-in real-SDK smoke path.

## Running the checks

Run the same checks CI runs, and make sure they pass before opening a pull
Expand Down
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,12 @@
Runnable, focused examples for building applications with the Qoder Agent SDK.
Every sample is available in TypeScript and Python.

## Application templates

| Template | What it demonstrates | Language |
| --- | --- | --- |
| [Web UI showcase](typescript/web-ui-showcase) | A complete local project agent with Sessions, streaming, inline interactions, MCP, Hooks, Tasks, Credits, Checkpoints, errors, shutdown, and resume | TypeScript |

## Samples

| Sample | What it demonstrates | TypeScript | Python |
Expand Down
6 changes: 6 additions & 0 deletions README.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,12 @@
本仓库提供面向实际开发者的 Qoder Agent SDK 示例。每个场景同时提供
TypeScript 和 Python 实现。

## 应用样板

| 样板 | 展示内容 | 语言 |
| --- | --- | --- |
| [Web UI showcase](typescript/web-ui-showcase) | 中文浅色界面的本地项目 Agent;连续流式消息聚合显示,审批位于主界面,并覆盖 Session、MCP、Hooks、Task、Credits、Checkpoint、错误、退出和恢复 | TypeScript |

## 示例列表

| 示例 | 展示内容 | TypeScript | Python |
Expand Down
4 changes: 4 additions & 0 deletions typescript/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,7 @@ npm install

Run a sample with the script documented in its README; most use `npm start`.
Complete the repository-level setup before running a sample.

## Application template

[`web-ui-showcase`](web-ui-showcase) is a complete Fastify and React application template backed by the Qoder TypeScript SDK. Its Chinese light-theme product UI covers first-send Workspace selection, automatically available Sessions, SDK-backed Command and Skill discovery, project-scoped `@ Files`, semantic streaming, locally expandable Tool details, inline Approval and MCP elicitation, Task state, Credits, safe errors, snapshot recovery, and graceful shutdown. Model and Permission Mode are selected directly in the Composer; MCP, Hooks, and Raw Events live in the default-closed SDK Console, and `/mcp` opens its MCP tab. Eligible user messages expose a Checkpoint dry-run, impact review, and confirmed files/conversation rewind. Task state and server/API control adapters are included, but the current React product has no reachable Task controls. The Chinese sample README routes readers to copyable SDK examples, a source tour, deterministic acceptance tests, a product trial guide, and the optional real-account smoke.
Loading
Loading