@teammy/server 0.0.8 → 0.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  中心服务器上的 Teammy 服务,需要 Node.js 22.19 或更新版本。
4
4
 
5
5
  ```sh
6
- npm install -g @teammy/server@0.0.8
6
+ npm install -g @teammy/server@0.0.9
7
7
  teammy-server --help
8
8
  teammy-server --version
9
9
  teammy-server --host 127.0.0.1 --port 4317
@@ -27,16 +27,18 @@ teammy-server --host 127.0.0.1 --port 4317
27
27
  teammy-server ai-worker --data-dir /absolute/path/teammy-data
28
28
  ```
29
29
 
30
- 与 HTTP 服务使用同一数据目录。浏览器“全站设置 → 模型接入”维护私有配置,成员从“工作看板 → 资料分析”发起任务。执行并发为 1,读取固定资料快照,仅有清单、读取和搜索工具;不提供 Shell 或任意代码执行。
30
+ 与 HTTP 服务使用同一数据目录。浏览器“全站设置 → 模型接入”维护私有配置,成员从“工作看板 → 资料分析”发起任务。执行并发为 1。0.0.9 的任务整理与目录分析需要 Linux Worker、Bubblewrap 和 ripgrep:整个 Pi 在独立沙箱内运行,原生文件工具和 Bash 只能看到本轮只读资料及临时目录,模型请求由父 Worker 代发。Docker 镜像包含系统工具,容器使用 compose.yaml 中的 Worker 隔离配置;非 Linux 宿主请在 Linux 容器或开发机运行 Worker。API、Web、客户端与单文件摘要仍可在 macOS 上运行。
31
31
 
32
- 当前源码支持工作区任务冷启动与自动增量维护:配置全站或项目默认模型后,成员首次非空发布及后续增删改稳定约 60 秒自动整理。仅重跑发生变化的成员,结合历史任务与文件变更核对完整列表,保留任务 ID 和人工修正。目录清空时不调用模型,旧卡片按来源和修正规则归档或提示核对。看板显示计划、进行中、待审查和已完成,支持来源查看及标题/状态纠正,不改原文;仍保留手动重跑入口。设计见 [文件任务整理](../../docs/task-board-analysis.md)。
32
+ 当前源码支持工作区任务冷启动与自动增量维护:配置全站或项目默认模型后,成员首次非空发布及后续增删改稳定约 60 秒自动整理。仅重跑发生变化的成员,通过 query_tasks 查询已有任务,结合文件变化提交 upsert/archive,未提及卡片保持原样。目录清空时不调用模型,也不自动删除旧卡片。看板显示计划、进行中、待验收和已完成;needsConfirmation 标记需要确认的完整任务,支持查看来源、修订表达及确认,不改原文;仍保留手动重跑入口。设计见 [文件任务整理](../../docs/task-board-analysis.md)。
33
33
 
34
34
  提示词、工具说明与工作流预算随包保存在 `dist/runtime/`。可将完整目录复制到服务器专用位置,通过 `TEAMMY_AI_RUNTIME_DIR=/absolute/path/runtime` 指定;容器可只读挂载。API 和 Worker 使用同一目录配置。新建作业加载并固定资源,已有作业及重试不受编辑影响。模型密钥仍由网页接入点设置维护,不写入运行资源。详见资源目录 README。
35
35
 
36
- 0.0.8 安装包随附全部服务端运行依赖,包含 Pi 1.4.0 及修复后的 undici 8.12.2,普通 npm 安装即可使用,无需配置 overrides。服务端包包含 Web 静态资源;客户端不安装 Pi 或 Web 依赖。
36
+ 本版任务提示词为 v10:关注后续验收与遗留事项,简洁表达进展,并区分明确工作与讨论中的可能性。任务失败可自动重试三次;资料变化会取消过期任务,待新版本稳定后重新整理。提示词更新不自动重跑未发生变化的历史项目,可从看板手动重跑。
37
+
38
+ 0.0.9 安装包随附全部服务端运行依赖,包含 Pi 1.4.0 及修复后的 undici 8.12.2,普通 npm 安装即可使用,无需配置 overrides。服务端包包含 Web 静态资源;客户端不安装 Pi 或 Web 依赖。Bubblewrap、ripgrep 等系统工具由 Linux Worker 环境提供。
37
39
 
38
40
  备份必须包含 SQLite、blobs 和 `ai-secret.key`。API 与 Worker 停止后备份整个目录。
39
41
 
40
42
  0.0.8 增加公共资料独立同步与网页浏览:根 README 和模板可见,Teammy 配置隐藏;项目设置可选择维护成员和公共路径。任务分析将公共资料冻结为参考快照,更新后自动重新整理成员任务。
41
43
 
42
- 0.0.8 支持多项目。全站用户、共享模型接入点与同步策略由站点管理员维护;项目成员平等管理本项目设置,并可选择项目默认模型接入点。0.0.5 及更早的单项目数据库不自动迁移,请使用新的 `--data-dir`,保留旧目录;HTTP 服务与 Worker 必须指向同一目录。当前源码将已有多项目数据升级到 schema 16,保留原资料及任务;升级时同步停止并更新 API 与 Worker,旧版本不读取新版数据库。仍采用预设 ID 登录,不防止身份冒用。
44
+ 本版支持多项目。全站用户、共享模型接入点与同步策略由站点管理员维护;项目成员平等管理本项目设置,并可选择项目默认模型接入点。0.0.5 及更早的单项目数据库不自动迁移,请使用新的 `--data-dir`,保留旧目录;HTTP 服务与 Worker 必须指向同一目录。本版将已有多项目数据升级到 schema 17,保留原资料及任务;升级时同步停止并更新 API 与 Worker,旧版本不读取新版数据库。仍采用预设 ID 登录,不防止身份冒用。
@@ -0,0 +1,32 @@
1
+ // apps/server/ai/line-diff-worker.ts
2
+ import { parentPort, workerData } from "node:worker_threads";
3
+ import { diffArrays } from "diff";
4
+ var { before, after } = workerData;
5
+ var lines = (text) => text === "" ? [] : text.split("\n");
6
+ var parts = diffArrays(lines(before), lines(after));
7
+ var oldLine = 1;
8
+ var newLine = 1;
9
+ var pending;
10
+ var result = [];
11
+ for (const part of parts) {
12
+ if (!part.added && !part.removed) {
13
+ if (pending) result.push(pending);
14
+ pending = void 0;
15
+ oldLine += part.count;
16
+ newLine += part.count;
17
+ } else {
18
+ pending ??= {
19
+ before: { startLine: oldLine, count: 0 },
20
+ after: { startLine: newLine, count: 0 }
21
+ };
22
+ if (part.removed) {
23
+ pending.before.count += part.count;
24
+ oldLine += part.count;
25
+ } else {
26
+ pending.after.count += part.count;
27
+ newLine += part.count;
28
+ }
29
+ }
30
+ }
31
+ if (pending) result.push(pending);
32
+ parentPort.postMessage(result);