@seqyuan/annovibe 0.8.18 → 0.8.20

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.
Files changed (61) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +2 -2
  3. package/.next/build-manifest.json +2 -2
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/required-server-files.js +1 -1
  6. package/.next/required-server-files.json +1 -1
  7. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  8. package/.next/server/app/_global-error.html +1 -1
  9. package/.next/server/app/_global-error.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  15. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  16. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  17. package/.next/server/app/_not-found.html +1 -1
  18. package/.next/server/app/_not-found.rsc +1 -1
  19. package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  20. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  21. package/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  22. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  23. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  24. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  25. package/.next/server/app/api/agent/[id]/events/route.js +2 -2
  26. package/.next/server/app/api/internal/runtime/route.js +1 -1
  27. package/.next/server/app/api/reports/[id]/route.js +3 -3
  28. package/.next/server/app/api/soul/route.js +1 -1
  29. package/.next/server/app/api/version/route.js +1 -1
  30. package/.next/server/app/index.html +1 -1
  31. package/.next/server/app/index.rsc +2 -2
  32. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  33. package/.next/server/app/index.segments/_full.segment.rsc +2 -2
  34. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  35. package/.next/server/app/index.segments/_index.segment.rsc +1 -1
  36. package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  37. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  38. package/.next/server/app/login.html +1 -1
  39. package/.next/server/app/login.rsc +1 -1
  40. package/.next/server/app/login.segments/_full.segment.rsc +1 -1
  41. package/.next/server/app/login.segments/_head.segment.rsc +1 -1
  42. package/.next/server/app/login.segments/_index.segment.rsc +1 -1
  43. package/.next/server/app/login.segments/_tree.segment.rsc +1 -1
  44. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
  45. package/.next/server/app/login.segments/login.segment.rsc +1 -1
  46. package/.next/server/app/page.js +12 -12
  47. package/.next/server/app/page_client-reference-manifest.js +1 -1
  48. package/.next/server/app-paths-manifest.json +2 -2
  49. package/.next/server/chunks/7601.js +14 -9
  50. package/.next/server/middleware-build-manifest.js +1 -1
  51. package/.next/server/pages/404.html +1 -1
  52. package/.next/server/pages/500.html +1 -1
  53. package/.next/server/server-reference-manifest.json +1 -1
  54. package/.next/static/chunks/app/{page-24b3a1332198d69e.js → page-f0fb3d377b4f0096.js} +12 -12
  55. package/.next/trace +75 -75
  56. package/.next/trace-build +1 -1
  57. package/README.md +2 -2
  58. package/bin/pi-web.js +26 -10
  59. package/package.json +1 -1
  60. /package/.next/static/{5FFDxXnmYkxIoTS-IYeT5 → QPlVK8U9LXiQ3z8PnJJLl}/_buildManifest.js +0 -0
  61. /package/.next/static/{5FFDxXnmYkxIoTS-IYeT5 → QPlVK8U9LXiQ3z8PnJJLl}/_ssgManifest.js +0 -0
