refactor(agent): move workspace to ~/Documents/Multica

Hidden directory ~/.super-multica is not user-friendly for a working
directory. Move default workspace base to ~/Documents/Multica so
users can easily find agent-created files in Finder.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Jiang Bohan 2026-02-12 19:02:46 +08:00
parent 71433fc4ed
commit cb2dfd246f
3 changed files with 7 additions and 7 deletions

View file

@ -3,7 +3,7 @@ import fs from "node:fs";
import os from "node:os";
import path from "node:path";
import { resolveWorkspaceDir, ensureWorkspaceDir } from "./workspace.js";
import { DATA_DIR, DEFAULT_WORKSPACE_DIR } from "@multica/utils";
import { DEFAULT_WORKSPACE_DIR } from "@multica/utils";
describe("resolveWorkspaceDir", () => {
const originalEnv = process.env.MULTICA_WORKSPACE_DIR;
@ -16,13 +16,13 @@ describe("resolveWorkspaceDir", () => {
}
});
it("returns ~/.super-multica/workspace/default for default profile", () => {
it("returns ~/Documents/Multica/default for default profile", () => {
delete process.env.MULTICA_WORKSPACE_DIR;
expect(resolveWorkspaceDir()).toBe(path.join(DEFAULT_WORKSPACE_DIR, "default"));
expect(resolveWorkspaceDir({ profileId: "default" })).toBe(path.join(DEFAULT_WORKSPACE_DIR, "default"));
});
it("returns ~/.super-multica/workspace/{id} for named profile", () => {
it("returns ~/Documents/Multica/{id} for named profile", () => {
delete process.env.MULTICA_WORKSPACE_DIR;
const result = resolveWorkspaceDir({ profileId: "research" });
expect(result).toBe(path.join(DEFAULT_WORKSPACE_DIR, "research"));

View file

@ -1,7 +1,7 @@
import { mkdirSync, writeFileSync } from "node:fs";
import os from "node:os";
import path from "node:path";
import { DATA_DIR, DEFAULT_WORKSPACE_DIR } from "@multica/utils";
import { DEFAULT_WORKSPACE_DIR } from "@multica/utils";
/**
* Resolve the workspace directory for a given profile.
@ -20,7 +20,7 @@ export function resolveWorkspaceDir(options?: {
return path.resolve(options.configWorkspaceDir.replace(/^~/, os.homedir()));
}
// 3. Profile-based default: ~/.super-multica/workspace/{profileId}
// 3. Profile-based default: ~/Documents/Multica/{profileId}
const profileId = options?.profileId ?? "default";
return path.join(DEFAULT_WORKSPACE_DIR, profileId);
}

View file

@ -7,5 +7,5 @@ export const DATA_DIR = join(homedir(), ".super-multica");
/** Cache directory for downloaded media files */
export const MEDIA_CACHE_DIR = join(DATA_DIR, "cache", "media");
/** Default workspace directory for the default profile */
export const DEFAULT_WORKSPACE_DIR = join(DATA_DIR, "workspace");
/** Default workspace base directory: ~/Documents/Multica */
export const DEFAULT_WORKSPACE_DIR = join(homedir(), "Documents", "Multica");