Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 2 additions & 2 deletions .agents/skills/write-tui/DESIGN.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,13 +83,13 @@
Select a model (type to search)
Tab toggle provider · ↑↓ navigate · Enter select · Esc cancel ← hint 首项即 Tab 切换
← 空行
All Pythinker Code openai ← tab 条:激活项填充背景(primary 底 + text 字 + bold),其余 textMuted
All Pythinker Code openai ← tab bar: active uses selectionBg + inverseText + bold; others use textMuted
← 空行
❯ ...
```

- tab 条位置:**在 hint 行下方**,且**上下各一空行**(与 hint、与列表都隔开)。
- 激活 tab`chalk.bgHex(colors.primary).hex(colors.text).bold(\` ${label} \`)`;非激活:`chalk.hex(colors.textMuted)`。两者可见宽度一致,切换不抖动。
- Active tab: `chalk.bgHex(colors.selectionBg).hex(colors.inverseText).bold(\` ${label} \`)`; inactive tab: `chalk.hex(colors.textMuted)`. Both have the same visible width.
- 第一个 tab 恒为 `All`(聚合所有 provider);**默认停在 `All`**。仅当显式传 `initialTabId`(如 `/provider` 新增完跳转)才停在指定 provider tab。
- `Tab` / `Shift+Tab` 循环切换;hint 行首项即 `Tab toggle provider`。
- 当前模型在所在 tab 内仍以 `❯` + ` ← current` 标记,切 tab 不丢失定位。
Expand Down
5 changes: 5 additions & 0 deletions .changeset/calm-doctors-check.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@pymodel/pythinker-code": patch
---

Make `pythinker doctor` validate `config.toml` with the current schema in every engine mode.
5 changes: 5 additions & 0 deletions .changeset/refresh-cli-tui.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@pymodel/pythinker-code": patch
---

Update the terminal interface colors, transcript hierarchy, welcome panel, and workflow progress states.
5 changes: 5 additions & 0 deletions .changeset/refreshed-new-chat-icon.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@pymodel/pythinker-code": patch
---

Use a refreshed New Chat icon across desktop and mobile navigation.
5 changes: 5 additions & 0 deletions .changeset/workspace-file-explorer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@pymodel/pythinker-code": minor
---

Add a sidebar Explorer for browsing and opening workspace files.
69 changes: 69 additions & 0 deletions CONTEXT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# Pythinker Code

Pythinker Code is a provider-agnostic AI coding agent for terminal, browser, desktop, and editor workflows.

## Language

**Expert Talk**:
A structured conversation between two user-selected AI models that returns one fused answer.
_Avoid_: Debate mode, fusion mode

**Expert Talk pair**:
The two ordered configured model IDs saved for future Expert Talk runs.
_Avoid_: Global pair, secondary model

**Configured model ID**:
The stable catalog key that identifies one configured model record and can be stored in an Expert Talk pair.
_Avoid_: Display name, provider model name, loose alias

**Effective model binding**:
The immutable execution identity produced for one Expert Talk role after current catalog and routing validation.
_Avoid_: Selected model, live alias

**Pair collapse**:
An Expert Talk admission failure where two configured selections resolve to the same effective execution target.
_Avoid_: Duplicate model choice

**Expert Talk admission**:
The pre-acceptance validation that resolves and freezes an eligible, distinct pair for one run.
_Avoid_: Provider ping, opening stage

**Fusion Lead**:
The first model in an Expert Talk pair. It participates as an equal expert, then its immutable model binding supplies a fresh inference for fusion.
_Avoid_: Architect, judge, Model 1

**Peer Expert**:
The second model in an Expert Talk pair. It participates as an equal expert in opening and peer review but does not own fusion.
_Avoid_: Secondary model, Model 2

**Expert Talk activation**:
The transient intent to use Expert Talk for the next accepted user turn.
_Avoid_: Expert Talk mode, persistent activation

**Expert Talk run**:
One recorded Expert Talk execution owned by one accepted user turn.
_Avoid_: Resumed run, shared run

**Expert Talk exchange**:
Two independent openings followed by one symmetric peer review between the run-scoped Fusion Lead and Peer Expert.
_Avoid_: Debate, adaptive conversation

**Fused answer**:
The single direct response produced by a fresh Fusion Lead inference after the Expert Talk exchange.
_Avoid_: Verdict, winning answer

**Fusion notes**:
Structured consensus, divergence, uncertainty, and attribution stored with an Expert Talk run but excluded from the normal assistant answer.
_Avoid_: Diagnostic appendix, debate transcript

**Expert Talk stage artifact**:
An immutable complete or partial opening, review, or fusion output owned by one role and stage and kept outside the normal transcript.
_Avoid_: Participant message, hidden memory

**Expert Talk result**:
The versioned successful-run record that contains the fused answer and separate fusion notes.
_Avoid_: Meeting transcript, winning opinion

**Expert Talk retry**:
A new run for the same accepted turn input that reruns admission and every stage without resuming participants or reusing artifacts.
_Avoid_: Resume, fusion-only retry
4 changes: 2 additions & 2 deletions apps/pythinker-code/dist-web/.web-bundle-manifest.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"sourceHash": "4c25680541a5da27d1f06c12171abdcee797d428d042d4583a4a6ed94d7db4e1",
"sourceFileCount": 410
"sourceHash": "09c4da42042f6a0112a3baa1aecd6062c9f46f6e848edab9c077c2076bfdf819",
"sourceFileCount": 411
}

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading