tzt
|
51f1de2154
|
feat(sense): T-G1+T-G2 Embedder 与观察埋点
- T-G1 embedder.py:embed() 调 llama-server /v1/embeddings -> 对称 per-vector
int8 量化(scale=127/max|v|,1024 维余弦扰动 ~1e-4 << 1e-2 验收);
超时/连接/非200/空形状 -> EmbedderDown(D-G4 fail-closed);
/v1/embeddings OpenAI 兼容透传(双路由组:/sense 前缀 + /v1 无前缀,
不可用 503);build_sense_routers 返回列表
- T-G2 observer.py:Observation + 批量缓冲 100ms 刷盘(asyncio.Queue +
to_thread,D-P10);三消费方共用;升级阶梯回写 outcome/executed_tier;
D-G6 无 query 原文列(int8 BLOB + 特征 JSON)
- 测试 +11(量化误差/范围/fail-closed×3/透传/单例/BLOB 持久化/批量刷盘/
回写/无原文列),全量 381->386->381? 校正:386 passed
- 待真机项:llama-server embedder 端点冒烟(需配置 embedder.base_url)
|
2026-09-05 13:37:59 +08:00 |
|
tzt
|
f783878c02
|
feat(sense): T-G1 Embedder(int8 量化/降级 fail-closed + /v1/embeddings 透传)
- embedder.py:embed() 调 llama-server /v1/embeddings -> 对称 per-vector
int8 量化(scale=127/max|v|,1024 维余弦扰动 ~1e-4 << 1e-2 验收);
超时/连接/非200/空形状 -> EmbedderDown(D-G4 fail-closed);
quantize_int8/cosine_int8 辅助(int8 直接点积,scale 正标量不改方向)
- routes.py 拆双路由组:/sense 前缀组 + /v1 无前缀组(/v1/embeddings
OpenAI 兼容透传,embedder 不可用 503);build_sense_routers 返回列表,
api.py 逐个 include;build_sense_router 保留向后兼容
- 测试 +6:量化余弦误差 200 组 <1e-2/范围/零向量/int8 余弦/
正常量化/三种 fail-closed/透传端点(503+形状+400),全量 381 passed
- 待真机项:llama-server embedder 端点冒烟(需用户配置 embedder.base_url)
|
2026-09-05 13:33:58 +08:00 |
|
tzt
|
7830f1936a
|
docs(sense): T-G0 登记翻转(复用并行会话预登记的七、段,删除重复段)
|
2026-09-05 11:08:59 +08:00 |
|
tzt
|
c3efa70da2
|
feat(sense): T-G0 语义分析器骨架(包结构/DDL/灰度门控挂载)
- gateway/sense/:config(SenseConfig:mode 灰度三态/特征门/conformal/consumers
档位映射,mode 非法回落 collect)、errors(EmbedderDown/ArtifactMissing,D-G4 降级)、
store(tier_observations + sense_artifacts DDL,WAL;观察写入/标签回填/
labeled 查询/180d 清理/工件登记与 active 切换)、routes(/sense/health 透出灰度状态)
- settings DEFAULTS 增 sense 段(enabled 默认 False,mode 默认 collect——D-G7)
- api.py include_router 门控(装配失败不拖垮主应用)
- 测试 +5:门控 404/DDL 幂等/配置缺省与 mode 回落/独立挂载 health/
观察写入-回填-计数-清理链路,全量 375 passed
|
2026-09-05 11:07:04 +08:00 |
|
tzt
|
3e1f187380
|
docs: 代理层方案增补 + 语义分析器与三级分级执行方案入库(T-G0 准备)
|
2026-09-05 11:01:17 +08:00 |
|
tzt
|
3250e4e099
|
feat(proxy): T-P5 规范化+桶(canonical_hash 五规则/整形顺序/doc_version 失效)
- normalizer.py:resolve_bucket(X-Campus-Bucket 头 > 映射 > default,D-P2);
normalize_messages(role\u0001content\u0002 串接,剔易变字段与时间戳行,
多模态 content 取 text);is_cacheable(system 外 >1 条 = 多轮不缓存,D-P5);
canonical_hash(bucket|doc_version|sha256(norm)——模板/资料不参与哈希,
资料更新 = 版本+1 旧键失效);shape([canonical_system(无才注入)] ->
[课程资料前缀(文件读取,不入git)] -> [原 messages],易变顶层字段剔除)
- 测试 +8:同义同哈希/易变剔除/模板不入哈希/doc_version 失效/多轮判定/
整形顺序+资料注入/桶解析回落/序列化形态,全量 370 passed
|
2026-09-05 09:40:05 +08:00 |
|
tzt
|
5b04276fc8
|
feat(proxy): T-P4 路由端到端(M1:计费代理跑通)
- routes.py 主时序:auth(热缓存) -> 限流/并发槽 -> 413 -> 池条目解析 ->
try_hold 预扣(字符/3 + min(max_tokens,4096) 宁可高估)-> 上游流式 tee
-> usage 归一 -> compute -> settle(actual 回补) -> 流水;异常路径:
UpstreamError 全额 void / UpstreamAborted 按已收 usage 结算 status=aborted
- install_error_handlers:ProxyError 家族 -> §5.3 错误码
(401/402/403/413/429/502,401 带 WWW-Authenticate)
- 管理面:students/topup/keys 签发/keys-revoke(X-Admin-Key 或 loopback)
- SSE 同构:chunk 补齐 object/created/id/model(OpenAI SDK 兼容形状),
usage chunk 按客户端要求过滤
- 修复:补回 T-P4 重写时丢失的 /proxy/v1/models
- 测试 +8(非流式全程含 2550/1491 黄金账目/流式/402/401/413/502 void/
httpx 手写 OpenAI SDK 合规断言含 chunk 形状+usage 过滤+[DONE]),全量 362 passed
|
2026-09-05 09:35:12 +08:00 |
|
tzt
|
a0afeec5cb
|
feat(proxy): T-P3 计价(峰谷窗口/毫元整数/差异化售价/黄金用例)
- pricing.py:is_offpeak(含跨午夜窗口、非法回落、±1min 边界语义);
compute 全整数毫元——上游成本叠加 offpeak_factor(空闲半价),
学生售价按差异化折扣(in 0.5 / out 0.8,不叠加热闲系数,全天一口价),
margin = charged - cost 恒等式
- 未配置价格模型三值零(调用方可拦截);配置换算加载期唯一
- 测试 +9(窗口边界/跨午夜/回落/黄金手算 #1#2/恒等式 10 组扫/零用量/
稳定性/未知模型/换算不漂移),全量 354 passed
|
2026-09-05 09:18:51 +08:00 |
|
tzt
|
f24f016e95
|
feat(proxy): T-P2 上游客户端(流式派发/usage 注入过滤/三家归一化/首 token 前 failover)
- upstream.py:httpx.AsyncClient 模块级单例(keepalive,limits=100,
超时 connect10/read120/write10/pool30);stream() 始终注入
stream_options.include_usage(计量不依赖客户端)+ filter_usage_chunk
(客户端未要求 usage 时剥除该 chunk);D-P4 首 token 前 failover 链、
流中失败抛 UpstreamAborted(不可切换);ttfb_ms 记录
- normalize_usage 三家归一:deepseek prompt_cache_hit_tokens /
openai prompt_tokens_details.cached_tokens / anthropic cache_read_input_tokens
(命中数>总数时钳制)
- model_pool:+provider(枚举校验 deepseek/openai/anthropic)+in_hit_price
(缺省 = price_in×1/30,D-P3)
- 测试 +6:透传+sink/failover/流中 aborted/全挂 502/三家归一/过滤,全量 345 passed
|
2026-09-05 09:14:31 +08:00 |
|
tzt
|
a9f3405970
|
feat(proxy): T-P1 鉴权+账本(原子预扣/热路径缓存/令牌桶/管理鉴权原语)
- ledger.py:students/keys CRUD + 日限额 check_and_count(跨日重置,注入时钟)+
流水分页;计费两阶段拆分至 billing.py(BillingMixin,评审聚焦):
try_hold 锁内读现状->日上限判定->余额原子防线->holding 流水(request_id 幂等)、
settle 按真实值回补(预扣-实际)差额、void 全额退款(上游失败)
- auth.py:issue_key(sk-campus- 前缀,明文只返回一次,库存 sha256+前缀)、
authenticate 校验链(形态/注销/停用/日额/rpm,热路径 LRU TTL30s D-P10)、
RateLimiter(令牌桶 rpm + per-key 并发信号量,D-P9 单进程)、
verify_admin(hmac.compare_digest;未配置仅 loopback)
- 测试 +17:签发/错key/注销/停用/403/rpm 429/日额 429/并发槽/admin 策略 +
预扣-结算-回补一致/双向差额/余额不足/日上限/幂等/跨日重置/void/并发10路不超扣
- 全量 339 passed
|
2026-09-05 09:05:59 +08:00 |
|
tzt
|
b109576707
|
feat(proxy): T-P0 代理层骨架(包结构/DDL/门控挂载/单进程校验)
- gateway/proxy/ 十文件:config(ProxyConfig:元->毫元加载期换算 D-P1、差异化售价、
桶/峰谷/限流/semcache 配置)/ errors(8 类 HTTP 语义异常)/ ledger(四表两索引 DDL,
WAL,ReviewQueue 连接纪律)/ auth·pricing·normalizer·semcache·upstream(§6 签名占位)
/ routes(/proxy/v1/models OpenAI 形状)/ __init__(build_proxy_router 组装点)
- settings DEFAULTS 增 proxy 段(enabled 默认 False,D-P7)
- api.py 首次 include_router(enabled 门控 + 装配失败不拖垮主应用)
- serve.py workers>1 拒绝启动(D-P9:WEB_CONCURRENCY/UVICORN_WORKERS 校验)
- 测试 +4(门控 404/DDL 幂等/毫元换算/池模型列表),全量 322 passed
|
2026-09-05 08:35:31 +08:00 |
|
tzt
|
3cc9851623
|
chore: T-P-1 补充 tests/e2e playwright 工程源文件(node_modules 已 ignore)
|
2026-09-05 08:29:20 +08:00 |
|
tzt
|
ce0f6170d3
|
chore: T-P-1 工作区收敛——并行会话成果与历史未入库文件整理入库
- 入库历史遗漏源码/测试:router_system 9 模块(agent/executors/inference/knowledge/
memory/planner/skills/trace)、tests 11 个测试文件、config/knowledge 领域知识
- 入库根目录方案文档(v2/v3/可行性×2)、references 文献(arxiv 14-18/cnki_open/
参考文献清单)、research 论文素材(routerarena/paper/中文文献 PDF)
- 前端构建产物刷新(新 hash);webapp 误写文档删除
- gitignore 增补:deepseek-harness、research/_refs、.mimosa/.zcode、网关日志/pid、
临时调试脚本、tests/e2e/node_modules、AI代理功能开发/prefix
- 基线确认:318 passed
|
2026-09-05 08:28:25 +08:00 |
|
tzt
|
747d85c3ba
|
feat(v3): T29 收尾 + T31 dsh 功能对齐
T29 流式收尾:
- _stream_partial 每次流式调用前复位(防上次成功置位导致本次失败误抛不回退)
T31 dsh(deepseek-harness)功能对齐:
- OpenAICompatChat 重试退避:传输错误/408/429/5xx 指数退避(max_retries=2),4xx 不重试
- web_fetch 工具:公网 http/https 抓取,SSRF 防护(DNS 后拒绝私网/环回/链路本地/NAT64,
512KB/15s/12k 上限,二进制嗅探拒绝),agent.allow_net 开关(默认开)
- 原子写入:write_file/edit_file 临时文件 + os.replace(Windows EPERM 退避)
- 慢工具线程卸载:run_command/web_fetch/search_files 独立线程 + asyncio.sleep 轮询
- search_files:os.walk 修剪依赖目录(替代 rglob 全量物化),不跟随符号链接
- run_command:危险命令黑名单独立拦截 + 显式 COMSPEC/sh 解释器执行
- 重复调用提醒:同工具同参数第 3 次起回喂系统提示 + repeat_warning 事件
- 会话重命名:PATCH /agent/sessions/{sid} + 前端 ✎
- 前端:SettingsView 适配密钥打码(留空保留),SPA 重新构建
- 新增 tests/test_agent_features.py(9 项);全量 318 测试通过
|
2026-09-02 00:02:24 +08:00 |
|
tzt
|
ce3ba44de3
|
fix(v3): T30 安全加固(Mimosa 深度扫描驱动)
- 路径参数 ID 白名单(runs/agent/sessions),杀灭 Windows 反斜杠穿越(..%5C 直读 .env)
- artifacts 端点关押 + pipeline 工件名消毒(模型输出名剥路径成分)
- /llama/download dest 关押 models/ 内 + URL 协议白名单(先于 HF 别名转换)
- GET /config architect.api_key 打码(api_key_set + 前 6 位),PUT 空串=保留
- TrustedHostMiddleware 信任围栏(GATEWAY_TRUSTED_HOSTS 可覆盖)+ __main__ 默认 127.0.0.1
- review 抽样改 CSPRNG
- 新增 tests/test_security_hardening.py(13 项,全部离线)
|
2026-09-02 00:01:33 +08:00 |
|
tzt
|
ddef8bec1c
|
feat(v3): T29 token 级流式输出(SSE 流式解析 + delta 事件 + 打字机渲染,D10)
- OpenAICompatChat 默认 stream=True:httpx 流式解析 OpenAI chunk,
tool_calls 碎片按 index 组装(不在正文展示),include_usage 计量;
失败自动回退非流式一次(已有部分增量输出则如实抛出);
补 raise_for_status(修复流式 4xx 误入回退的缺陷)
- ToolLoop 增 on_delta(签名探测兼容 2/3 参 chat_fn);_loads_json_object 宽松解析
- DeltaThrottle >=48 字符节流落 delta 事件;单模型与两级模式(含规划者)接线
- 前端:streamText 打字机渲染 + 光标动画;工具/阶段事件到达时清空归档
- 配套修复:AgentView 闭包持有 push 前原始对象导致响应式丢失、过程事件不渲染
- 测试 +7(SSE 解析/碎片组装/回退/部分失败抛出/on_delta/节流/service delta 事件),
全量 296 passed
|
2026-09-01 23:41:45 +08:00 |
|
tzt
|
ca8add02e2
|
feat(v3): T28 操作审批流(dsh 式 allow-once/deny,fail-closed)
- ToolLoop 增 approval_hook:工具执行前挂起等待用户裁决,拒绝/异常折叠为
失败结果回喂模型(可改道),fail-closed
- 策略 agent.approval_policy:off | dangerous(写/编辑/命令询问,只读放行,默认)| all;
approval_timeout_s 超时自动拒绝(轮询实现,规避 portal 循环下 wait_for 定时器不可靠)
- POST /agent/{id}/approve 裁决端点;approval_request/decided 事件对进 SSE 与审计
- 前端:运行中审批卡(工具名+参数预览+拒绝/允许一次),composer 审批策略 chip
- 测试 +8(策略矩阵/拒绝回喂/允许执行/fail-closed/超时/端点分支),全量 289 passed
|
2026-09-01 23:12:26 +08:00 |
|
tzt
|
7d11ae2644
|
feat(v3): T27 会话式智能体(多轮上下文/停止/对话式 UI,对齐 dsh 范式)
- ToolLoop 增 history 参数(既往轮次折叠为对话上下文,近 6 轮)
- 会话制:AgentSession/SessionStore 持久化 agent_runs/sessions/{sid}.json,
/agent/sessions CRUD + /agent 带 session_id(继承会话工作区与执行者配置,busy 并发控制)
- POST /agent/{id}/cancel:取消运行中任务
- AgentView 重构为对话式:会话列表 + 居中消息流(用户蓝气泡/助手白卡)+ 底部 composer
(工作区/执行者/命令 chips,Enter 发送,运行中红色停止钮),工具过程折叠收纳
- 工具步数统计统一至事件写入层并透出 status.tool_calls
- fix(tests): 会话存储测试隔离,防测试数据泄漏进真实 sessions 目录
- 测试 +4,全量 281 passed
|
2026-09-01 22:30:26 +08:00 |
|
tzt
|
943eecc5ef
|
feat(v3): 配色体系对齐 deepseek-harness Web(D7 视觉)
- 提取 dsh design-platform 官方色板为设计令牌:品牌蓝 #4176e6、bluish 灰阶、
语义状态色、透明描边(rgba 0.04-0.1)
- 侧栏改近白(sidebar-fill),扁平化阴影,悬停/滚动条/缓动全部对齐 dsh
- 六视图旧硬编码蓝批量令牌化,视觉单一来源
|
2026-09-01 21:48:05 +08:00 |
|
tzt
|
1ae9ffb159
|
feat(v3): Web 界面视觉升级(全局设计令牌 + 深色侧边栏壳 + 页面细节打磨)
- style.css 重写为设计系统:色板/圆角/阴影/统一滚动条/焦点环/卡片质感,main.ts 引入
- App.vue:深色渐变侧边栏替换顶部条(品牌区/图标导航/激活高亮/网关状态脚注)
- 六个视图页面背景令牌化,卡片统一阴影;index.html 标题与语言修正
- 功能零改动,纯视觉层
|
2026-09-01 19:09:29 +08:00 |
|
tzt
|
43e2bceae7
|
feat(v3): T26 两级智能体(大模型规划/审查 + 本地小模型执行,D7)
- run_dual 编排:规划者两阶段 JSON(plan/review,失败回喂重试一次再降级),
redo 时裁决意见回喂执行者,交接上限 agent.max_handoffs(默认 2)
- 交接文档 agent_runs/{id}/handoff.json(智能体版交流文本:instructions/acceptance/exchanges)
- /agent 新增 executor_pool_id;规划者==执行者条目拒绝;整体 token_cap 覆盖两级调用
- ToolLoop 增 emit_final 开关(内层循环不发终态,防前端 SSE 提前收口)
- 前端:执行者选择器 + phase/message 事件渲染(阶段徽标 + 双色消息卡)
- 测试 +3(done/redo/执行者故障),全量 277 passed
- fix(tests): test_config_get_put_reset 增加设置备份/恢复隔离,防止清掉用户真实配置
|
2026-09-01 11:45:33 +08:00 |
|
tzt
|
8e2123343c
|
fix(v3): 设置页 API Key 文案改为与实现一致(明文存 settings.json,不入库)
|
2026-09-01 10:57:38 +08:00 |
|
tzt
|
b08e0bb5d7
|
docs(v3): T25 文档收口(工作区选择 + harness 工具,274 测试全绿)
|
2026-09-01 10:16:58 +08:00 |
|
tzt
|
da5dfb0ef3
|
feat(v3): T24 智能体工作区选择 UI + harness 风格工具卡
- 工作区选择栏(当前目录徽标 + 选择目录按钮 + 允许执行命令开关)
- 目录选择器模态:盘符→逐级浏览、上级、手输路径、不存在可新建、最近工作区快选
- edit_file 渲染为红/绿 diff 卡;run_command 渲染 $ 命令卡;文件面板随所选目录切换
|
2026-09-01 10:16:58 +08:00 |
|
tzt
|
8358302002
|
feat(v3): T22-T23 harness 级工具扩展 + 工作区选择后端
- T22 工具内核:edit_file(old_string 唯一命中才替换,防误改)、search_files
(跨文件内容搜索,跳过 .git/node_modules 与二进制大文件)、run_command
(allow_shell 默认关;超时+输出截断+Windows CREATE_NO_WINDOW)
- T23 工作区选择(参考 deepseek-harness 打开文件夹体验):/agent/fs 磁盘目录浏览
(空 path 列 Windows 盘符)、/agent/workspaces 最近列表持久化、
POST /agent 接受 workspace(须存在目录),运行状态记录所用工作区
- 新增测试 12 项,全量 274 passed
|
2026-09-01 10:16:58 +08:00 |
|
tzt
|
10bd4cc71d
|
docs(v3): T21 集成验证与文档收口
- 新增《实现方案_v4_模型池与工具智能体.md》(D1-D6 决策、接口清单、T16-T21、实验设计)
- 任务登记:v3 Web 应用化 T1-T6 + 模型池/智能体 T16-T21
- 进度记录:叙事泛化决策(价位轴收编端云轴)、端到端实测、论文下一步
|
2026-09-01 08:52:07 +08:00 |
|
tzt
|
501058243b
|
feat(v3): T19-T20 模型池设置 UI + 智能体页 + 指标分账卡
- 设置页「模型池」区块:三角色指派下拉、条目表格(档位徽标/单价/启用/测试/编辑/删除)、
内联添加表单(模型列表探测 datalist,api_key 留空保留原值)
- 新增「🤖 智能体」页 /agent:任务输入 + 池模型选择、工具调用时间轴
(round/tool_call/tool_result/usage/final)、左侧工作区文件浏览与预览
- 指标页「按模型分账」卡片(v2.by_model 表格)
- 修复:SSE final 后 EventSource 自动重连回放导致的事件重复渲染(终态即关闭+回放拦截)
|
2026-09-01 08:51:52 +08:00 |
|
tzt
|
374dc765c2
|
feat(v3): T17-T18 模型池 + 工具智能体后端
- T17 模型池:PoolStore(local/budget/premium 条目 + architect/worker/agent 角色指派),
/pool CRUD+连通测试+模型探测端点;build_v2_pipeline 池指派优先(测试 override 最后);
V2Stats 新增 by_model 按 token/成本分账
- T18 智能体:OpenAI 兼容工具调用客户端(transport 可注入)+ AgentService
(事件落盘 agent_runs/{id}/events.jsonl)+ /agent 提交/status/events/SSE stream
+ 工作区浏览/读取端点(越界 400);轮数与 token 双护栏,模型经池 agent 角色或经典回退
- 新增测试 16 项,全量 262 passed(httpx 假注入,不依赖真实模型/key)
|
2026-09-01 08:51:52 +08:00 |
|
tzt
|
6247e053c1
|
feat(v3): T16 工具内核(WorkspaceTools 路径关押 + ToolLoop 通用循环,纯标准库)
- list_dir/read_file/write_file 三工具,OpenAI tools 声明与 tool_calls 解析
- 路径 join 后 resolve 必须仍位于工作区根内(防 ../ 与绝对路径逃逸)
- ToolLoop:轮数上限 + token 熔断双护栏、事件回调逐条产出、触顶强制总结
- 测试 11 项:关押/往返/截断/循环编排/熔断/错误折叠(假 chat_fn,零外部依赖)
|
2026-09-01 08:51:52 +08:00 |
|
tzt
|
3bbdcb7cc7
|
feat(v3): Web 应用化基线(异步任务/SSE/llama-server 管理/Vue SPA 四页 + 设置页整页滚动修复)
|
2026-09-01 08:31:47 +08:00 |
|
tzt
|
8d36eeec59
|
feat(v2): 模型设置(用户可调小模型/大模型/管线,/config + UI)
|
2026-08-30 21:58:41 +08:00 |
|
tzt
|
5ba3cc778b
|
feat(v2): Web 界面(对话/协作过程/人工检验/指标)+ worker 优雅降级
|
2026-08-30 21:26:16 +08:00 |
|
tzt
|
0ec7a9d034
|
feat(v2): T14 README v2 改写(架构/快速开始/指标)
|
2026-08-30 21:21:00 +08:00 |
|
tzt
|
b900082c6d
|
feat(v2): T12+T13 实验脚本 bench_tokens 与 E1 token 经济学跑数
|
2026-08-30 21:20:00 +08:00 |
|
tzt
|
70b9907a89
|
feat(v2): T11 打包分发 setup_runtime(下载/续传/解压/硬件档位)
|
2026-08-30 21:17:22 +08:00 |
|
tzt
|
ff7e1bc8de
|
feat(v2): T10 rollup + prefix cache 前缀稳定性(--cache-reuse 对齐)
|
2026-08-30 21:16:02 +08:00 |
|
tzt
|
c874382130
|
feat(v2): T7 网关扩展 + T9 token 计量与账单(/chat v2,/chat/legacy,/runs,/review,/metrics)
|
2026-08-30 21:15:19 +08:00 |
|
tzt
|
ea150129b4
|
feat(v2): T8 人工检验队列 ReviewQueue(sqlite/抽样/审核)
|
2026-08-30 21:12:52 +08:00 |
|
tzt
|
ad81e1afb7
|
feat(v2): T6 CollaborativePipeline 编排(快路径/协作循环/熔断/终审)
|
2026-08-30 21:12:03 +08:00 |
|
tzt
|
4fbbdb5290
|
feat(v2): T5 WorkerLoop + 接地验证(代码沙箱/facts对照/结构检查)
|
2026-08-30 21:08:45 +08:00 |
|
tzt
|
b3143e2914
|
feat(v2): T3 ArchitectClient(DeepSeek API,JSON 约束输出)
|
2026-08-30 21:06:34 +08:00 |
|
tzt
|
3ed37a1d30
|
feat(v2): T4 Workspace 交流文本协议(schema/校验/渲染/rollup)
|
2026-08-30 21:03:52 +08:00 |
|
tzt
|
78a410b773
|
feat(v2): T2 运维层 hw_profile + llama_server 进程管理
|
2026-08-30 21:00:52 +08:00 |
|
tzt
|
1e51167ea5
|
feat: 多专业小模型+路由模型系统 MVP(mock 全链路 + FastAPI 网关 + 论文调研)
|
2026-08-12 10:40:04 +08:00 |
|