package/.next/trace-build CHANGED
@@ -1 +1 @@
1
- [{"name":"run-webpack","duration":40415833,"timestamp":255309915,"id":14,"parentId":1,"tags":{},"startTime":1780375463380,"traceId":"162576357960ed17"},{"name":"run-typescript","duration":14015232,"timestamp":295730664,"id":7595,"parentId":1,"tags":{},"startTime":1780375503801,"traceId":"162576357960ed17"},{"name":"static-check","duration":1491880,"timestamp":309761273,"id":7598,"parentId":1,"tags":{},"startTime":1780375517831,"traceId":"162576357960ed17"},{"name":"static-generation","duration":6769886,"timestamp":311972412,"id":7686,"parentId":1,"tags":{},"startTime":1780375520043,"traceId":"162576357960ed17"},{"name":"collect-build-traces","duration":47476700,"timestamp":311273102,"id":7683,"parentId":1,"tags":{},"startTime":1780375519343,"traceId":"162576357960ed17"},{"name":"telemetry-flush","duration":99,"timestamp":358753639,"id":7695,"parentId":1,"tags":{},"startTime":1780375566824,"traceId":"162576357960ed17"},{"name":"next-build","duration":103572123,"timestamp":255181625,"id":1,"tags":{"buildMode":"default","version":"16.2.1","bundler":"webpack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1780375463252,"traceId":"162576357960ed17"}]
1
+ [{"name":"run-webpack","duration":47353258,"timestamp":80271422,"id":14,"parentId":1,"tags":{},"startTime":1780384828790,"traceId":"d27430c8531238bb"},{"name":"run-typescript","duration":15851067,"timestamp":127631334,"id":7596,"parentId":1,"tags":{},"startTime":1780384876150,"traceId":"d27430c8531238bb"},{"name":"static-check","duration":1602358,"timestamp":143495638,"id":7599,"parentId":1,"tags":{},"startTime":1780384892014,"traceId":"d27430c8531238bb"},{"name":"static-generation","duration":7256526,"timestamp":145977681,"id":7687,"parentId":1,"tags":{},"startTime":1780384894496,"traceId":"d27430c8531238bb"},{"name":"collect-build-traces","duration":51725928,"timestamp":145125134,"id":7684,"parentId":1,"tags":{},"startTime":1780384893644,"traceId":"d27430c8531238bb"},{"name":"telemetry-flush","duration":53,"timestamp":196855206,"id":7696,"parentId":1,"tags":{},"startTime":1780384945374,"traceId":"d27430c8531238bb"},{"name":"next-build","duration":116719683,"timestamp":80135587,"id":1,"tags":{"buildMode":"default","version":"16.2.1","bundler":"webpack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1780384828654,"traceId":"d27430c8531238bb"}]
package/README.md CHANGED
@@ -52,7 +52,7 @@ ANNOVIBE_PASSWORD=xxx annovibe # 环境变量设置密码
52
52
  - **文件编辑** — 侧边栏文本文件支持 CodeMirror 6 编辑,Ctrl+S 保存
53
53
  - **文档预览** — PDF/DOCX/XLSX/PPTX 内嵌预览
54
54
  - **可拖拽面板** — 侧边栏和右侧面板自由拖拽调整宽度
55
- - **项目上下文** — soul.md(全局人格)、harness.md(行为约束)、memory.md(项目记忆)
55
+ - **上下文文件** — soul.md(全局 persona / 语气 / 工作风格)、harness.md(行为约束)、memory.md(项目记忆)
56
56
 
57
57
  ## 注意事项
58
58
 
@@ -60,7 +60,7 @@ ANNOVIBE_PASSWORD=xxx annovibe # 环境变量设置密码
60
60
  - **模型配置** — 从智能体数据目录下的 `models.json` 读取可用模型,可在侧边栏的「Models」面板中编辑。
61
61
  - **文件浏览** — 侧边栏内置文件浏览器,可在标签页中查看和编辑当前工作目录下的文件。
62
62
  - **密码存储** — `~/.pi/agent/web-auth.json`,忘记密码可删除此文件重新设置。
63
- - **上下文文件** — `~/.pi/agent/soul.md`(全局人格)、`~/.pi/agent/harness.md`(行为约束)首次启动自动 seed。
63
+ - **全局上下文** — `~/.pi/agent/soul.md`(全局 persona / 语气 / 工作风格)、`~/.pi/agent/harness.md`(行为约束)首次启动自动 seed。
64
64
 
65
65
  ## 开发
66
66
 
package/bin/pi-web.js CHANGED
@@ -99,6 +99,10 @@ function getServerCommand() {
99
99
  return `${getCommandPath()} __server --port ${port}${hostname ? ` --hostname ${hostname}` : ""}`;
100
100
  }
101
101
 
102
+ function getServerCommandFor(listenPort, listenHost) {
103
+ return `${getCommandPath()} __server --port ${listenPort}${listenHost ? ` --hostname ${listenHost}` : ""}`;
104
+ }
105
+
102
106
  function nowIso() {
103
107
  return new Date().toISOString();
104
108
  }
@@ -546,7 +550,11 @@ async function stopManagedServer(quiet = false) {
546
550
  return 1;
547
551
  }
548
552
 
549
- async function startManagedServer({ quiet = false } = {}) {
553
+ async function startManagedServerWithPort(overridePort, overrideHost) {
554
+ return startManagedServer({ effectivePort: overridePort, effectiveHost: overrideHost });
555
+ }
556
+
557
+ async function startManagedServer({ quiet = false, effectivePort: optPort, effectiveHost: optHost } = {}) {
550
558
  seedDefaults();
551
559
  await maybeSetupAuth();
552
560
  if (!fs.existsSync(nextDir)) {
@@ -557,10 +565,12 @@ async function startManagedServer({ quiet = false } = {}) {
557
565
  const existing = readState();
558
566
  const existingSupervisorAlive = existing && isPidAlive(existing.supervisorPid);
559
567
  const existingNextAlive = existing && isPidAlive(existing.nextPid);
568
+ const effectivePort = optPort ?? cliArgs.port ?? existing?.port ?? process.env.PORT ?? "30141";
569
+ const effectiveHost = optHost ?? cliArgs.hostname ?? existing?.hostname ?? process.env.HOSTNAME ?? null;
560
570
  if (existingSupervisorAlive) {
561
571
  if (!quiet) {
562
572
  console.log(`annovibe start: already running pid ${existing.supervisorPid}`);
563
- console.log(`url: ${existing.url ?? getUrl(hostname, port)}`);
573
+ console.log(`url: ${existing.url ?? getUrl(effectiveHost, effectivePort)}`);
564
574
  console.log(`log: ${logFile}`);
565
575
  }
566
576
  return 0;
@@ -574,7 +584,7 @@ async function startManagedServer({ quiet = false } = {}) {
574
584
  removeState();
575
585
  }
576
586
  ensureAgentDir();
577
- const child = spawnDetachedServer();
587
+ const child = spawnDetachedServer({}, effectivePort, effectiveHost);
578
588
  if (!child.pid) {
579
589
  throw new Error("failed to start annovibe server");
580
590
  }
@@ -582,12 +592,12 @@ async function startManagedServer({ quiet = false } = {}) {
582
592
  const state = {
583
593
  schemaVersion: 1,
584
594
  version: VERSION,
585
- command: getServerCommand(),
595
+ command: getServerCommandFor(effectivePort, effectiveHost),
586
596
  supervisorPid: child.pid,
587
597
  nextPid: null,
588
- port: String(port),
589
- hostname,
590
- url: getUrl(hostname, port),
598
+ port: String(effectivePort),
599
+ hostname: effectiveHost,
600
+ url: getUrl(effectiveHost, effectivePort),
591
601
  logFile,
592
602
  stateFile,
593
603
  startedAt: nowIso(),
@@ -601,10 +611,13 @@ async function startManagedServer({ quiet = false } = {}) {
601
611
  return 0;
602
612
  }
603
613
 
604
- function spawnDetachedServer(extraEnv = {}) {
614
+ function spawnDetachedServer(extraEnv = {}, overridePort, overrideHost) {
605
615
  ensureAgentDir();
606
616
  const fd = fs.openSync(logFile, "a");
607
- const child = spawn(process.execPath, getServerArgs(), {
617
+ const serverArgs = overridePort != null
618
+ ? [getCommandPath(), "__server", "--port", String(overridePort), ...(overrideHost ? ["--hostname", overrideHost] : [])]
619
+ : getServerArgs();
620
+ const child = spawn(process.execPath, serverArgs, {
608
621
  cwd: fs.existsSync(getInstalledPackageDir()) ? getInstalledPackageDir() : pkgDir,
609
622
  detached: true,
610
623
  stdio: ["ignore", fd, fd],
@@ -690,9 +703,12 @@ if (firstPos === "start") {
690
703
  }
691
704
 
692
705
  if (firstPos === "restart") {
706
+ const existingState = readState();
707
+ const restartPort = cliArgs.port ?? existingState?.port ?? port;
708
+ const restartHost = cliArgs.hostname ?? existingState?.hostname ?? hostname;
693
709
  stopManagedServer(true).then(async (code) => {
694
710
  if (code !== 0) process.exit(code);
695
- process.exit(await startManagedServer());
711
+ process.exit(await startManagedServerWithPort(restartPort, restartHost));
696
712
  }).catch((error) => {
697
713
  console.error(`annovibe restart: ${error instanceof Error ? error.message : String(error)}`);
698
714
  process.exit(1);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seqyuan/annovibe",
3
- "version": "0.8.18",
3
+ "version": "0.8.20",
4
4
  "description": "AI-native bioinformatics workspace by Annoroad",
5
5
  "license": "MIT",
6
6
  "bin": {