🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

战役推演复盘台 snow-wind-001/Gentactix-DSH

DeepSeek Harness
snow-wind-0019 天前有提交已提供中文文档扫描:含敏感能力

Gentactix 的deepseek harness版本,加入了一些新功能,着重围绕红军长征,抗日战争,抗美援朝战役实现战役推演展示。

33.6/100
综合分
5
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/25 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查未通过:缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add snow-wind-001/Gentactix-DSH
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · other
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 9 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装

缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包gentactix(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/25 02:11:55

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件读取剪贴板或密钥环境变量发起外部网络请求
查看扫描证据(共 16 处,展示前 16 条)
  • 写入本地文件
    frontend/electron/main.cjs:8
    fs.mkdirSync(data, { recursive: true }); app.setPath('userData', data);
  • 读取本地文件
    frontend/electron/main.cjs:17
    if (fs.existsSync(path.join(candidate, 'AGENTS.md')) && fs.existsSync(path.join(candidate, 'gentactix'))) return candidate;
  • 读取本地文件
    frontend/electron/main.cjs:22
    try { fs.accessSync(directory, fs.constants.W_OK); return directory; }
  • 写入本地文件
    frontend/electron/main.cjs:25
    fs.mkdirSync(workspace, { recursive: true });
  • 发起网络请求
    frontend/electron/main.cjs:59
    try { response = await fetch(`${BACKEND_URL}/api/health`, { signal: AbortSignal.timeout(1500) }); } catch { }
  • 写入本地文件
    frontend/electron/main.cjs:74
    fs.mkdirSync(data, { recursive: true }); cwd = data;
  • 执行外部命令固定命令
    frontend/electron/main.cjs:76
    const probe = spawnSync('conda', ['run', '-n', CONDA_ENV, 'python', '-V'], { encoding: 'utf8' });
  • 写入本地文件
    frontend/electron/main.cjs:80
    const logDirectory = path.join(app.getPath('userData'), 'logs'); fs.mkdirSync(logDirectory, { recursive: true });
  • 执行外部命令来自配置/变量
    frontend/electron/main.cjs:82
    backend = spawn(executable, commandArgs, { cwd, env, stdio: ['ignore', log, log] }); fs.closeSync(log);
  • 发起网络请求
    frontend/electron/main.cjs:89
    const response = await fetch(`${BACKEND_URL}/api/health`, { signal: AbortSignal.timeout(1500) });
  • 发起网络请求
    frontend/src/api.ts:15
    const res = await fetch(BASE + path, {
  • 读取密钥环境变量
    plugins/dsh-gentactix/index.mjs:21
    const token = process.env.GENTACTIX_CONTROL_TOKEN;
  • 发起网络请求
    plugins/dsh-gentactix/index.mjs:42
    const response = await fetch(bridge + '/tool', {
  • 写入本地文件
    plugins/dsh-gentactix/index.mjs:178
    writeFileSync(readyFile, JSON.stringify({ port: server.address().port, plugin: name }), { mode: 0o600 });
  • 发起网络请求
    src/index.ts:29
    async fetch(request: Request, env: Env): Promise<Response> {
  • 发起网络请求
    src/index.ts:36
    return container.fetch(request);
扫描于 2026/11/3(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

README

由 DeepSeek 最新模型翻译生成
GenTactix-DSH 历史战役推演与决策复盘工作台。基于 Vue 3、Electron、FastAPI 和 DeepSeek Harness(DSH),把战役资料、地图态势、逐回合推演与决策轨迹放进同一界面,面向历史教学、想定讨论和软件研究。 启动与战役选择 主要功能 - 战役选择与想定创建:启动后显示中国及周边地图;当前源码资料库包含长平之战、九场抗美援朝战役、15 个红军长征场景和 20 个抗日战争场景,也可通过问答生成想定。 - 地图与态势:展示双方单位、移动轨迹及状态;有对应数据时显示地形要素、射界、远程火力范围、补给节点与路线、人员和装备损失。缺失数据保留为未知。 - 可重放局部教学:20 个抗日战争场景可选固定初态,按 7 类教学规则结算命令、人员装备账、库存与目标;支持同一初态的命令对照。合成编组与系数未作史实标定,详见设计与边界。 - 逐回合推演:设置回合时长,由程序维护时钟;保留单位名单与状态,并检查异常坐标、数值及单位遗漏。可开启几何裁决,约束位移、补给连通与包围判定。 - DSH 智能体与插件:采用 Native 工具模式,支持持久角色会话、只读领域工具、运行事件观测、预算控制和在途取消;保留应用层 JSON 工具兼容模式。
展开完整文档(README 剩余 1 节)
GenTactix-DSH

历史战役推演与决策复盘工作台。基于 Vue 3、Electron、FastAPI 和 DeepSeek Harness(DSH),把战役资料、地图态势、逐回合推演与决策轨迹放进同一界面,面向历史教学、想定讨论和软件研究。

启动与战役选择

主要功能

- 战役选择与想定创建:启动后显示中国及周边地图;当前源码资料库包含长平之战、九场抗美援朝战役、15 个红军长征场景和 20 个抗日战争场景,也可通过问答生成想定。
- 地图与态势:展示双方单位、移动轨迹及状态;有对应数据时显示地形要素、射界、远程火力范围、补给节点与路线、人员和装备损失。缺失数据保留为未知。
- 可重放局部教学:20 个抗日战争场景可选固定初态,按 7 类教学规则结算命令、人员装备账、库存与目标;支持同一初态的命令对照。合成编组与系数未作史实标定,详见设计与边界。
- 逐回合推演:设置回合时长,由程序维护时钟;保留单位名单与状态,并检查异常坐标、数值及单位遗漏。可开启几何裁决,约束位移、补给连通与包围判定。
- DSH 智能体与插件:采用 Native 工具模式,支持持久角色会话、只读领域工具、运行事件观测、预算控制和在途取消;保留应用层 JSON 工具兼容模式。
- 战棋指挥:点击单位选动作,在地图选择目的地或敌方目标;支持单位与全局自然语言草稿、命令队列、持续移动、撤销和逐单位执行回执。按需启用独立的 DSH 原生单位 Agent,人工命令优先。历史回放可建立独立开放分支。
- 决策复盘:查看战报、关键决策与转折点,结合轨迹进行归因分析;支持几何反事实与成对模型分支,分支结果不直接覆盖主战局。
- 资料与存档:本地史料检索、战役裁决参数、会话检查点、恢复以及 JSON 导入导出。
- 模型配置:菜单中编辑 vLLM / OpenAI 兼容接口或 DeepSeek 接口、模型、密钥、超时和角色预算;配置加密保存。

新资料的编辑入口:红军长征、抗日战争。资料卡保留来源、争议和未知值;新增几何参数为教学估计。旧版用户需安装新版桌面包,单独拉取源码不会更新已安装程序。

推演工作台,使用固定响应进行界面验收

战役与场景目录

当前源码目录共 45 个条目:长平之战 1 个、红军长征 15 个、抗日战争 20 个、抗美援朝 9 个。下表名称链接到对应史料卡,卡内提供部队、过程、来源及数据争议;时间沿用资料目录的记载精度。总览、阶段与子战斗分别建档,不能把它们的兵力或战果重复相加。

| 使用方式 | 适合的任务 | 当前支持 |
| 开放推演 | 围绕历史背景提出不同决策,观察模型生成的后续态势 | 全部 45 个目录条目;初态由模型生成,可选几何裁决 |
| 历史回放 | 结合来源讲解战役过程与关键决策 | 全部 45 个目录条目;不强制按历史伤亡总数扣减单位 |
| 固定局部教学 | 从相同初态比较命令,检查账目、补给和程序目标 | 抗日战争 20 个条目各有 1 份合成局部演习;仅开放推演模式可选 |

固定局部演习统一采用 6 个教学编组、30 分钟回合、最多 4 回合,使用 7 类规则。其人员、装备、局部位置和系数是教学假设,不能代替整场历史会战的复原。下表「局部规则」指该演习的实际规则类别,其余「教学关注」供讨论与选题,不代表所有机制均已实现。会战之间目前不会自动继承态势。

古代战争:长平之战(1 个)

秦赵围绕上党的长期争夺,以公元前 260 年决战为核心,适合认识坚守、诱敌、分割与补给封锁。

| 场景 | 时间 | 简介与教学关注 |
| 长平之战 | 公元前262—前260年 | 山西高平一带的秦赵作战;讨论换将、追击、两翼断后与粮道。资料区分《史记》记载数和现代争议,HP 不代表史载人数。 |

红军长征(15 个)

以「战略转移阶段+关键节点」组织,包含中央红军、红四方面军、红二与红六军团、红二十五军的并行战线,以及抵陕后的巩固场景。它们不是一支部队按表顺序经历的 15 场战斗。

| 编号与场景 | 资料时间范围 | 简介与教学关注 |
| LM01 · 湘江战役 | 1934.11.25至1934.12.01 | 全州、兴安、灌阳一线的渡江与阻击;讨论辎重行军、渡口通行和掩护部队的时间分配。 |
| LM02 · 强渡乌江 | 1935.01.01至1935.01.06 | 江界河等多渡点行动;讨论先遣夺渡、工兵架桥与后续梯队通过的衔接。 |
| LM03 · 四渡赤水 | 1935.01.19至1935.03.22 | 土城、扎西、遵义及赤水河渡点间反复机动;讨论情报判断、路线调整与摆脱合围。 |
| LM04 · 中央红军巧渡金沙江 | 1935.05.03至1935.05.09 | 中央红军在皎平渡等地组织渡江;讨论船只运力、渡场选择与主力集中。 |
| LM05 · 强渡大渡河与飞夺泸定桥 | 1935.05.24至1935.05.29 | 安顺场强渡与泸定桥夺桥两个相接节点;讨论渡运瓶颈、分路行动和夺桥时限。 |
| LM06 · 懋功会师与雪山草地转移 | 1935.06.12至1935.09.12 | 达维、懋功会师及雪山草地转移;讨论并行指挥、路线分歧与非战斗消耗。 |
| LM07 · 包座战役 | 1935.08.29至1935.09.01 | 求吉寺、达金寺及附近河谷的围点打援;讨论围攻和阻援兵力的分配。 |
| LM08 · 腊子口战斗 | 1935.09.16至1935.09.17 | 狭窄隘口的正面牵制与攀崖迂回;讨论地形约束、隐蔽接近和协同突击。 |
| LM09 · 红二十五军长征 | 1934.11.16至1935.09.16 | 独树镇、庾家河、鄂豫陕根据地至陕北的独立战线;讨论转移、立足与北上。 |
| LM10 · 嘉陵江战役 | 1935.03.28至1935.04.21 | 红四方面军渡嘉陵江并向剑门关等地发展;讨论多点渡河与登陆场扩展。 |
| LM11 · 百丈关战役 | 1935.11 | 红四方面军南下中的攻防转折;讨论突出战线、连续反击与续战能力,保留日期异文。 |
| LM12 · 乌蒙山回旋战 | 1936.02.27至1936.03.28 | 红二、六军团在黔滇边山地回旋;讨论路线选择、敌情误判和脱离追堵。 |
| LM13 · 红二六军团抢渡金沙江 | 1936.04.25至1936.04.28 | 红二、六军团经石鼓及附近渡口北上;讨论分渡点调度,区别于1935年中央红军渡江。 |
| LM14 · 直罗镇战役 | 1935.11.20至1935.11.24 | 中央红军到达陕北后的巩固作战;讨论诱敌、河谷合围与阻援,不改写其长征终点。 |
| LM15 · 甘孜会师至三大主力会师 | 1936.07.01至1936.10.22 | 从甘孜集结、整编到会宁与将台堡会师;讨论多路北上、接应和会师时序。 |

详细索引与编辑表见长征资料入口和文件索引。1935年中央红军皎平渡与1936年红二、六军团石鼓渡江分别建档;直罗镇是抵陕后的巩固场景。

抗日战争(20个)

以「战略阶段×战场空间」组织正面、敌后和西南跨境战场。三次长沙分别建档;平型关、台儿庄、万家岭、衡阳、车桥分别与其上级总览关联。1944年的局部反攻与日军战略进攻可以同时发生,不按年份自动推定战场态势。

| 编号与场景(资料时间范围) | 简介与教学关注 | 局部规则 |
| AJ01 · 淞沪会战1937.08.13至1937.11.12 | 上海市区、吴淞—罗店与杭州湾多向战场;讨论抗登陆部署、预备队使用和撤退时机。 | 迟滞防御 |
| AJ02 · 太原会战1937.09至1937.11 | 平型关、忻口、娘子关至太原的防御;讨论正面牵制与侧后交通袭扰的配合。 | 迟滞防御 |
| AJ03 · 平型关伏击战1937.09.25 | 第115师在乔沟公路的伏击;讨论隐蔽部署、纵队分割和撤出,不等同整个平型关防御。 | 目标攻坚 |
| AJ04 · 徐州会战总览1938.01至1938.05 | 苏北、鲁南与徐州铁路枢纽的多向会战;讨论战线联动、合围风险与主力转移。 | 突围转移 |
| AJ05 · 台儿庄战役1938.03.23至1938.04.07 | 台儿庄城镇坚守与外围反击;讨论守城持续时间和外围部队行动的衔接。 | 目标攻坚 |
| AJ06 · 武汉会战1938.06至1938.10 | 长江沿线及鄂豫皖赣广大地域的迟滞;讨论要塞、交通线与战略转移的关系。 | 迟滞防御 |
| AJ07 · 万家岭战役1938.09下旬至1938.10 | 武汉会战中的山地合围;讨论包围、阻援和完成歼灭所需的条件。 | 目标攻坚 |
| AJ08 · 第一次长沙会战1939.09.14至1939.10 | 湘北、鄂南、赣北三向作战;讨论逐次抵抗、外线反击和进攻补给。 | 迟滞防御 |
| AJ09 · 第二次长沙会战1941.09.07至1941.10.09 | 湘北至长沙、株洲方向的攻防;讨论防线被突破后的重组与反击。 | 突围转移 |
| AJ10 · 第三次长沙会战1941.12.24至1942.01.16 | 长沙城防和外翼行动;讨论前沿迟滞、城防坚持与外围合围的时序。 | 目标攻坚 |
| AJ11 · 桂南会战与昆仑关攻坚1939.11至1940.01 | 桂南交通线与昆仑关反攻;讨论山地据点、周边制高点和增援通道。 | 目标攻坚 |
| AJ12 · 豫湘桂战役总览1944.04至1944.12 | 河南、长衡、桂柳三段会战总览;讨论跨战区指挥、铁路交通和纸面兵力与有效战力的差别。 | 突围转移 |
| AJ13 · 衡阳保卫战1944.06至1944.08.08 | 豫湘桂战役中的孤城防御;讨论工事、补给消耗、救援预期和撤退选择。 | 迟滞防御 |
| AJ14 · 百团大战1940.08.20至1941.01.24 | 破袭正太铁路等交通线,以及后续反扫荡;讨论破坏、修复和根据地承压的关系。 | 交通破袭 |
| AJ15 · 冀中五一反扫荡1942.05.01至1942.06.20 | 冀中平原大规模扫荡下的转移与存续;讨论隐蔽、组织保存及突围。 | 隐蔽存续 |
| AJ16 · 敌后局部反攻总览1944 | 1944年多个根据地并行局部反攻;讨论据点选择和兵力集中,年度战果不重复汇总。 | 目标攻坚 |
| AJ17 · 车桥战役1944.03.05至1944.03.06 | 苏中车桥据点攻坚与芦家滩打援;讨论攻城、阻援与根据地联通。 | 目标攻坚 |
| AJ18 · 湘西会战1945.04.09至1945.06.07 | 雪峰山至芷江方向的防御反击;讨论山地阻击、航空支援和日军后勤压力。 | 航空支援与到货约束 |
| AJ19 · 缅北滇西反攻总览1943.10至1945.03 | 驻印军缅北与远征军滇西并行反攻;讨论跨境协同、攻坚和国际交通线恢复。 | 航空支援与到货约束 |
| AJ20 · 全面反攻与受降总览1945.08至1945.09 | 1945年8—9月反攻与接收;讨论宣布投降、停火、缴械和正式签字的不同时间约束。 | 停火接收 |

详细数据、来源登记及父子关系见抗日战争资料入口、场景与阶段矩阵。固定演习的目标与结算说明见可重放推演设计;20场真实模型验收的结果及限制见逐场验收报告。这些条目是已选教学场景,不是全部抗战战役名录。

抗美援朝(9个)

沿用前五次运动战战役及后续四个作战档案的目录框架。第二次战役区分东西两线,1951年夏秋防御合档,1953年夏季反击内含金城子阶段;「金城战役」简称指向总档,需要在想定中明确7月子阶段。

| 场景 | 资料时间范围 | 简介与教学关注 |
| 第一次战役 | 1950.10.25至1950.11.05 | 温井、云山及黄草岭的遭遇与反突击;讨论隐蔽接敌、分散来敌和局部阻击。 |
| 第二次战役 | 1950.11.07至1950.12.24 | 清川江与长津湖两线反击;讨论诱敌、迂回、补给距离与严寒减员的不同影响。 |
| 第三次战役 | 1950.12.31至1951.01.08 | 突破三八线并向汉城、汉江方向推进;讨论突破速度、追击与补给线延伸。 |
| 第四次战役 | 1951.01.25至1951.04.21 | 汉江、横城与砥平里方向防御反击;讨论空间换时间、局部反击和增援集结。 |
| 第五次战役 | 1951.04.22至1951.06.10 | 分阶段进攻、转移和阻击;讨论进攻顶点、粮弹耗尽、通信与追击风险。 |
| 夏秋季防御战役 | 1951.08.18至1951.10.22 | 1951年夏秋要点攻防与空中遮断背景;讨论工事、反坦克和补给压力。 |
| 秋季战术反击作战 | 1952.09.18至1952.10.31 | 多点有限目标进攻;讨论炮兵支援、短促突击与攻克后巩固的差别。 |
| 上甘岭战役 | 1952.10.14至1952.11.25 | 597.9高地与537.7高地北山争夺;讨论表面阵地、坑道存续、补给及反复反击。 |
| 夏季反击战役含金城战役 | 1953.05.13至1953.07.27 | 1953年分阶段反击,内含7月金城作战;讨论火力准备、纵深发展与停火时限。 |

第二次战役的目录起点采用准备阶段口径,11月25日、27日分别是西线、东线反击发起日。日期差异、统计范围和地理参考见抗美援朝资料说明。本系列及长征系列尚未接入上述固定局部演习;冻伤、坑道双层控制、谈判及跨战役继承等仍为资料中的建模议题。

自定义想定

启动页可通过问答创建想定,也可关联已有资料卡。独立想定没有预先考证的专属档案;需自行补充部队、初态、地理与目标,并核对模型生成内容。增加目录条目的方法见史料格式和裁决参数说明。

安装与启动

当前桌面版:v3.3.0。新版安装包包含战棋指挥、原生单位 Agent、决策回执和导入恢复;改进与打包验收见版本说明。

从 Releases 下载 Linux x86_64 安装包。包内包含后端和 DSH runtime,无需另装 Python 或 Conda;运行推演仍需可用的模型服务。

| 格式 | 使用方式 |
| Ubuntu .deb | 用系统安装器安装,或执行 sudo apt install ./GenTactix-DSH-3.3.0-amd64.deb;装好后在应用菜单搜索 GenTactix |
| .AppImage | 赋予执行权限后双击运行;没有 FUSE 时加 APPIMAGE_EXTRACT_AND_RUN=1 启动 |
| .tar.gz | 解压后运行其中的 gentactix-dsh |

在源码工作区里,也可以给 AppImage 安装当前用户的菜单项和桌面图标:

python3 tools/install_linux.py release/GenTactix-DSH-3.3.0-x86_64.AppImage --project-root .

详细步骤、构建方法及配置迁移见桌面使用说明。目前只提供 Linux 包,Windows 或 macOS 安装包尚未验证。

开始一次推演

1. 打开菜单 配置 → DSH · LLM配置(Ctrl+,),填写接口与模型,保存并测试连接。vLLM 的模型 ID 应与服务端的 served-model-name 一致。
2. 在启动页选择战役,或通过问答创建想定;选择开放推演或历史回放,确认回合时长、史料检索与裁决选项。抗日战争资料可选固定局部教学初态;初始化不调用模型。
3. 进入工作台,点击地图军标或右上角 单位指挥,从菜单选择待命、移动等当前规则支持的行动;移动时点击地图选择目的地,无需输入坐标。确认命令只加入队列,点击 下一轮推演 才会执行。
4. 在指挥面板选择「当前单位」或「全局」,输入自然语言并解析为草稿;核对目标和持续方式后确认。修改输入、范围或选点会让旧草稿失效;「咨询」只进行问答。
5. 通过 本单位决策/执行回执 查看计划、实际位置、人员和补给变化及来源。可按需启用单位的 DSH 原生 Agent;未接管单位仍使用现有批量规划。历史回放只读,要改变决策需先建立独立开放分支。
6. 从工作台导出 JSON,或点击启动页/工作台的 导入战局,预览后确认恢复。同 ID 战局或磁盘存档不会被覆盖。旧导出还需原会话快照;JSON 不包含 DSH 会话日志。

持续移动每轮受机动预算约束,失能或退役会终止任务。切换控制方时,界面先列出超范围的旧命令和 Agent,确认后才处理。版本冲突可刷新后重试;网络响应丢失时保留原批次,避免重复推进。普通开放场景目前仅核验待命和移动,射击、补给等额外动作只在对应固定局部规则中提供。

3.3.0 安装包中的单位指挥面板,使用教学合成想定

配置通过 Fernet 认证加密保存为项目目录中的 .gentactix-llm.enc,解密密钥单独存于用户配置目录。安装目录不可写时,桌面程序使用用户数据目录下的可写项目目录。公开仓库与安装包不含个人 API Key;同一用户同时取得密文与密钥后仍可解密。

源码运行

使用 Python 3.10+、Node.js 22 和图形桌面。在仓库根目录执行:

python3 -m venv .venv
.venv/bin/pip install -r requirements.txt -r requirements-dsh.txt
.venv/bin/python -m uvicorn backend.main:app --host 127.0.0.1 --port 8700

另开终端启动 Electron 开发界面:

cd frontend
npm ci
npm run dev

原有 Streamlit 界面保留于 app.py,可通过 .venv/bin/streamlit run app.py 启动;其功能与桌面版不完全相同。

项目结构

| 目录 | 内容 |
| frontend/ | Vue 界面、地图和 Electron 桌面入口 |
| backend/ | FastAPI 接口、会话管理与分析服务 |
| gentactix/ | 推演、状态守恒、时钟、地理、史料检索和裁决逻辑 |
| plugins/dsh-gentactix/ | DSH 原生领域工具、运行观测与控制插件 |
| corpus/、adjudication/ | 史料卡片与各战役裁决参数 |
| verify_*.py、tools/ | 回归检查、真实模型测试和打包安装工具 |

验证与使用边界

3.3.0 实现了战棋指挥规划,并通过 TDD 修复草稿、重试、任务终止、无坐标待命、对照归属、导入和控制范围切换七项问题。源码回归 36/36 组、322 个用例、0 跳过;浏览器、Electron 及 8 项真实 DSH 验收通过,真实引擎保持 high 推理强度和 65,536 token 预算。详见TDD 修复记录和本版安装包验收。旧对局中没有保存的单位依据会标为缺失,不会从战报补造为真实智能体轨迹。

.venv/bin/python verify_all.py
npm --prefix frontend run typecheck
npm --prefix frontend run build

完整测试范围见 TESTING.md。50步审计保留真实运行中的失败和语义问题;3.1.3 修复记录说明补给、射界与战报校验,并记录历史回放、4步真实续推及复盘复测。3.1.4 修复记录说明正常结束但无正文时的一次自动恢复、取消与状态保留,以及139项回归和真实会话副本续推验证。这不代表所有战役与模型行为均已验证。

开放推演允许偏离历史结果;历史回放用于史料讲解,不作为反事实验收。程序提供教学推演与解释辅助。模型生成的伤亡、士气和归因不是经过验证的战斗效能或因果结论;HP 也不等于人员数量。几何裁决默认关闭,不能替代弹道、地形遮蔽或后勤吞吐模型。地图射界为示意图层,离线底图为粗略轮廓,在线瓦片需要网络。DSH 使用方式及反事实边界见架构说明。

开发维护与致谢

开发维护:沈阳理工大学装备工程学院。 研发团队:深度学习实验室。
本项目基于 pystrategylab/Gentactix 扩展而来,感谢原作者开源。保留上游版权声明,采用 MIT 许可证;完整署名见 NOTICE.md。
预览分享卡片长什么样 ↓snow-wind-001/Gentactix-DSH
分享 · DeepSeek Harness Hub
snow-wind-001/Gentactix-DSH

Gentactix 的deepseek harness版本,加入了一些新功能,着重围绕红军长征,抗日战争,抗美援朝战役实现战役推演展示。

这是你的仓库?认领条目

回到顶部