admin 1b68b1ac3f 项目管理界面:照 dsh-task-board 模式新建(目标=项目 · 只读复用现有看板 · 端口20100)
用户逐字:「不动现有任务会话看板 不是让你整体搬是照的他的模式做一个 项目管理的界面
          来管理 执行任务,目标等于项目」

- 新增 交付物/项目管理界面/{project-board.py,.html,-launch.py}
- 映射:目标→项目、任务类别→工作流、台账条目→卡片、会话→可跳转
- 数据源=现有看板已算好的 /board.json(⛔ 不重算、⛔ 不直读台账)
- 列=机制真实四态(待执行/执行中/有阻碍/已完成),⛔ 不硬套它那五列
- 现有看板 20099 / board.py / board.html 零改动
- 坑:pythonw.exe 下 sys.stdout is None ⇒ print/flush 崩(终端好、计划任务死)⇒ 加 _say() 兜
2026-10-06 08:23:15 +08:00

工作区目录规范

本工作区(E:\ProgramData\AIProject\aliyun-dsh-server)的文件落位规则。新增任何文件前,先按本文决定放哪;根目录不再新增散落文件。


一、根目录白名单(只允许这几类)

留在根的条目 移走会出什么事
CODEBUDDY.md 会话启动靠它加载项目指令,移走 = 每次会话失忆
state.py 状态快照入口,CODEBUDDY.md §2 写死引用该路径
接续入口_*.md state.py 用 os.listdir(工作区根) 扫描,移走即扫不到 ⇒ 新会话第一个信号就错
README.md 本规范
scripts/ 运维脚本(docs-sync-check.sh 等)
.workbuddy/ .codebuddy/ 记忆 / 钩子 / 条件规则,工具自管
.wbapp_*.genie WorkBuddy 宿主应用状态文件
结构目录 docs/、交接单/、tmp/、待清理/、归档/

⛔ 线目录不进根 —— 一条工作线的多份配套方案,放 docs/<线名>/(同级引用天然有效);该线彻底冷却后再整体移入 归档/。

二、目录结构与职责

aliyun-dsh-server/
├── CODEBUDDY.md                  项目指令(自动加载)
├── README.md                     本规范
├── state.py                      状态快照(1 次调用代替十几轮探索)
├── 接续入口_*.md                  工作线唯一入口(必须留在根)
├── docs/                         正式文档,按主题分 8 类
│   ├── 覆盖网络/     ├── 集群与实例/    ├── 客户端与桌面/
│   ├── 会话与接续/   ├── 插件与平台/    ├── 外部接入/
│   ├── 调研与审计/   └── 分布式数据链路/
├── 交接单/                        交接单_*.md、接续包_*.md
├── scripts/                      运维脚本
├── tmp/                          临时产物(本工作区专用)
│   ├── 历史过程目录/               一次性过程目录(_tmp_seqNN 等)
│   ├── 散落临时文件/               一次性脚本与命令输出
│   └── 本次整理-20260919/          本次规整的对照表 / 回滚脚本 / 备份
├── 待清理/                        删除候选,等确认(确认后才真删)
│   └── 中间产物-20260919/
├── 归档/                          保留但不再用
│   ├── poc-dsh-local/  ├── office生成样例/
│   ├── 域名迁移_ai1net_20260919/  └── 积分图发布物/
└── .workbuddy/  .codebuddy/      工具目录(记忆 / 钩子 / 条件规则)

三、按性质决定落点

手上是什么 放哪
方案 / 报告 / 规范 / 复盘(正式文档) docs/<主题>/
交给下一棒的单子 交接单/
工作线入口(每个会话第一个读的) 根,命名 接续入口_<线名>_<日期>.md
一次性脚本、探针输出、中间证据 tmp/<任务名>-<日期>/
过程目录(一个任务一整个目录) tmp/历史过程目录/
不再引用但需留痕 归档/
疑似可删 待清理/,列清单等确认

四、命名

类型 规则 例
正式文档 <主题>_<YYYYMMDD>.md 集群化改造方案_20260914.md
交接单 / 接续包 交接单_<主题>_<日期>.md 交接单_组密钥加密_20260918.md
线入口 接续入口_<线名>_<日期>.md 放根
临时脚本 / 输出 _<用途>.<ext> _probe_instance_mem.sh
过程目录 _tmp_<序号或主题>/ _tmp_seq41/

日期一律 8 位 YYYYMMDD,不加分隔符。

五、临时文件

  • tmp/ 是本工作区自己的临时区;.workbuddy/tmp/ 由工具自管,两者不混用。
  • 一个任务一个子目录:tmp/<任务名>-<YYYYMMDD>/。
  • ⛔ 临时文件不进根、不散进 docs/。
  • 任务收尾时清掉不用的,只留正式产物。

六、归档与待清理

  • 线收官 ⇒ 该线文档归入 docs/<主题>/;多文件方案目录移入 归档/。
  • 删除一律不可逆 ⇒ 先移入 待清理/,出清单,确认后才真删。
  • 待清理/ 非空时,收尾报告需提一句它还剩什么。

七、路径变更怎么查

本次规整(2026-09-19)把 119 项从根目录归位:

  • 旧路径 → 新路径的权威对照:tmp/本次整理-20260919/移动对照表.md
  • 一键回滚:python tmp/本次整理-20260919/rollback.py
  • 归位后,同族文档已并入同一目录,同级引用天然仍有效;跨目录引用按对照表查。
  • 唯一活跃入口 接续入口_覆盖网络线_20260916.md 内的 163 处引用已同步改为新路径。

八、别和文档库搞混(两个「交接单」)

本工作区 文档库
路径 E:\ProgramData\AIProject\aliyun-dsh-server\ D:\github\dsh_shenxian\dsh-server-docs\
性质 工作现场:过程文档、临时产物、线入口 正式档案库:编号档案 调整方案/01–141、BRIEF.md、UI 规范、INDEX.md
版本控制 非 git 仓 git 仓(单一来源,改动只从本机推送)
改动前 抢全局执行锁(handoff-guard.sh --claim-exec) 抢锁 + 双端对账

⛔ 两个库都有 交接单/ 目录,内容不同:本工作区的是「工作线交接单 / 接续包」,文档库的是「正式归档交接单」(CODEBUDDY.md 里 交接单/README.md §二 指的是文档库那份)。动手前先确认路径在哪个库。

S
Description
No description provided
Readme
17 MiB
0 Stars 1 Watchers 0 Forks
Languages
Python 49.8%
JavaScript 34.7%
HTML 10.8%
Shell 4%
CSS 0.5%
Other 0.1%