Commit Graph
54 Commits
Author SHA1 Message Date
Tianyi Cui e5ac87454b Merge remote-tracking branch 'origin/master' into codex/remove-stdio-agent
# Conflicts:
#	AGENTS.md
#	docs/config-catalog.md
#	examples/echo-agent/README.md
#	packages/examples/stdio-demo/README.md
#	packages/examples/stdio-demo/src/index.ts
#	packages/examples/stdio-demo/tests/built-bin.e2e.ts
#	packages/examples/stdio-demo/tests/stdio-agent.spec.ts
#	scripts/run-gates.ts
2026-07-20 20:20:21 +08:00
Tianyi Cui 82ce9dfe0e Merge branch 'master' into codex/jsonl-zstd-persistence 2026-07-20 19:52:47 +08:00
Tianyi Cui 4cadf096ce Remove the stdio agent 2026-07-20 19:26:04 +08:00
pku-xht d59149a221 review fix: restore idle after between-turn cancellation 2026-07-20 12:51:44 +08:00
Tianyi Cui 7a4909f221 Merge remote-tracking branch 'origin/master' into codex/jsonl-zstd-persistence
# Conflicts:
#	.agents/notes/implemented/architecture/2026-07-19-zstandard-jsonl-session-logs.i18n.yaml
#	.agents/notes/implemented/architecture/2026-07-19-zstandard-jsonl-session-logs.md
#	.agents/notes/implemented/architecture/2026-07-19-zstandard-jsonl-session-logs.zh.md
#	docs/rfc/INDEX.md
#	packages/session-persistence/session-persistence-jsonl/README.md
2026-07-20 00:15:32 +08:00
Tianyi Cui bec7ad544b docs(rfc): record Zstandard JSONL framing 2026-07-20 00:06:39 +08:00
Tianyi Cui e8eddc7ef8 Rename RFCs to Agent Notes 2026-07-19 22:52:03 +08:00
Tianyi Cui 0893aaa7cb test: rename golden snapshot files to expected 2026-07-19 17:45:49 +08:00
Tianyi Cui 3760f198f3 docs: distinguish readline and TUI demos 2026-07-19 02:16:43 +08:00
Turtle 1119c537d0 feat(ui): add dedicated TUI package
Move the interactive pi-tui front door into @deepseek-ai/dsh-tui while keeping @deepseek-ai/dsh-stdio line-oriented for pipes. Select the terminal package in the demo app, preserve logger ownership, and cover the production Loader composition with a PTY smoke test.
2026-07-17 12:01:37 +08:00
imccyu 42b07a7022 feat(sdk): add developer project tooling
docs(rfc): propose SDK developer project tooling

feat: rename / docs

ci: fix windows gates

