Room to concentrate
The workspace should support the kind of attention a task requires.
Participants preferred a quiet room for sustained concentration.[1]
A place to focus made it easier to return to demanding work without rebuilding context.
Keep the board memo, project brief, or reference file alongside a useful description and tags. Resource memory gives your agent a way to find that material and retrieve the original when the next question comes up.
Resource memory
The workspace should support the kind of attention a task requires.
Participants preferred a quiet room for sustained concentration.[1]
A place to focus made it easier to return to demanding work without rebuilding context.
Show where an answer came from. Change pages in this example to explore the source and its corresponding citation.
Fictional research excerpt in an example reader. The application supplies text extraction, page navigation, and citations.
A summary is useful, but the original still matters. Resource memory keeps files with their names, content types, and metadata, so your agent can find relevant material and return to its source.
Search resource names, descriptions, and tags to find the material your application needs.
Attach tags such as project, customer, or reporting period to organize stored resources.
Retrieve stored resource data when you need to inspect the material behind a result.
Content types let your application distinguish a PDF from a spreadsheet or plain text.
Keep metadata and access history alongside the file, so its use can be inspected.
Use resource storage for files and other artifacts your application needs during its work.
List stored documents, select a resource, and retrieve its original data. Your application can extract document text for a richer search index while resource storage keeps the original file.
// Run server-side with credentials scoped to this Mind.
const endpoint = process.env.AKASHA_URL;
const capability = process.env.AKASHA_CAPABILITY;
if (!endpoint || !capability) throw new Error("Configure your Mind connection");
async function request(method: string, path: string, body?: unknown) {
const headers: Record<string, string> = {
"Content-Type": "application/json",
"x-akasha-capability": capability!,
};
if (process.env.AKASHA_TOKEN) {
headers.Authorization = "Bearer " + process.env.AKASHA_TOKEN;
}
const response = await fetch(new URL(path, endpoint), {
method, headers,
body: body === undefined ? undefined : JSON.stringify(body),
});
if (!response.ok) throw new Error("Mind request failed: " + response.status);
return response.json();
}
const documents = await request("POST", "/v1/memory/resources/type", {
kind: "document",
});
// Select an existing resource UUID from your stored documents.
const id = process.env.RESOURCE_ID;
if (!id) throw new Error("Choose a stored resource");
const resource = await request("POST", "/v1/memory/resources/get", { id });
const data = await request("POST", "/v1/memory/resources/data", { id });Keep the documents that matter in your Mind, ready for the next question.