# 沧溟 - 津渡 **Repository Path**: fangyu_fy/jindu ## Basic Information - **Project Name**: 沧溟 - 津渡 - **Description**: 以单文件分发为硬约束、以现代化人机交互为差异化竞争力、覆盖 Windows/macOS/Linux 三平台的串口调试工具。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-23 - **Last Updated**: 2026-09-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 津渡(Caming.Jindu) 津渡是团队项目沧溟(命名空间根 `Caming`)下的跨平台串口调试工具,产品定位为「单文件分发 + 现代化人机交互」:既保留国产串口工具"拷贝即用"的核心优势,又以清晰的信息架构、流畅的连接体验与克制的现代视觉纠正同类软件交互落后的通病。 ## 技术栈 | 层面 | 选型 | 决策记录 | | :--- | :--- | :--- | | 运行时 | .NET 10(LTS) | `docs/adr/lukan/ADR-0003-dotnet-10-lts-runtime.md` | | UI 框架 | Avalonia UI 11.3 | `docs/adr/lukan/ADR-0002-avalonia-ui-framework.md` | | 测试 | xUnit v3 + FluentAssertions + Moq | — | | 发布形态 | 三平台单文件(Windows 为单个 `Jindu.exe`) | `docs/adr/lukan/ADR-0005-single-file-distribution.md` | 全部决策的背景、备选与后果见 `docs/adr/lukan/ADR-0000-project-naming-caming-jindu.md` 至 ADR-0005。 ## 解决方案结构 ```text Caming.Jindu.sln ├── src/ # 产品代码(依赖关系见各项目 README) │ ├── Caming.Jindu.App/ # Avalonia 启动、视图与组合根 │ ├── Caming.Jindu.App.ViewModels/ # ViewModel 层(无 Avalonia 依赖) │ ├── Caming.Jindu.Core.Services/ # 会话、预设、解析、日志等业务规则 │ ├── Caming.Jindu.Core.Pipeline/ # 过滤器管道与帧解析状态机 │ ├── Caming.Jindu.Serial.Abstractions/ # 串口抽象契约 │ ├── Caming.Jindu.Serial.Windows/ # Windows 平台实现 │ ├── Caming.Jindu.Serial.MacOS/ # macOS 平台实现 │ ├── Caming.Jindu.Serial.Linux/ # Linux 平台实现 │ └── Caming.Jindu.Infra/ # JSON 源生成存储与路径抽象 └── tests/ ├── Caming.Jindu.Core.Tests/ # 服务与管道单元测试 ├── Caming.Jindu.Serial.Fake/ # 内存模拟串口(测试替身) └── Caming.Jindu.App.Tests/ # ViewModel 逻辑测试 ``` ## 构建与测试 ```bash dotnet restore dotnet build dotnet test --solution Caming.Jindu.sln ``` 由于测试栈基于 xUnit v3(Microsoft.Testing.Platform),`global.json` 已启用新的 `dotnet test` 体验,因此指定解决方案时需使用 `--solution` 参数而非位置参数;在添加首个测试用例之前,`dotnet test` 会以退出码 8(未发现测试)结束,属预期行为。 ## 开发约定 - 全程零反射、零动态代码生成(JSON 走 `JsonSerializerContext` 源生成,DI 走显式注册),以保证 Native AOT 路径始终畅通,约束与理由见 `docs/adr/lukan/ADR-0004-no-reflection-aot-discipline.md`。 - C# 注释与 `docs/` 下全部技术文档统一遵循 `.agents/skills/csharp-doc-style/SKILL.md` 的书写规范,文档的归属、命名与流转规则见 `docs/README.md`。 - 总体架构、分层职责与设计模式应用见 `docs/design/lukan/DESIGN-0001-technical-proposal.md`,里程碑与验收标准见 `docs/plans/lukan/PLAN-0001-jindu-milestones.md`。 ## 当前状态 M1 骨架已完成:12 个项目建立、引用关系按设计图装配、构建与测试宿主验证通过,尚无业务代码。