docs: revert
2026-07-15 23:17:29 +08:00
Tianyi Cui 3383c20c63 fix(i18n): refine Chinese prose and prompt validation 2026-07-15 20:39:24 +08:00
Tianyi Cui 9530a4ccfc Merge remote-tracking branch 'origin/master' into HEAD 2026-07-15 16:56:19 +08:00
Tianyi Cui 53fadcce8a docs(i18n): preserve modal emphasis across pair 2026-07-15 16:56:15 +08:00
imccyu 6f77da4c8c refactor: relocate demo app bundles to packages/examples/*-demo
Move the agent-spine bundle and the stdio/ACP/JSON-RPC app packages out of
core/ and ui/ into a new packages/examples/ group, renamed with a -demo
suffix so the npm name marks them as non-product surface:

  core/agent-core   -> examples/agent-spine-demo  (dsh-agent-spine-demo)
  ui/stdio-agent    -> examples/stdio-demo        (dsh-stdio-demo)
  ui/acp-agent      -> examples/acp-demo          (dsh-acp-demo)
  ui/jsonrpc-agent  -> examples/jsonrpc-demo      (dsh-jsonrpc-demo)

Update every code/config/test reference and reference-only doc mentions, and
regenerate module-graph, config-catalog, and doc-graphs. The jsonrpc bin
(dsh-jsonrpc-agent) and single-file exe (dsh-jsonrpc-agent-pkg) keep their
names; the SDK runtime-startup surface is reconciled separately.
2026-07-15 16:46:05 +08:00
Tianyi Cui 2e631a4ba2 Merge remote-tracking branch 'origin/master' into codex/fix-pr172-review-findings 2026-07-14 23:09:13 +08:00
Tianyi Cui 3caaa43797 fix(i18n): make translation contracts executable 2026-07-14 23:09:01 +08:00
Tianyi Cui 1fbb1cb229 docs: address cookbook translation review 2026-07-14 22:50:20 +08:00
Tianyi Cui 883948d1d5 Merge commit 'refs/review/pr-312-head' into codex/fix-pr172-review-findings
# Conflicts:
#	docs/i18n/translation-prompt.md
2026-07-14 22:46:36 +08:00
Tianyi Cui 19504f7e34 fix(i18n): resolve pairing workflow review findings 2026-07-14 22:38:17 +08:00
Ziya 3d0ad3db3e docs(i18n): cookbook batch — six bilingual pairs via the committed pipeline
六篇 cookbook 全部配对(adding-a-package / adding-a-tool /
adding-a-vendored-package / adding-an-llm-adapter /
extension-cookbook / responding-to-pr-review-on-a-stack):译文由
进仓流水线产出(translation-prompt.md 全占位符渲染 + 5 组金标
few-shot),双侧语言切换行齐备,六篇加入 manifest required(15)。
另补 prompt 的 When translating into English 一节(此前为占位):
标点/术语双向绑定/主语显化/惯用语概念还原/语域,与
translation-rules 的中文先行条款一致。
2026-07-14 07:23:53 -07:00
Tianyi Cui f0fc20ca42 docs: align prose with runtime contracts 2026-07-14 16:21:41 +08:00
Tianyi Cui 1ab64dba62 Merge remote-tracking branch 'origin/master' into codex/trim-ai-prose
# Conflicts:
#	docs/config-catalog.md
#	docs/development.i18n.yaml
#	docs/development.zh.md
#	docs/rfc/implemented/feature/2026-06-14-acp-agent-client-protocol.md
#	docs/rfc/implemented/feature/2026-07-06-sandbox.md
#	examples/AGENTS.md
#	examples/README.md
#	examples/acp-agent/README.md
#	examples/acp-agent/cordis.yml
#	examples/acp-agent/tests/acp.e2e.ts
#	examples/acp-agent/tests/escalation.e2e.ts
#	examples/sandbox-acp-agent/README.md
#	examples/sandbox-acp-agent/cordis.snapshot.yml
#	examples/sandbox-acp-agent/cordis.yml
#	examples/sandbox-acp-agent/tests/acp.snapshot.ts
#	packages/ui/acp-agent/src/bin.ts
#	packages/ui/acp/README.md
#	packages/ui/jsonrpc-agent/README.md
#	packages/ui/jsonrpc-agent/src/bin.ts
#	scripts/verify-translation-pairing.ts
2026-07-14 12:34:14 +08:00
Ziya 1d288f1bca docs(i18n): address ds-review-bot round-2 — switcher placeholders, regex anchor, contract completeness
新增 {{source_filename}}/{{source_filename_zh}} 占位符:切换行指令
可执行化,新配对(源文件尚无切换行)也必须生成(critical)。加粗
后空格规则限定于拉丁字母/数字,不再与全角标点规则冲突。日期匹配
锚定 basename 开头,release-notes-2026-* 类文件不再误判。金标
development.zh 补回 RFC 指引句与 agent 首现括注、pre-push 描述改
为 check:pre-push 调度器实况。术语表补回单文件可执行 RFC 配对在用
的 5 行(VFS/deploy root/peer dependency/serving surface/wheel)。
双语 README 的门禁清单补第 4 条(日期分界强制配对)。
2026-07-13 20:37:21 -07:00
Ziya 7756ed0869 docs(i18n): re-record README pair after master merge 2026-07-13 19:34:30 -07:00
Ziya 472fbb992b Merge remote-tracking branch 'upstream/master' into docs/i18n-capability
# Conflicts:
#	docs/i18n/README.i18n.yaml
#	docs/i18n/terminology.md
#	scripts/translation-pairing.manifest.json
2026-07-13 19:31:51 -07:00
Ziya bbb3955565 docs(i18n): classifier rule in the prompt; absorb PR #275 terminology rows
prompt 增补量词规则(数词修饰名词必须带量词:three-package seam→
由三个 package 构成的 seam),来自 jingtingxiang 对 v4-pro/GPT-5.4/
Opus-4.6 对照测试的质量评审。按 #275 收录三行术语:Cookbook→实操
手册(文档标题用语)、task id 保留英文(禁「任务 id」)、companion
tool→配套工具。#275 内容自此全部涵盖。
2026-07-13 19:14:10 -07:00
Tianyi Cui b49c37f83a docs(i18n): align single-exe terminology
Add canonical Chinese bindings for build target, deploy root, peer
dependency, serving surface, wheel, wrapper, and VFS so future translations
have one source of truth. Apply the existing runtime, plugin, artifact, and
pipeline bindings throughout every Chinese counterpart touched by this PR.

Require the first Chinese use of peer dependency to retain the English term
so readers can map it back to the package-manager concept without
reintroducing mixed prose throughout the document.

Rewrite mixed-language prose where the English term is not an identifier,
while retaining package names, paths, flags, pkg, single-exe, and other
literal names exactly. Explain VFS on first use and keep technical constraints
readable without inventing compatibility terminology.

Describe single-executable worker support as implemented behavior, including
the filesystem-string entry contract and CommonJS worker artifact required by
the pkg loader, and remove the obsolete bundled-but-unsupported limitation.

Regenerate pairing fingerprints and the generated catalog reference so the
mechanical documentation gates validate the revised English and Chinese
pairs. This keeps the terminology table authoritative and prevents the two
languages from drifting as the runtime documentation evolves.
2026-07-13 22:09:41 +08:00
imccyu ade150b719 python: deepseek-harness SDK and runtime carrier packages 2026-07-13 15:50:09 +08:00
Ziya 8a53f3d6f9 docs(i18n): address PR #172 review — terminology rulings and register fixes
#172 评审意见整改(修复落在本 stack 上层,随 stack 合入):
enforcement frontier 裁定为「执行红线」(与金标样例⑦一致),
「强制边界」入不要译作列,消除 translation-rules 与术语表的矛盾;
orphan 裁定为「遗留」(崔),孤立/孤儿均入禁项,orphan branch 仍
沿用 git 官方「孤立分支」;README.zh 推进段与 translation-rules.zh
的门禁句按金标语体重写(崔);style-samples ⑥ 的「文件内容完全一
致」改为准确描述 blob hash 与伴随记录的比对机制(bot)。
2026-07-12 23:10:43 -07:00
Ziya 8befd9b88c docs(i18n): harden the pipeline prompt — switcher flip, code-comment hard rule, em-dash preference, three new few-shots 2026-07-12 22:45:26 -07:00
Ziya 1583cb47a0 docs(i18n): reconcile gold pairs with master's EN-side drift
金标译文写于 0710 的 master,英文侧此后有漂移,按最小更新补齐:
development.zh 的 Node 引擎下限句、CI 门禁节改写为八任务车道描述、
代码块与英文侧逐字节同步;README.zh 恢复 graph-atlas 链接;
style-samples 的目录链接随 events-and-services.md 拆分改指 events.md。
requiredSince 推至 2026-07-14:0705–0713 间已合入的两篇无配对 RFC
成为存量(原分界在其合入时未生效,回溯会红在与本 PR 无关的文件上)。
2026-07-12 21:14:47 -07:00
Ziya ba4e39f10d docs(i18n): adopt jingtingxiang's calibrated terminology table and five gold pairs
术语表整体采用 jingtingxiang 的重构版(PR #244):按缩写类/英文类/
双语类分节、通用规则前置、首次出现与不要译作独立列;保留本 stack
的 mock/package/counterpart 与 agent 组合词裁定行。五组金标译文按
其定稿采用(development、i18n README、translation-rules、双语 RFC、
根 README),README.zh 吸收 PR #249 的两处措辞(「智能体辔架」括注
与其自身新表冲突,未采用)。translation-prompt.md 增补 Few-shot 金
标一节:声明这 5 组配对即流水线的整文档级 few-shot,注入方式为多轮
示例对话。style-samples 的 blob hash 译法按新表回改为保留英文。

Supersedes the .zh.md content of #244/#249/#264.
2026-07-12 21:07:45 -07:00
Ziya c74cc5a609 docs(i18n): credit the prompt and few-shot examples to jingtingxiang 2026-07-12 20:41:10 -07:00
Ziya 8ad6dbc359 docs(i18n): commit the pipeline translation prompt as a repo asset
自动翻译流水线的 prompt 模板进仓(docs/i18n/translation-prompt.md):
占位符契约(source_lang/target_lang/terminology 三个,旧 %% 分段协议
废弃)+ 逐字模板正文(三段 XML 输出、分类自审、8 组正误例)。列入
配对排除清单;skill 与流水线自此共用同一套规则文件。
2026-07-12 20:34:19 -07:00
Ziya 1a4ef8c8d9 docs(i18n): restructure terminology table — 首次出现/不要译作 as real columns
自由文本备注里的「首次出现可写:」「不要译作:」提为独立列,机器可
直接按列执行;表头补各列语义。按评审意见收录 counterpart、sidecar
record(禁「旁挂记录」)、source of truth 裁定行,agent 组合词与
seam 括注规则细化。
2026-07-12 20:34:05 -07:00
Ziya b43a9e9ab1 docs(i18n): package stays English per ruling 2026-07-05 06:41:04 -07:00
Ziya 60cfec6073 docs(i18n): retarget sample-excerpt links to resolve from docs/i18n
Relative links copied into an excerpt resolve from the excerpt's home,
not the source doc's — verify-md-links caught the moved-directory break.
2026-07-05 06:33:24 -07:00
Ziya daaddcaaf3 docs(i18n): absorb round-4 gold samples, terminology-corrected
Architecture pointer paragraph, two defensive patterns, and the
prefer-real-over-mock rule join the samples. Recorded per the
table-wins rule: agent/mock/LLM stay English, registry renders 注册表,
and code-spanned identifiers (event names, status values, package
names) survive verbatim — that boundary is now a stated sample note.
orphan row notes the process-context rendering 孤儿进程.
2026-07-05 06:24:56 -07:00
Ziya 74699d25ba docs(i18n): mock stays English per ruling; sample corrected to match 2026-07-05 06:18:08 -07:00
Ziya 4f85274237 docs(i18n): absorb the with-key-testing gold sample; table rules mock and real-API
Gold sample recorded terminology-corrected per the table-wins rule (agent
stays English, cancellation renders 取消), and that rule itself lands in
the samples' notes. New table rows: mock -> 模拟; API row notes real-API
as 真实接口 when attributive.
2026-07-05 06:17:14 -07:00
Ziya abb145d99f docs(i18n): translation capability — style samples, voice rules, two-pass skill
Human-annotated gold pairs land as docs/i18n/style-samples.md (bilingual
by construction, excluded from pairing) and outrank prose tone rules.
translation-rules gains a Voice section; shape stays gate-owned so the
writer optimizes for natural Chinese. The skill's translate step becomes
two passes: native-author writing, then clause-level fidelity check.
Terminology rulings: hash -> 哈希 (blob 哈希/提交哈希), HMR and fiber
confirmed as tabled.
2026-07-05 06:03:14 -07:00
Ziya 0bccb483a5 docs(i18n): state the requiredSince grandfather semantics explicitly
Files dated before the cutoff are the grandfathered backlog by
definition (including cutoff-eve creations); backdating is a
review-visible RFC-convention violation, not a loophole.
2026-07-04 05:54:22 -07:00
Ziya f5774a2a26 feat(i18n): new documents merge bilingual — the requiredSince date frontier
New docs must not enlarge the translation backlog: any date-named
document (yyyy-mm-dd-*.md, i.e. an RFC) dated on/after the manifest's
requiredSince cutoff must merge with its complete pair, independent of
the required back-catalog list. Cutoff ships at 2026-07-05, so the
existing 2026-07-04 RFC wave is grandfathered into the batch backlog
and everything after is bilingual from birth.

The date comes from the filename, deliberately: it is deterministic
from tree content alone — no git history (shallow CI checkouts hold),
no PR base ref — matching the gate's pure-content design. A proposal
dated before the cutoff that merges later escapes the rule; that is
the graceful grandfathering of in-flight work, not a hole.

--list marks such files (required by date); contract and RFC updated
in both languages and the pairs re-recorded.
2026-07-04 05:41:18 -07:00
Ziya ec05295a0c docs: equal-authority pairing with sidecar consistency records
Redesign per review: neither language is canonical. A pair is three
sibling files — foo.md, foo.zh.md, foo.i18n.yaml — and either language
may be authored first (a Chinese-first RFC is as legitimate as an
English-first one). The sidecar record holds the FULL git blob hash of
both sides as of the last confirmed-consistent state, replacing the
in-file one-directional fingerprint; editing either side without
re-confirming the pair goes red. New --write mode re-records a pair
after both sides are brought in line, making the confirmation a
reviewable yaml diff. Pairs merge whole (completeness enforced).

- gate rewritten around pair anchors (union of .zh.md and .i18n.yaml
  remnants) so half-deleted pairs are caught from either side; red/green
  proven for en-only edit, zh-only edit, missing record, and a record
  for an excluded file
- verify-rfc-classification now skips .zh.md counterparts (same RFC,
  indexed via its English filename; the pairing gate owns consistency)
- docs/i18n/README.md + translation-rules.md reframed bidirectionally
  (terminology table binds both directions; typography section governs
  the Chinese side); zh counterparts updated; skill workflow updated
- RFC amended to the shipped design, records the English-canonical
  in-file-fingerprint model as considered-and-revised; RFC translated
  (docs/rfc/.../2026-07-02-bilingual-docs-and-pairing-gate.zh.md) and
  added to the required frontier
- generated docs stay excluded with the follow-up recorded: teach the
  generators to emit Chinese, then de-list
2026-07-03 07:41:24 -07:00
Ziya bb10931478 docs: apply translation-review findings across the four zh files
A four-way parallel review of every EN<->ZH pair (one reviewer per pair,
findings verified before applying) surfaced:

- terminology: stale-sense 过期 -> 陈旧 in development.zh.md (the table
  reserves 过期 for expired); GitHub workflow -> GitHub 工作流 per the
  table; dropped the invented 质量 in 'CI gates' -> CI 门禁; taxonomy ->
  分类体系 in translation-rules.zh.md; skill first-occurrence annotation
  added in the i18n README
- verbatim spans: <current-blob> restored inside an inline code span the
  translation had localized
- typography: full-width dashes normalized to no surrounding spaces
  across all four files (the rules' own MUST); one 顿号 between clauses
  -> comma; 顿号 before 以及 dropped
- fidelity/wording: must-not rendered 不得 (not 不应); local setup ->
  本地环境搭建; enforce -> 强制执行; verified surface -> 受验证的范围;
  batch-lands-before-neighbors nuance restored; 更新粘贴内容
2026-07-03 02:53:08 -07:00
Ziya 0282778126 docs: one more stale-sense 过期 -> 陈旧 in the i18n README translation 2026-07-03 02:33:42 -07:00
Ziya f508ff2bf5 docs: freshness/stale renderings per MDN HTTP-caching zh precedent
freshness -> 新鲜度 confirmed against MDN's zh HTTP caching docs (freshness
lifetime -> 新鲜度生命周期); precedent now cited in the table. The same
source pairs stale with 陈旧, not 过期 (过期 maps to expired), so the stale
entry and the i18n README translation now say 陈旧译文.
2026-07-03 02:32:54 -07:00
Ziya 50a32cdcb1 docs: extend terminology table with i18n mechanism terms
Every new term the bilingual-docs work introduced, with precedented
renderings where precedent exists:

- orphan -> 孤立 (git's official zh l10n renders orphan as 孤立, e.g.
  孤立分支 — not 孤儿; the translations were corrected to match)
- info string -> 信息字符串 (CommonMark zh convention; corrected in the
  i18n README translation)
- fenced code block -> 围栏代码块 (MDN zh), staged -> 暂存 (git zh),
  event-sourced -> 事件溯源 (DDD convention), smoke test -> 冒烟测试,
  fail-fast -> 快速失败, plus fingerprint/pairing/freshness/stale/contract
- mechanism names coined by this repo, marked as such in the notes:
  language switcher -> 语言切换行, structural signature -> 结构签名,
  enforcement frontier -> 强制边界
- keep-English entries so future translators don't guess: backlog,
  blob hash, CI, doc-sync, e2e, monorepo, PR, worktree
2026-07-03 02:24:17 -07:00
Ziya a899226397 docs: harden pairing gate per review — structural signature, not counts
Review findings addressed:

- The gate compared only heading and code-block COUNTS, understating the
  contract it claims to enforce. It now compares ordered structural
  signatures: heading depths, fenced code blocks verbatim (info string +
  content), table column counts, list kinds, and every link target except
  the language switcher. Proven red on a heading demotion, a reworded
  code-block comment, and a retargeted link; green on all existing pairs.
- Stated the gate's limit explicitly (header comment + docs/i18n/README.md
  both languages): green means fresh and structurally sound, NOT verified —
  translation quality is the reviewer's half of the contract.
- first-line extraction no longer silently drops the last character of a
  newline-less file (split with limit instead of indexOf slice).
- isExcluded documents the trailing-slash-is-the-boundary invariant.
- Rollout guidance: grow the required frontier at the pace translation
  review is resourced.
- dsh-code-review's doc-sync sublist is now the exhaustive chain.

docs/i18n/README.zh.md updated via the minimal-diff workflow and
re-fingerprinted.
2026-07-03 02:06:57 -07:00